Need help or advice ? Come to the Icy club ! - Every Wenesday morning from 9h30 to 12h30 - Francois Jacob Building - Main hall - Pasteur
Register

User reviews

(1)
5 star
0
4 star
1
3 star
0
2 star
0
1 star
0
average rating: 4


Please log-in to post a review
vbriane
04 Dec 2014 16:52
Well explained and efficient plug-in!

There is no way to define the initial distribution for the Markov chain modeling the switching between the two states (brownian and directed brownian).
It will be interesting if there was an option allowing all the particles of a same group to switch states at the same time.

Particle tracking benchmark generator

by Nicolas Chenouard

Provides 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 evaluating the performance of various particle tracking methods in a reproducible way. The plugin lets you generate some sets of images thanks to configuration text files. The files can be modified online and/or loaded from a local source. A large number of files can be loaded and run in one click.

Publication Id
ICY-K2L3N7
See technical details
View complete changelog

Documentation

last modified 20/03/2011

TrackingBenchmarkGenerator manual

Particle Tracking Benchmark Generator version 1.0
20/03/2011
Author: Nicolas Chenouard

 

General Purpose

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 [1]. 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[2] which can be directly displayed through the Icy GUI with the trackmanager plugin [2] 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.

Tool bar

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

Text area

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:
sampleParameter sampleValue
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:
numInitParticles [>=0]

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:

ParameterValuesDescription
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

ParameterValuesDescription
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:

ParameterValuesDescription
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:

ParameterValuesDescription
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 [3]) 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.

Particle features

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.

References

[1] 'Advances in probabilistic particle tracking', Nicolas Chenouard, Ph. D thesis. Institut Pasteur & TelecomParisTech, Paris, January 2010.
[2] 'Trackmanager' plugin for Icy by Fabrice de Chaumont.
[3] '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).