User Tools

Site Tools


BIAS 2013: Syllabus

ImageJ basics (Day 1)

This module is made of two parts: the first part introduces the organization of the menus in Fiji, the basic objects that can be handled (images, stacks, selections) and basic image processing techniques (filtering, segmentation, intensity and geometrical measurements, mask analysis). The second part deals with the macro language and batch processing.

Basics of Handling, Processing and Analyzing Image Objects in ImageJ

Image File I/O and Image Formats

  • Importing single or series of 2D images
  • LOCI Bioformats Plugin: importing various microscopy file formats
  • ImageTypes
  • Bit-depth
  • Conversions of Bit-Depth
  • RGB splitting and merging
  • ImageJ native image formats (8-bit, 16-bit, …)
  • Stacks and hyperstacks, conversions

Using Region-Of-Interest (ROI)

  • Creating ROI
  • Open end ROIs
  • Closed end ROIs
  • Storing and Recalling selections
  • ROI manager
  • Performing measurements using ROIs
  • Measurements

Image manipulation

  • Modifying pixel value vs modifying the LUT display (LUTs, saturation, …).
  • Image Math

Image filtering

  • Filtering to enhance thresholding outcome
  • Linear filters
  • Principle of convolution
  • Gaussian blur for noisy image
  • Laplacian filter for convex objects
  • Rank order filters
  • Median filter as a strategy to avoid edge blurring
  • Morphological filters for mask cleaning or specific shape enhancement

Image segmentation

  • Global thresholding
  • Manual and automatic histogram based methods
  • Regional maxima and watershed.

Post-processing of Masks

  • Mask cleaning
  • Distance map
  • Watershed based particle splitting
  • Skeletonization

Connected Regions and Particles Analysis

  • Particle Analysis
  • 3D objects counter

Writing ImageJ Macros for Efficient Processing and Analysis

  • Macro editor and recorder.
  • User interactions: getNumber, getString and Dialog boxes
  • User interruption: waitForUser
  • Variables
  • User-defined Functions, Passing arguments
  • Calling a plugin from a macro
  • Loops and conditional execution
  • File browsing and batch processing

Simple example macros (possible candidates):

  • Perform image measurements on a regular grid.
  • Sequentially open all images inside a folder, find particles and color code them based on their area or shape, save resulting RGB image to file.
  • Extracting Nucleus Rim to Measure Intensity Dynamics (Kota: might not have enough time, takes three hours)

Matlab basics (Day 3)

The matlab basics module introduces the tools we need for the applications on days 3 and 4. We get familiar with the matlab programming environment and learn the basics about variable types, calculations and matrix operations. In small applied projects, we import and visualize a time lapse image sequence by using a for loop and the imread function. We visualize the grey value histogram, normalize and filter images and detect image objects by thresholding. We extract image object features and visualize them by using the plot function.

  • Matlab environment: command line, workspace, script editor
  • Variable types
  • Working with matrices
  • Basic calculations
  • Loops
  • Importing images and visualizing images with imread
  • Image normalization
  • Plotting the grey value histograms of raw and normalized images
  • Detecting image objects by thresholding and using bwlabel
  • Calculation of image object features with regionprops
  • Visualization of different image object features by scatter plot in 2D parameter space

Applications (Day 2, 3 & 4)

P1: Statistical Analysis of Microtubule Orientation


Regulation of cytoskeletal orientation is a basic mechanism for controlling cell polarity. Using ImageJ and R, we explore strategies for quantifying EB1 movement along microtubule within cultured cells. Students learn how to measure directionality of movement in image sequences by a combined use of tracking tools in ImageJ and statistical analysis using R.

Input Data

2D time series of a single cultured cell, EB1 labeled.


ImageJ Plugin (ParticleTracker) + R (0.5 : 0.5)


Details: Link


Scheduled on: Day 2
Main Contributor: Kota

P4: FISH spots counting in human spermatozoids


Batch processing with ImageJ macro, spot detection, results handling. Write an ImageJ macro to detect the spermatozoids nuclei and count the number of FISH spots inside each of them in three different channels.

Input data

Tiling of a part of the sample with motorized confocal microscope (Leica SP5): 9 fields of view (5 z planes, 4 channels: DAPI + 3 channels for different FISH signals).


ImageJ Macro (1.0)


  1. Detection of the candidate nuclei
    • Spatial filtering
    • MIP
    • Global/local thresholding
    • Particle analysis
  2. Detection of the candidate spots inside the nuclei
    • Laplacian filtering
    • MIP
    • Experiment different strategies for spot detection
      1. remove outliers
      2. FindPeaks plugin
  3. Results management
    • Overlay the detected spots over the MIP images
    • Overlay the detected nuclei with a color code according to the number of spots detected in each channel
    • Select the nuclei checking some given combinations of spot multiplicity per channel


