last modified 20/03/2011
Particle Tracking Benchmark Generator version 1.0
Author: Nicolas Chenouard
This software aims at providing easy-to-use yet powerful tools to automatically create realistic synthetic image sequences of fluorescent particles in 2D/3D + time microscopy. It was originally designed to help evalutating the performance of various particle tracking methods in a reliable way. For instance it was used to create the image sequences used to generate the results presented in . The plugin lets you generate some sets of 2D+T and 3D+T images, which we call benchmark, thanks to configuration text files. The configuration files can be modified online and/or loaded from a local source. A large number of configuration files can be loaded and run in one click. The output of the plugin is a set of image sequences and their associated TrackGroups which can be directly displayed through the Icy GUI with the trackmanager plugin  and/or saved on a local storage device. Through the GUI the access has been limited to the most commonly used settings. However, more general and flexible tools can be found in the package (such that various models of point spread functions (PSFs), or generic types for target motion or PSF). We encourage people to use/inherit/override these tools for specific needs.
Graphical User Interface (GUI) description
The GUI is divided in two main parts: the tool bar and the configuration text area.
The tool bar groups the whole set of functions that can be performed with benchmark configurations.
- switch to default 2D / switch to default 3D combobox: replaces and displays the default 2D/3D benchmark configuration shipped with the plugin. This default configurations aim at providing an exhaustive list of parameters for the configurations, showing the standard form of a configuration file, and giving some examples of realistic parameters values.
- run button: executes the configuration file displayed in the text area.
- load file button: loads a configuration file (text file) and display it in the text area.
- run files button: executes several configuration files from a local source.
- help button: displays the manual of the plugin
The text area contains the description of the benchmark configuration. The standard is to write the name of the parameter at the beginning of a line, then a space, and the value of the parameter. For instance:
is a valid statement of the value sampleValue for the parameter sampleParameter.
Parameter list and valid values
We give here the parameters list along with their feasible values and their meaning. For the feasible values, we denote float values with a dot, ex: >=1. indicates a float value greater or equal to 1, while >=1 indicates an integer value greater or equal to 1. We indicate by the symbols '[' ']' a parameter value which can be a table of values. For instance
numInitParticles 1 0 4
is a valid setting for the parameter described as:
Note that the order of the parameters does not matter and that for duplicated parameters the last declaration only will be accounted for. In the default configuration the parameters are however grouped by type.
First parameters related to the benchmark settings are declared:
|numBenchs||>=1||number of sequences to generate|
|saveDir||any string||local address of the directory where to save the benchmark|
|saveSequences||true, false||save images and tracks|
|displaySequences||true, false||display the sequences through the Icy GUI|
Then the sequence settings are given
|numBenchs||>=1||number of sequences to generate|
|dim||2,3||dimension of the image stacks|
|seqLength||>=1||length of the image sequence|
|width||>=1||width in pixels of each stack|
|height||>=1||height in pixels of each stack|
|depth||>=1||depth in pixels of each stack|
|scaleZ||>0.||ratio of the pixel size along the Z direction and the X direction|
|imageType||double, int, short, ushort, float||type of the image to save/display (see the TypeUtil class)|
The particles description is then given:
|numParticleGroups||>=1||number of groups of particles with different settings|
|numInitParticles||[>=0]||initial number of particles for each particle group|
|numNewParticlesPerFrame||[>=0.]||average number of new particles per frame for each particle group|
|pDisappear||[0.-1]||probability of disappearing for the particles of each particle group|
|sigma_bMax||[>=0.]||maximum standard deviation (pixel/frame) of the Brownian motion for the particles of each particle group|
|sigma_bMin||[>=0.]||minimum standard deviation (pixel/frame) of the Brownian motion for the particles of each particle group|
|sigma_directedMin||[>=0.]||minimum standard deviation (pixel/frame) of the Brownian motion for the particles with a directed motion of each particle group|
|sigma_directedMax||[>=0.]||maximum standard deviation (pixel/frame) of the Brownian motion for the particles with a directed motion of each particle group|
|vMin||[>=0.]||minimum velocity (pixel/frame) of the directed motion for the particles with a directed motion of each particle group|
|vMax||[>=0.]||maximum velocity (pixel/frame) of the directed motion for the particles with a directed motion of each particle group|
|p_db||[0.=.=1.]||probability of switching from a directed motion to a Browian motion at each frame of each particle group|
|p_bd||[0=1]||probability of switching from a directed motion to a Browian motion at each frame of each particle group|
|iMin||[>=0.]||minimum particle intensity for particles of each group|
|iMax||[>=0.]||maximum particle intensity for particles of each group|
The last section is concerned with the image quality settings:
|PoissonNoise||true, false||apply a Poisson noise to the pixel values|
|backgroundPoisson||>=0.||mean value of the constant Poisson background|
|gain||>=0.||gain to apply to the Poisson modified intensities|
|GaussianNoise||true, false||add a random white Gaussian noise to the pixel values|
|meanGaussian||-inf.= .=inf.||mean value of the Gaussian noise|
|stdGaussian||>=0.||standard deviation of the Gaussian noise|
We refer to the next section for the description of the image generation process and the particle tracks construction procedure.
The plugin will automatically check the validity of the values of the specified and warn the user if any inappropriate value is detected. It is important to note at this point that the plugin will automatically use the default value for a parameter if this one is not defined in the configuration file. This feature allows for more concise configuration files.
Synthetic image generation
Our model of image follows a Mixed Poisson-Gaussian model which fits to fluorescent microscopes (DSCM, LSCM, WFFM) [1, ch. 1]. It pointwise consists of
I[x,y,z] = gain*U[x,y,z] + N(x,y,z)
with I[x,y,z] the intensity value measured at the pixel location [x,y,z]. U is a Poisson with a spatially varying mean lambda[x,y,z]. lambda[x,y,z] is the sum of the intensity of the particles generated in [x,y,z] and the background value at this location (backgroundPoisson). U is then scaled by the gain of the acquisition system.
We assume an additive model for the intensity of the particles. The intensity of each particles follows a spatial Gaussian distribution (Gaussian approximation of the PSF ) with a mean intensity uniformly sampled in the range [iMin iMax].
N[x,y,z] is an additive and white Gaussian noise term of mean meanGaussian and standard deviation stdGaussian.
The procedure used to generate particle tracks follows the method described in [1. chap.7.6]. We summarize it here. First, it is assumed that different sub-populations of particles with different motion and appearance settings exist. The number of particle groups is defined through the parameter numParticleGroups. Different parameter values for each particle group can be defined by specifying a list of values instead of a single value. If a single value is given it is used by default for all the groups.
We assume that each particle can randomly disappear (permanently) between two frames. The probability of this event is controlled by the parameter pDisappear.
Particles can also appear in the sequence between two frames. The number of new particles at each frame is assumed to be a random Poisson process with mean numNewParticlesPerFrame. New particles are spatially uniformly distributed in the current image stack.
The particle motion is assumed to be a probabilistic mixture between two main modes of motion: Brownian motion (pure diffusion) and directed motion (biased diffusion). Particles can switch from one motion type to the other one randomly between frames. It is modeled with a Markov chain with two states: brownian and directed motion, with transition parameters p_db and p_bd for the probability of transition from directed to Brownian motion to directed motion, and conversely. The Brownian motion is controlled by a single parameter: the standard deviation of the Gaussian distribution associated to the the displacement between two frames. However, it is realistic to think that heterogeneous particles can exhibit slightly different diffusion characteristics. The displacement standard deviation for each particle is thus uniformly drawn in the interval [sigma_bMin sigma_bMax].
For the directed motion the velocity (parameter v) is assumed to be constant in the preferred direction. A small diffusion motion is generally assumed to act at the same time. The displacement due to diffusion is fixed for directed particles by the parameter sigma_directed.
Sample configuration files
Two sample configuration files are provided to illustrate the abilities of the software:
- example2D_2populations.txt: example of 5 sequences of 2D images for which two sub-population of particles are created. Particles from the second population exhibit directed motion only with high velocity
- example3D_poissonNoise.txt: example of 1 sequence of 3D images. Poisson noise only is added to the images and the pixel size is greater in the Z direction than in the X direction.
 'Advances in probabilistic particle tracking', Nicolas Chenouard, Ph. D thesis. Institut Pasteur & TelecomParisTech, Paris, January 2010.
 'Trackmanager' plugin for Icy by Fabrice de Chaumont.
 'Gaussian Approximations of Fluorescence Microscope Point-Spread Function Models', B. Zhang, J. Zerubia, and J.-C. Olivo-Marin, vol. 46, no. 10, pp. 1819-1829, Applied Optics (2007).