BIAS 2014: 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)
Image manipulation
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
Post-processing of Masks
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
Task
Regulation of cytoskeletal orientation is a basic mechanism for controlling cell polarity. Using ImageJ and R (or Matlab, we are still discussing), 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.
2D time series of a single cultured cell, EB1 labeled.
Software
ImageJ Plugin (ParticleTracker) + R (0.5 : 0.5)
Workflow
Misc
Scheduled on: Day 2
Main Contributor: Kota
P4: FISH spots counting in human spermatozoids
Task
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.
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).
Software
Workflow
Detection of the candidate nuclei
Detection of the candidate spots inside the nuclei
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
Misc
Scheduled on: Day 2
Main Contributor: Sebastien
P5: Quantitative evaluation of muticellullar movement in Drosophila
Task
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.
Cadherin expressing drosophila embryo tissue. MIP of spinning disk movies.
Software
ImageJ Macro + Matlab (0.5 : 0.5)
Workflow
ImageJ macro: detection of candidate cells
Laplacian filtering
Detection of regional maxima
Watershed from regional maxima
Optional step: suppress weak segments
Object tracking
Overlap based tracking
Refinements
Vertices extraction
Optional: Comparison with a PIV analysis (Matlab)
Optional: Introduce the vertex model
Misc
Scheduled on: Day 3
Main Contributor: Sebastien
P7: 3D visualization and quantification of Blood Vessels inside a Subcutaneous Tumour
Task
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.
3D stack of a subcutaneous tumor (lectin stained blood vessels) acquired with a custom SPIM.
Software
ImageJ Macro (ImageJ + Matlab) 0.8 : 0.2
Workflow
Pre-processing
Tubeness filter to enhance tube-like objects
Grayscale morphological filtering (fill hollow tubes, ensure linking of weak segments)
Segmentation
Measurements
Visualization
Geodesic weight map (optional)
Explain the concept of geodesic distance map
Matlab: Find the minimum geodesic path between two points
Application to filament tracing
ImageJ simple neurite tracer plugin
Misc
Scheduled on: Day 4
Main Contributor: Sebastien
P9: Cell migration polarity 2: Automated Classification of Dynamics of Actin Cortex Components
Task
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.
6min timeseries of a migrating cell in low temporal resolution. Focal adhesions (red) are imaged in epifluorescence
70s timeseries of the same migrating cell in high temporal resolution, imaged immediately after movie 1. Actin (green) is imaged in TIRF.
Software
ImageJ + Matlab (0.5 : 0.5)
Workflow
Detecting of focal adhesions in imageJ:
Convolution & Filtering
Background Subtraction
Watershed segmentation
Export of mask images
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
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:
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:
Stable and large focal adhesions with strong actin coupling (=low actin flow)
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