Here it’s my learning order of new technologies (nodejs, backbonehs, expressjs, and bootrap ) and use them to create a new website. I found this sequence is logical to me, and help me to learn step-by-step.
Recommended order to learn:
- To begin with , please install nodejs and expressjs in your eclipse, i.e. noeclipse:
- Learn nodejs. Go through these documents:
- Nodejs introduction: https://www.udemy.com/blog/learn-node-js/
- What is Nodejs: http://stackoverflow.com/questions/1884724/what-is-node-js
- Nodejs event loop: http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/
- Now: follow codeschool tutorials on this website to go over learning modules for nodejs: http://campus.codeschool.com/courses/real-time-web-with-node-js/contents
- (optional): afterward, you have good enough idea of what is going on, so you can advances your level by reading this book (borrow from me): http://www.amazon.com/Sams-Teach-Yourself-Node-js-Hours/dp/0672335956
- You probably have seen expressjs a bit, you can further your knowledge by reading this tutorials:
- Example: http://shapeshed.com/creating-a-basic-site-with-node-and-express/
- Example: http://coenraets.org/blog/2012/10/nodecellar-sample-application-with-backbone-js-twitter-bootstrap-node-js-express-and-mongodb/
- Learn backbonejs now:
- Alright, this is the last piece, read through the boostrap document to know how to style a website:
mipav is a powerful imaging tool developed by NIH (http://mipav.cit.nih.gov/), providing a lot of help in medical imaging analysis, such as registration, level set, segmentation, etc.
When I came across installing mipav(+plugins), I got a lot of problems. Installing mipav itself does not cause problem, the problem is that if you don’t install mipav correctly, you will get a lot of troubles in installing plugin (i.e., cannot install the plugin even though the plugin has no problems). Here it’s the brief flow.
1. Install mipav (from http://mipav.cit.nih.gov/).
NOTE: if you do sudo, your files will be installed in the root/ instead
2. Just follow ALL the default setting (i.e., where is the mipav/ folder is, where is the plugin folder is). If you choose the location, it’s fine for mipav running, but you will soon find out it cause problems in installing plugin. For example, the plugin folder will STILL placed in the ~/mipav/plugins. (For the shortcut, it’s fine)
3. Assume you are at ~. Open mipav and make sure there are no error messages. (WARNINGL mipav is very sensitive to if you are using sudo or not. If you don’t install with sudo, then you should just do ./MIPAV. Otherweise, the plugins folder will be automatically put into root, which is confusing)
4. Install JIST before TOADS-CRUISE). Follow this: https://masi.vuse.vanderbilt.edu/images/8/82/TR-MASI-10-01.pdf
HOWEVER, please note:
– After you download JIST in any folder and use mipav to install it, it will most likely show you error message: ” No plugins were installed, please select valid MIPAV plugin files”. This error message is misleading. When you go to the mipav/plugins, you will find the the folder is not empty and in fact when you open mipav, you will see under “Plugins” in the menu, you plugin is installed.
(NOTE: Sometime, you will find nothing in the plugin folder. After trial and errors, I find the solution: PUT YOUR jar FILE INTO THE PLUGIN FOLDER INsIDE MIPAV/. And then install the plguin from there. I think the problem is that for some reasons mipav is not able to find the decompressed files during installation. )
5. Then install TOADS-CRUISE following this: https://masi.vuse.vanderbilt.edu/images/8/82/TR-MASI-10-01.pdf
6. You are good to go.
(Please contact me if you have any questions: firstname.lastname@example.org) Good luck!
FSL is a famous tool for medical imaging analysis. Here are some notes.
(Note: Assume you are using ubuntu, and you use Debian repo to install fsl, which all the fsl softwares started with fsl5.0-“)
1. To open the FSL in terminal, type “fsl5.0-fsl”.
2. FSL only can view nii images, use dcm2nii to convert DICOM to nii.
(use software center to install dcm2nii)
3. Use FLIRT linear registration for image registration
4. 4D nii is a stack of 3D nii files along time (time-series data).
5. fsl5.0-flirt for 3D registration (fsl5.0-mcflirt for 4D registration)
6. Do Skull removal before brain registration.
7. Choose image with higher resolution as reference
How to combine multiple commits (in a local repository) into a single one and push it to public repositoryPosted: February 24, 2015
a. git branch xxx
b. git checkout xxx
c. do whatever changes you have and keep committing. Once you believe you finish a major change and want to push to origin master, do next step
d. git checkout master
e. git merge –squash master xxx
f. git commit
g. git pull origin master
h. git push origin master
DONE (can create a new branch and repeat the process again)
– brower is powered by Google V8 engine
– have call stack basically recall where we are in the program
– single thread ( it can only do one thing at a time)
– if there are too many components on the stack, then what if one thing is slow?
– we just wait one thing to be done and then another thing?….but we are doing in browser, if then the user has to keep waiting.
How to handle this?
Note: Stack is where your steps being processed. There a task queue to handle callback as well.
– WHen the operation has been completed, a message is enqueued along with the provided callback function. At some point in the future, the meesage is dequeued and the callback fired.
– WHen an asynchronous event occurs, it gets into the event queue.
– The browser has inner loop, called event loop, which checks the queue and processess events, executes function
-WHen there is a callback, it will be placed in to event table and then later move to event queue (after it is completed) . There is a process constantly checking if the call stack is empty, if so then it will checks if the event queue has any functions waiting to be invoked, if it does, then the first function will be invoked and moved over to the call stack. <– this is event loop
The answer is DEPENDS. When you have a lot of training data, it does not need to have pre-training step (unsupervised) because the weights eventually will converge to certain values. But if you don’t have much labeled data, then go ahead and do unsupervised pre-training.
See this: http://www.quora.com/When-does-unsupervised-pre-training-improve-classification-accuracy-for-a-deep-neural-network-When-does-it-not
1. Download Eclipse from official website.
2. Install npm (node package manager).
3. In eclipse, go to marketplace and download nodeclipse and all node-related packages.
4. Install express globally
$ npm install -g express-generator
$ npm install -g express 5. From eclipse, choose preferece --> nodeeclipse, make sure the path of node and express is correct, i.e., node: /usr/bin/node express: /usr/bin/express