What is DefocusTracker?
Where to get it?
How to get started?
Where to get support and how to contribute?
How to cite DefocusTracker?
Further readings

What is DefocusTracker?

DefocusTracker is a free, open-source, and modular research toolbox for image-defocusing-based 3D particle tracking. DefocusTracker is based on 3 data structures and 5 main functions:

  • imageset: Link to a collection of images.
  • model: Data and settings required to run one evaluation.
  • dataset: Data obtained after one evaluation.
  • create(): Create data structures.
  • show(): Open GUIs to inspect data structures.
  • train(): Train a model on specific training data.
  • process(): Process an imageset using a given model.
  • postprocess(): Manipulate datasets.

The philosophy behind DefocusTracker is to use a simple and fixed workflow to process the data, that can however be easily extended and customized on different settings and methods.

Where to get it?

DefocusTracker for MATLAB is available on Gitlab. You can download the latest stable release defocustracker-matlab-v2.0.0 or get the latest unstable version defocustracker-matlab-latest.

DefocusTracker for PYTHON is currently under development. You can check the current status in the develop branch of the Gitlab repository. Please contact us if you have questions about it or if you would like to contribute as programmer.

How to get started?

The best and quickest way to learn DefocusTracker is by going through the work-through examples that are part of the Gitlab repository (see above section). Apart from Work-Through Example 0 (WTE0), where the data is included in Git, the respective datasets for the work-through examples can be found here.

Current work-through examples as html:
WTE0 – Basics: Inputs and outputs
WTE1 – Localize 3D particle positions on synthetic data
WTE2 (part 1) – 3D tracking of particles inside an evaporating droplet

Where to get support and how to contribute?

If you need any support, please use the DefocusTracker Support Forum.

You are welcome to contribute in any form and we hope that you will. Please see the DefocusTracker forums for discussions, reporting bugs, sharing tips & tricks, and to assist in answering questions in the support forum. If you would like to contribute to the development on Gitlab to be able to open issues or merge your code, please reply to the topic “Contribute to the development on Gitlab” in the DefocusTracker Discussions Forum.

How to cite DefocusTracker?

If you use DefocusTracker for a scientific publication, we recommend to specify the version used and to give three citations: one to the software metapaper, one to the specific processing method used, and one to the fundamentals of the method when stating uncertainties.

Example: “The results were obtained using DefocusTracker Version 2.0.0 [1] employing Method 1 (normalized cross-correlation) [2]. For the presented dataset, we obtained an estimated uncertainty of … in the in-plane direction and … in the depth direction [3].”

[1] R. Barnkob and M. Rossi, DefocusTracker: A modular toolbox for defocusing-based, single-camera, 3D particle tracking. Journal of Open Research Software, 9(1), 22 (2021)

Method 1 (normalized_crosscorrelation_3d)
[2] M. Rossi and R. Barnkob. A fast and robust algorithm for general defocusing particle tracking. Meas Sci Technol, 32, 014001 (2020)

[3] R. Barnkob and M. Rossi. General defocusing particle tracking: fundamentals and uncertainty assessment. Exp Fluids 61, 110 (2020)

Further readings

We also encourage you to read further technical papers on the GDPT method and cite them if relevant to your work.

R. Barnkob, C. J. Kähler, and M. Rossi. General defocusing particle tracking. Lab Chip 15, 3556-3560 (2015)

R. Barnkob et al. Defocus particle tracking: a comparison of methods based on model functions, cross-correlation, and neural networks. Meas Sci Technol 32, 094011 (2021)