1 of 42

Introduction to the ImageJ Ecosystem

Eliceiri Lab / LOCI

https://eliceirilab.org/

2 of 42

Outline

  • What is ImageJ?
    • Understanding the ImageJ/Fiji family
  • What can ImageJ/Fiji do?
    • Plugins: Biovoxxel, StarDist etc
    • Scripting and automation
  • ImageJ on other platforms
    • PyImageJ
    • KNIME
  • Learning more about ImageJ/Fiji
    • Online resources
  • Additional resources

3 of 42

What is ImageJ?

  • Primarily* a desktop application for scientific image analysis
  • Open source with strong community support
  • Written in Java, enabling ImageJ to run in diverse computing environments
  • Reusable set of libraries and shared framework for image analysis
  • Multiple “flavors” of ImageJ:

* ImageJ2’s headless feature allows ImageJ2 to run on distributed computing networks

4 of 42

What is ImageJ?

  • Stable version of the original ImageJ (1.x) has been maintained since 1997.
  • ImageJ2 is a modernization and re-architecting of the original ImageJ (1.x)
  • The ImageJ Legacy Layer maintains backwards compatibility between ImageJ2 and ImageJ (1.x)
  • Fiji is a “batteries included” distribution of ImageJ2

Wayne Rasband

5 of 42

What is Fiji?

Fiji Is Just ImageJ

  • Includes a collection of ~150 ImageJ plugins
  • Advantages for end users:
    • Easy to install (Linux, MacOS, Windows)
    • Automatic updates
    • Comprehensive documentation
  • Advantages for developers:
    • Open source project
    • Highly extensible
    • Expanded language support (Groovy, Python, JavaScript, . etc…)

6 of 42

The Main Window

Getting Started page of the ImageJ wiki

  • Tip: click on the status bar
  • Tip: right / double-click on Tools

Menu

Tools

Status

Search

7 of 42

CTRL + L: Search Bar

Edit ▶ Options ▶ Search Bar... ▶ Pressing L focuses the search bar

8 of 42

Staying Up-To-Date

9 of 42

Staying Up-To-Date

Not this one!

10 of 42

Staying Up-To-Date

11 of 42

Opening Data…

Drag and Drop

File ▶ Open…

File

▶ Import

▶ Bio-Formats

12 of 42

What can Fiji do?

Stitching

Big Data

Segmentation

Tracking

13 of 42

General image processing with Biovoxxel

BioVoxxel Toolbox

14 of 42

MorphoLibJ

Features:

  • Morphological filtering for 2D/3D and binary or grey level images: erosion & dilation, closing & opening, morphological gradient & Laplacian, top-hat, etc…
  • Morphological reconstruction for 2D/3D and binary or grey level images, allowing fast detection of regional or extended extrema, border removal, hole filling, attribute filtering, etc…
  • Watershed segmentation + GUI, making it possible to segment 2D/3D images.
  • 2D/3D measurements: photometric (intensity) and morphometric measurements such as volume, surface area, inertia ellipse/ellipsoid, etc…
  • Binary / label images utilities for removing or keeping largest connected component, perform size opening, fill holes, remove borders, etc…

15 of 42

TrackMate

Features:

  • Single particle tracking
  • Simple/intuitive interface
  • Segmentation, filtering, particle-linking process visualized in 2D or 3D.

16 of 42

Trainable Weka Segmentation

Features:

  • A Weka machine learning based plugin that produces pixel-based segmentation results.
  • Can segment 2D and 3D data.

17 of 42

StarDist

Features:

  • Detects cell/nuclei with star-convex shape priors (i.e. “circular” objects)
  • Can be used to apply pre-trained models to new 2D/2D+time images.
  • Full featured Python package for training new models and 3D data

18 of 42

Coloc 2

Features:

  • Pixel intensity correlation over space methods of Pearson, Manders, Costes, Li and more
  • Scatterplots, analysis, automatic thresholding and statistical significance testing
  • Supports ROIs.

19 of 42

Registration...

20 of 42

Registration...

21 of 42

Registration...

22 of 42

Registration...

23 of 42

Scripting and automation

Why use scripts?

  • Reproducible science
  • Document your work
  • Automate your analysis
  • Share with the world

Supported Languages:

Groovy, ImageJ Macro, Python(Jython), JavaScript, Ruby(JRuby), Lisp(Clojure), R(Renjin), Java, Matlab, BeanShell, Scala

24 of 42

Scripting and automation

ImageJ Macro language:

  • Less powerful
  • Easy to learn and use

ImageJ Macro Recorder

https://imagej.net/scripting/macro#the-recorder

Built-in Macro Functions list

https://imagej.net/ij/developer/macro/functions.html

25 of 42

ImageJ on other platforms

26 of 42

PyImageJ: A library for integrating ImageJ and Python

  • A Python based package that integrates ImageJ into the Python ecosystem.
  • Use ImageJ (and plugins) with Python packages like: NumPy, SciPy, scikit-image, CellProfiler, OpenCV, ITK and more
  • Full support for existing macros and scripts in all supported languages.
  • Headless and interactive modes.

Rueden et al. Nature Methods 2022

27 of 42

ImageJ integration in Konstanz Information Miner (KNIME)

  • Java-based program
  • Robust image analysis operations
  • Supports macros, scripts and plugins
  • Java-based program
  • Intuitive visual workflow model for programing
  • Powerful data organization tools

28 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

  • Connect nodes to flow data between ImageJ functions
    • Intuitive user interface
  • Powerful data frame tools (similar to pandas)
    • Transpose
    • Join
    • Concatenate
  • Macro and script support
    • Use your existing macros and scripts
  • Live data interrogation
    • Examine your data at any point in the workflow
  • Discover and share workflows on the KNIME Hub
    • https://hub.knime.com/

Evans et al. Viruses 2022

29 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

Evans et al. Viruses 2022

30 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

Evans et al. Viruses 2022

31 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

Evans et al. Viruses 2022

32 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

Evans et al. Viruses 2022

33 of 42

Example workflow: Nuclear Ring Segmentation, Analysis and Tracking (NR-SAT)

Evans et al. Viruses 2022

34 of 42

Where to learn more?

35 of 42

Search on imagej.net to learn more about your topic

36 of 42

The original ImageJ documentation at imagej.org

  • Original ImageJ user guide
  • Extensive documentation on commands and macros
  • Tutorials, examples, image processing guides

37 of 42

Learn and teach others on the image.sc forum

38 of 42

ImageJ and more on the forum!

  • There is more than just ImageJ help on the forum!
  • Have a basic image processing question? Ask the forum!

39 of 42

Center for Open Bioimage Analysis

40 of 42

COBA: Driving Biological Projects

  • Check out what we do!
  • Download and use macros, scripts and workflows
  • Collaborate with us!

41 of 42

BioImaging North America (BINA)

6 Working Groups: Communications, Corporate Partners, Diversity, Equity & Inclusion, Image Informatics, Quality Control & Data Management, Training & Education

www.BioImagingNorthAmerica.org/join

contact@bioimagingna.org

@BioimagingNA

Events and Newsletter each month!

Mission: Engaging bioimaging scientists across North America by creating an inclusive and supportive community to share, advance and succeed together.

42 of 42

Acknowledgements

Eliceiri Lab

Curtis Rueden

Mark Hiner

Gabe Selzer

and more…

Curtis Rueden

Mark Hiner

Funding:

  • Morgridge postdoctoral fellowship
  • Center for Open Bioimage Analysis (COBA)

Gabe Selzer

Ed Evans