Creating an ImageJ plugin / command


The best way to start writing an ImageJ2 plugin (ImageJ2 developers call it command and not plugin) is to download the example command from github and modify it. There is a video tutorial on the whole workflow on how to do this on youtube.

has function

3-D Density Kernel Estimation


3-D density kernel estimation (DKE-3-D) method, utilises an ensemble of random decision trees for counting objects in 3D images. DKE-3-D avoids the problem of discrete object identification and segmentation, common to many existing 3-D counting techniques, and outperforms other methods when quantification of densely packed and heterogeneous objects is desired. 

Microscope autopilot


AutoPilot is the open source project that hosts the general algorithm for fast and robust assessment of local image quality, an automated computational method for image-based mapping of the three-dimensional light-sheet geometry inside a fluorescently labeled biological specimen, and a general algorithm for data-driven optimization of the system state of light-sheet microscopes capable of multi-color imaging with multiple illumination and detection arms.

has function

Minimum cost Z surface projection


This plugin detects a minimum cost z-surface in a 3D volume. A z surface is a topographic map indicating the altitude z as a function of the position (x,y) in the image. The cost of the surface depends on pixel intensity the surface is going through. This plugin find the z-surface with the lowest intensity in an image.

has function

Interactive watershed


The interactive Watershed Fiji plugin provides an interactive way to explore local maxima and threshold values while a resulting label map is updated on the fly.

After the user has found a reliable parameter configuration, it is possible to apply the same parameters to other images in a headless mode, for example via ImageJ macro scripting.

Find Maxima (Python)



Maxima finding algorithm recreated from implementation in Fiji(ImageJ)

This is a re-implementation of the java plugin written by Michael Schmid and Wayne Rasband for ImageJ. The original java code source can be found in: 

This implementation remains faithful to the original implementation but is not 100% optimised. The java version is faster but this could be alleviated by compiling c code for parts of the code. This script is simply to provide the functionality of the ImageJ find maxima algorithm to individuals writing pure python script.

find maxima comparison.



SIMPLETRACKER a simple particle tracking algorithm that can deal with gaps.

Tracking , or particle linking, consist in re-building the trajectories of one or several particles as they move along time. Their position is reported at each frame, but their identity is yet unknown: we do not know what particle in one frame corresponding to a particle in the previous frame. Tracking algorithms aim at providing a solution for this problem. 

simpletracker.m is - as the name says - a simple implementation of a tracking algorithm, that can deal with gaps. A gap happens when one particle that was detected in one frame is not detected in the subsequent one. If not dealt with, this generates a track break, or a gap, in the frame where the particle disappear, and a false new track in the frame where it re-appear. 

need a thumbnail



FoCuS-point is stand-alone software for TCSPC correlation and analysis. FoCuS-point utilizes advanced time-correlated single-photon counting (TCSPC) correlation algorithms along with time-gated filtering and innovative data visualization. The software has been designed to be highly user-friendly and is tailored to handle batches of data with tools designed to process files in bulk. FoCuS-point also includes advanced diffusion curve fitting algorithms which allow the parameters of the correlation functions and thus the kinetics of diffusion to be established quickly and efficiently.



Mean square displacement (MSD) analysis is a technique commonly used in colloidal studies and biophysics to determine what is the mode of displacement of particles followed over time. In particular, it can help determine whether the particle is:

  • freely diffusing;
  • transported;
  • bound and limited in its movement.

On top of this, it can also derive an estimate of the parameters of the movement, such as the diffusion coefficient.

@msdanalyzer is a MATLAB per-value class that helps performing this kind of analysis. The user provides several trajectories he measured, and the class can derive meaningful quantities for the determination of the movement modality, assuming that all particles follow the same movement model and sample the same environment.

has function
Examples of tracks to perform MSD analysis.



FoCuS-scan is software for processing and analysis of large-scale scanning fluorescence correlation spectroscopy (FCS) data. FoCuS-scan can correlate data acquired on conventional turn-key confocal systems and in the form of xt image carpets.