By Saga Helgadottir, Aykut Argun and Giovanni Volpe.
DeepTrack is a trainable convolutional neural network that predicts the positon of objects in microscope images. This is the code for the paper Digital video microscopy enhanced by deep learning.
Note: DeepTrack 2.0 is out now!
- Python 3.6
- Keras (v 2.2.4 or higher)
- Tensorflow
- Pillow
- Opencv
- Pandas
Each code example is a Jupyter Notebook that also includes detailed comments to guide the user. All neccesary files to run the code examples are provided.
The network is trained on various kinds of simulated images of particles with given ground truth positions, optimized for each problem. The particles are represented by combinations of Bessel functions and their size, shape and intensity can be changed. In addition, the image background level, signal-to-noise level and illumination gradient can be changed. A few examples are shown below:
After the network has been trained it can be used to track different kind of objects in images. For example, the particles and bacteria in the video below can be tracked seperately:
DeepTrack is an open-source library and is licensed under the GNU General Public License (v3). For questions contact Giovanni Volpe at giovanni.volpe@physics.gu.se. If you are using this library please cite:
Saga Helgadottir, Aykut Argun, and Giovanni Volpe. "Digital video microscopy enhanced by deep learning." Optica 6.4 (2019): 506-513.
This work was supported by the ERC Starting Grant ComplexSwimmers (Grant No. 677511).