Scheduled on: Day 2
Main Contributor: Sebastien

P5: Quantitative evaluation of muticellullar movement in Drosophila


Introduce the concept of tracking. Describe the ImageJ “particle tracker” plugin and discuss its limitations for object tracking. Introduce a simple method for cell tracking. Plot of area distributions across time. Number of neighbors and vertex model.

Input data

Cadherin expressing drosophila embryo tissue. MIP of spinning disk movies.


ImageJ Macro + Matlab (0.5 : 0.5)


  1. ImageJ macro: detection of candidate cells
    • Laplacian filtering
    • Detection of regional maxima
    • Watershed from regional maxima
    • Optional step: suppress weak segments
      • segmentation mask (labels)
  2. Object tracking
    • Overlap based tracking
    • Refinements
  3. Vertices extraction
    • Analyze skeleton
    • Associate vertices to cells: compute and represent the velocity field of the vertices
  4. Optional: Comparison with a PIV analysis (Matlab)
  5. Optional: Introduce the vertex model


Scheduled on: Day 3
Main Contributor: Sebastien

P7: 3D visualization and quantification of Blood Vessels inside a Subcutaneous Tumour


Filament segmentation and analysis of a complex 3D network. Scripting of the 3D viewer. Write an ImageJ macro to automatically segment the blood vessels and extract statistical information like the number of branching points, total length of the sub-networks and average thickness of the vessels.

Input data

3D stack of a subcutaneous tumor (lectin stained blood vessels) acquired with a custom SPIM.


ImageJ Macro (ImageJ + Matlab) 0.8 : 0.2


  1. Pre-processing
    • Tubeness filter to enhance tube-like objects
    • Grayscale morphological filtering (fill hollow tubes, ensure linking of weak segments)
  1. Segmentation
    • Local thresholding
    • 3D object analysis (connectivity –> sub-networks)
  1. Measurements
    • Skeletonization
    • Skeleton analysis –> branching points, network length, average thickness
  1. Visualization
    • Interaction with the 3D viewer to visualize the results
    • Optional: selection of sub-volumes for high resolution display (large dataset)
  1. Geodesic weight map (optional)
  2. Explain the concept of geodesic distance map
  3. Matlab: Find the minimum geodesic path between two points
  4. Application to filament tracing
  5. ImageJ simple neurite tracer plugin


Scheduled on: Day 4
Main Contributor: Sebastien

P9: Cell migration polarity 2: Automated Classification of Dynamics of Actin Cortex Components


Cell migration is driven by polarized dynamics of the actin cytoskeleton and connected focal adhesion sites. In the following project, we learn how to classify detected image objects (focal adhesions) due to different object features (amongst others: actin flow above focal adhesions) by data mining techniques.

Input data

  1. 6min timeseries of a migrating cell in low temporal resolution. Focal adhesions (red) are imaged in epifluorescence
  2. 70s timeseries of the same migrating cell in high temporal resolution, imaged immediately after movie 1. Actin (green) is imaged in TIRF.


ImageJ + Matlab (0.5 : 0.5)


  1. Detecting of focal adhesions in imageJ:
    • Convolution & Filtering
    • Background Subtraction
    • Watershed segmentation
    • Export of mask images
  2. Measurement of actin flow with imageJ:
    • Quantification of actin flow in a timeseries by PIV analysis
    • Calculation of a mean actin flow velocity image
    • Export of the mean actin flow velocity image
  3. Measurement of focal adhesion object features with Matlab:
    • Import of focal adhesion mask images
    • Tracking of focal adhesion objects (simple assignment by spatial overlap of masks using bwlabel command)
    • Import of mean actin flow velocity image
    • Calculation of following features for each focal adhesion object:
      • mean actin flow velocity above focal adhesion
      • focal adhesion size
      • focal adhesion growth rate
  4. Classification of focal adhesions with Matlab:
    • Visualization of different focal adhesion classes with scatter plots in 2D parameter space
    • Classification in 2 classes by kmeans algorithm:
      1. Stable and large focal adhesions with strong actin coupling (=low actin flow)
      2. Dynamic and small focal adhesions with weak actin coupling (=high actin flow)
    • Plotting of focal adhesion object positions, color-coded by class, on original image data: Where are focal adhesion type 1 and type 2 located inside the cell?

important matlab functions

  • imread
  • bwlabel
  • regionprops
  • kmeans
  • plot
  • hist
  • imshow/image


Scheduled on: Day 4
Main Contributor: Christoph

shared/bias2013/syllabus.txt · Last modified: 2016/05/24 12:46 by

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki