ImageJ Tutorials and Demo

Welcome to the ImageJ tutorial series. These notebooks offer a hands-on series of lessons for learning ImageJ.

  • For a quick demo of what ImageJ can do, just scroll down!

  • To dive in to the tutorials, click the links below. If ImageJ is new to you, please try the "Using ImageJ" notebooks first.

  • For a thorough academic overview of the ImageJ software stack, including its features, history, motivation and goals, see:

    Rueden CT et al. "ImageJ2: ImageJ for the next generation of scientific image data." BMC Bioinformatics 18:529 (29 November 2017).

  • Learn more about ImageJ at imagej.net. Learn more about Jupyter Notebook at jupyter.org.

Feedback is very welcome! Please share your ideas on the ImageJ Forum!

3. Advanced usage

  1. Under the hood: SciJava (incomplete)
  2. Under the hood: ImgLib2
  3. ImgLyb: ImgLib2 + scikit-image
  4. Under the hood: ImageJ (coming later)
  5. Under the hood: SCIFIO (coming later)

4. Advanced extensions

  1. Writing a reusable op (coming later)
  2. Creating a custom service (coming later)
  3. Customizing module execution (coming later)
  4. Creating a SCIFIO plugin (coming later)

ImageJ Demo

In [1]:
#@ImageJ ij

// Behind a firewall? Configure your proxy settings here.
//System.setProperty("http.proxyHost","myproxy.domain")
//System.setProperty("http.proxyPort","8080")

"ImageJ is ready to go."
Out[1]:
ImageJ is ready to go.

Load some images

In [2]:
sourcePath = "http://imagej.net/images"
//sourcePath = System.getProperty("user.home") + "/data"
cells = ij.io().open(sourcePath + "/FluorescentCells.jpg")
mandrill = ij.io().open(sourcePath + "/baboon.jpg")
[["cells":cells, "mandrill":mandrill]]
[INFO] Populating metadata
[INFO] Populating metadata
[INFO] Populating metadata
[INFO] Populating metadata
Out[2]:
cellsmandrill