1 of 40

Introduction to ImageJ

Getting Started with the ImageJ User Application

2 of 40

What is ImageJ?

  • Open source tool for scientific analysis
  • End user application, a tool for image science
  • Reusable set of libraries & shared framework for image analysis
  • Multiple ‘flavors’ of ImageJ…

ImageJ 1.x

ImageJ2

Fiji

3 of 40

What is ImageJ?

  • Open source tool for scientific analysis
  • End user application, a tool for image science
  • Reusable set of libraries & shared framework for image analysis
  • Multiple ‘flavors’ of ImageJ…

ImageJ 1.x

ImageJ2

Fiji

4 of 40

What is ImageJ1.x?

  • stable version of ImageJ which has been under continuous development since 1997
  • developed in 1997 as a cross-platform version of NIH Image
  • ImageJ includes the latest version of ImageJ1.x and a legacy layer for backwards compatibility
    • transparently converts between IJ1 and IJ data structures as needed

5 of 40

Fiji is just ImageJ

  • Is an image processing package—a "batteries-included" distribution of ImageJ
  • FOR USERS:
    • easy to install
    • has an automatic update function
    • bundles a lot of plugins
    • offers comprehensive documentation.
  • FOR DEVELOPERS:
    • open source project hosted in a Git version control repository
    • access to the source code of all internals, libraries and plugins
    • eases the development and scripting of plugins.

6 of 40

What can Fiji do?

Tracking

Segmentation

Big Data

Stitching

and more...

7 of 40

Learn how to fish...

8 of 40

Learn how to fish...

9 of 40

Learn how to fish...

10 of 40

Let’s open/run Fiji...

11 of 40

CTRL + L: Search Bar

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

12 of 40

The Main Window

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

Getting Started page of the ImageJ wiki

13 of 40

Staying Up-To-Date

14 of 40

Staying Up-To-Date

15 of 40

Opening Data…

Drag and Drop

File ▶ Open…

File ▶ Import

▶ Bio-Formats

16 of 40

Image Window

Zoom factor (use +/- keys)

Image Type

Image Size in physical units (and pixels)

Dataset positions

File ▶ Open Samples ▶ Mitosis (26MB, 5D Stack)

17 of 40

Bit Depth & Pixel Types

  • 8-bit = 256 levels
  • 12-bit = 4096 levels
  • 16-bit = 65536 levels

Qualitative/”Just looking”

Quantitative/Measurements

18 of 40

Lookup Tables (LUTs)

  • Image ▶ Lookup Tables
  • Image ▶ Colors ▶ Display LUTs

19 of 40

Helpful LUTs

Grays

HiLo

Royal

20 of 40

Get to Know Your Data…

  • File ▶ Open Samples ▶ Boats
  • Analyze ▶ Histogram

What would cause this histogram?

21 of 40

Profile Plots

  • File ▶ Open Samples ▶ Blobs (Shift + B)
  • Draw a line using the Line tool
  • Analyze ▶ Plot Profile

  • Image ▶ Stacks ▶ Plot Z-Axis Profile...

ImageJ User Guide: Plot Profile

22 of 40

2D Visualization

  • File ▶ Open Samples ▶ Mitosis (26MB, 5D Stack)
  • Image ▶ Lookup Tables ▶ Magenta
  • Image ▶ Color ▶ Channels Tool (Shift + Z)
  • Image ▶ Properties… (Shift + P)

23 of 40

2D Visualization: Brightness & Contrast

Defining grey value range to be visualized

  • File ▶ Open Samples ▶ Boats
  • Image ▶ Adjust ▶ Brightness/Contrast… (Shift + Command + C)

24 of 40

Thresholding

Isolate grey values of interest

File ▶ Open Samples ▶ Blobs (Shift + B)

Image ▶ Adjust ▶ Threshold…

Which method is best?

Image ▶ Adjust ▶ Auto Threshold, Try All

25 of 40

Regions of Interest (ROI)

  • File ▶ Open Samples ▶ Clown (14K)
  • Freehand selection tool
  • Circle the clown nose

  • Analyze ▶ Measure (Ctrl + M)

Can you draw the same exact circle on a new clown??

26 of 40

Regions of Interest (ROI)

  • Select a nose
  • Press T or Analyze ▶ Tools ▶ ROI Manager (Ctrl + T)
  • Select other clown image
  • Click the ROI in manager or Edit ▶ Selection ▶ Restore Selection

27 of 40

Segmentation in ImageJ...

“The process of partitioning a digital image into multiple segments”

An example workflow for segmentation:

  • Preprocess image(s)
  • Apply an Auto Threshold
  • Create and manipulate a mask
  • Create and transfer a selection from a mask to your original image
  • Analyze the resulting data

28 of 40

Trainable Weka Segmentation plugin

a Fiji plugin that combines a collection of machine learning algorithms with a set of selected image features to produce pixel-based segmentations

29 of 40

ImageJ Plugins...

What is a plugin?

A special-purpose software component that extends ImageJ’s functionality

There are four tiers of plugins:

  • Core ImageJ plugins (1000+)
  • Core Fiji plugins (1000+)
  • Plugins installable from Update Site.
  • Additional manually-installed plugins available from various online sources

30 of 40

Colocalization in ImageJ...

ImageJ Plugin = Coloc 2

  • pixel intensity correlation over space methods of Pearson, Manders, Costes, Li and more
  • scatterplots, analysis, automatic thresholding and statistical significance testing

31 of 40

Registration in ImageJ...

32 of 40

Registration in ImageJ...

33 of 40

Registration in ImageJ...

34 of 40

Registration in ImageJ...

35 of 40

Tracking in ImageJ

ImageJ Plugin = TrackMate

Single particle tracking plugin

Simple/sensible user interface

segmentation / filtering / particle-linking processes visualized in 2D or 3D

extensible...

36 of 40

3D Visualization in ImageJ

ImageJ Plugin = SciView

plugin for 3D visualization of images and meshes

Uses scenery as rendering backend

Supports rendering to VR headsets via OpenVR

37 of 40

Scripting in ImageJ

Why are scripts useful?

They facilitate 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

38 of 40

Scripting in ImageJ...

ImageJ Macro language

  • Less powerful
  • Easy to learn and use

39 of 40

The mission of ImageJ is...

Design

Create the next generation of ImageJ, driven by the needs of the community.

Collaborate

Work together across organizations, fostering open development through sharing + reuse.

Broaden

Make ImageJ useful and relevant across many disciplines of the scientific community.

Maintain

Preserve backwards compatibility with existing ImageJ functionality.

Unify

Provide a central online resource for the ImageJ community.

Lead

Drive ImageJ development forward with a clear vision.

40 of 40

Helpful Resources:

  • Help from the community - Scientific Community Image Forum:

  • ImageJ User Guides:

  • Additional workshops and presentations: