# Image Processing and Analysis @EMBL

Trace:

### Index

 RT @openmicroscopy: #ImageJ User and Developer Conf, Madison, Sept 3-4: http://t.co/sIanaYE6Xv Good beer, cheese, ice cream and imaging! About 14 hours, 28 mins ago by: Kota Miura (@cmci_) @ManuelTHERY not sure if that would be a good reason... I'd be interested to see whether vesicles keep externally forced shape. About 18 hours ago by: Kota Miura (@cmci_) @ManuelTHERY do vesicles change their shape? About 19 hours, 52 mins ago by: Kota Miura (@cmci_) @christlet @LICORcancer maybe it's the big bang! About 19 hours, 53 mins ago by: Kota Miura (@cmci_) RT @PavelTomancak: #BigDataViewer & #ClearVolume visualisation tools for lightsheet data & more @naturemethods http://t.co/eRreTcwtlk , http… About 1 day, 3 hours ago by: Kota Miura (@cmci_) ”stone age”!!! https://t.co/8MotrbUOe3 About 1 day, 4 hours ago by: Kota Miura (@cmci_)

# CMCI ImageJ Course Textbooks

Textbooks were first used in 2006 and then progressively updated since then. As the evolution of ImageJ seems to never stop, the textbooks will continue to be updated. Please come back to this page if you want to get the latest version.

Copyright is reserved and download is free for non-commercial purpose. If you want to use these textbooks for charged-courses or commercial purpose, please tell me so I can charge you :). If there is any chance please acknowledge the author whenever you could.

## Basics of Image Processing and Analysis

Basic course aims at biological researchers to learn basic knowledge and handling of image data using ImageJ. The textbook covers following topics:

• Basics of Basics
• Intensity
• Filtering
• Segmentation
• Analyzing Time-Series

Click the textbook image to download the PDF (app. 5Mb., 156 pages).

If you want to contribute to the textbook, you could fork the textbook project from its github page and work on it. You could then request a pull to me.

Otherwise, if you find mistakes (I know there should be a lot), just post your suggestion as a “new issue” at

## Macro Programming in ImageJ

Macro programming course primarily aims at making biologist's life easy by scripting iterative tasks. By writing ImageJ macro, you could automate many time-consuming tasks. A glance of textbook chapters:

• Why do we write macro?
• Basics
• Conditions and Loops
• File I/O
• Secondary Measurements
• Using Javascript

Click the text book image to download the textbook (ca. 1.6Mb, 126 pages).

If you want to contribute to the textbook, you could fork the textbook project from github page and work on it. You could then request a pull to me.

Otherwise, if you find mistakes (I know there should be a lot), just post your suggestion as a “new issue” at

### syntax highlighter

I recommend Fiji script editor for beginners to edit macro. But for those who prefer to use external editors, IJ macro syntax highlighter add-on for Vim, Notepad++(Windows) and CotEditor (OSX) are available at:

With Vim, the script also allows auto-completion of commands.

## Misc

Textbooks have been used for teaching in following countries:

• Germany
• Finland
• Italy
• Spain
• Sweden
• Singapore
• Belgium
• Greece
• Austria
• Switzerland
• Japan

## Discussion

, 2013/07/10 15:41

sir, i would like to know wether it can be used in measuring bone density as done by ct ??

, 2014/04/01 08:16

Hello sir,i am tried a lot with Image J to quantifying the IHC images, but unable to estimate ,can you suggest the proper way for this.

, 2014/04/02 13:16

Sir,Can we find the measurement of Trichomes on the plant stems or leaves?Bold Text

, 2014/05/21 22:57

Hello, I am trying to use the batch processing to process a group of images with a macro that I recorded that allows me to make a substack and then do a z projection I have copied the macro I was recording below. However, when I try to evaluate the line that starts with “for” it gives me an error message that there is an undefined variable in line 1 and it shows <list>. Could you please help me figure this out or if you have any better suggestions I would really appreciate your input.

dir1 = getDirectory(“Choose Source Directory”); dir2 = getDirectory(“Choose Destination Directory”); list = getFileList(“dir1”) ; setBatchMode(true); for (i=0; i<list.length; i++) {

  showProgress(i+1, list.length);
open(dir1+list[1];
run("Make Substack...", "  slices=1-8");
selectWindow("Substack (1-8)");
run("Z Project...", "projection=[Max Intensity]");
saveAs("Tiff", "dir2+list[1];
close();
, 2014/05/26 22:53

Sofia, list = getFileList(“dir1”)

should be

list = getFileList(dir1)