Smart Projector

Author: Fanny Serman, Institut Curie, Paris (France), fanny (dot) serman (at) gmail (dot) com
History: 2009/03/31: first version
2009/04/07: supplementary options (normalize, tracking, other peaks in the calculated function)
Requirements: works with ImageJ 1.40 or later
Source: Smart_Projector.java
Installation: Download Smart_Projector.class to the plugins folder and restart ImageJ.
Limitations: works with stacks of 8-bit and 16-bit gray images, either .tiff, .STK, .lsm
(should work with all gray stacks handled by the Class Opener - and the plugin HandleExtraFileTypes - but not tested yet).
Each time in your film must be in an independant file (film_t1.tif, film_t2.tif...). If all your film is concatenated in a single file, you must first split it with Stack_splitter.
Description: This plugin is developed to optimize for each time point the projection of Z-stacks acquired by time-lapse microscopy.

For each slice of a stack, the plugin will calculate the function "focus_index" whose maxima should correspond to the sharpest structures in the stack. If your stack corresponds to a thin and simple specimen, the focus_index will have only one maximum along the Z axis (which will be in most cases the structure you really want to see and not the noise you have acquired under and above your tissue / organ...). Projection can be made using this maximum (= "autofocus" slice) with different options :

- around the autofocus: the given parameter is the number of slices projected around the maximum (3 or 4 will correspond to the projection of 3 slices : the one with the maximal focus_index, one before and one after). If you select the tracking option, it will restrict the calculation of the focus_index to the +/- n slices around the position of the maximum calculated at the previous timepoint. You can force the first position +/- n slices ("force beginning slice") in order to restrict the calculation from the beginning (by default "beginning slice" is put to zero to search in the entire first Z-stack).

- near a % of the autofocus: keeps for the projection all the slices which have a focus_index at least equal to a certain percentage of the maximum (can give some rough results if other options do not work)

- around the first (resp. second) peak of autofocus: sometimes two structures are recognised (for example membranes and nuclei) and this option forces the program to keep only the first (resp. second) maximum and to project around it (the % parameter is used to calculate the treshold above which the second maximum will be taken into account : treshold = (1 - parameter/100) x firstmaximum )

When you launch Smart_Projector, the plugin asks you to open one file among your selected directory (as in the Import>ImageSequence command of ImageJ). You give then the number of different stacks you want to proceed, the kind of projection (same options as in the Z-project plugin of ImageJ) and the options of projection (see example).

Function focus_index: [Screen Shot Function]
The kernel used to convolve images for the numerator of the function is a simple derivative filter [-1 0 1].
Options:

Project all stack: you can avoid all calculation by choosing to project all slices of each Z-stack. It can be handy if you have several kind of stacks (with different number of slices in each) and can't directly use Concatenate_ and Grouped_ZProjector to compile your film. Can help too if your files are too big to be all concatenated because this plugin will handle each one separately.

Normalize: use only the numerator of the function focus_index (it can help if there are very dark slices among bright ones).

Example: [Screen Shot Opening] [Screen Shot Plugin] [Screen Shot Filmnames] [Screen Shot Proceeding]
See also: For more information about focus_index, see " Digital autofocus methods for automated microscopy", Shen F, Hodgson L, Hahn K., Methods Enzymol. 2006;414:620-32.

|Plugins | Home |