This software allows you to track the motion of individual filamentous structures based on 2D confocal fluorescence microscopy data. Programing languages: Python, C++.
More details about the algorithm:
Kotsur, D., Yakobenchuk, R., Leube, R. E., Windoffer, R., & Mattes, J. (2019). An Algorithm for Individual Intermediate Filament Tracking. In Processing and Analysis of Biomedical Information (pp. 66–74). Springer International Publishing. https://doi.org/10.1007/978-3-030-13835-6_8
- Download or clone this repository to any folder on your computer:
git clone https://github.com/SCCH-KVS/IFTracking.git
-
If you don't have Docker, install Docker CE for your platform (Windows, Linux or Mac);
-
To run this software execute script
run_docker.sh
(for Linux and Mac) orrun_docker.bat
(for Windows), which you can find in the folder of this repository. The first time you run the script, it automatically pulls the necessary Docker-image from DockerHub to your computer. This image contains Python interpreter and all necessary libraries (no code related to this software).
Alternatively, you can download Docker image IFTracking-DockerImage.tar
using this link and load it manually as follows:
docker load --input /path/to/IFTracking-DockerImage.tar
However, in this case you should run the program using the script run_docker_alt.sh
(for Linux and Mac) or run_docker_alt.bat
(for Windows)
By default this software processes an example image sequence example/example.tif
.
The software consists of the following components:
- Image sequence processing. Performs image enhancement and all processing routines necessary for filament detection and tracking. The results of this step are stored in the folder
output/preprocessing
. - Filament detection (generation). Detects filaments (randomized) in the first frame of image sequence. The results are saved to the folder
output/generator
. - Filament tracking. Tracks and transfers the filaments from the previous step though the whole image sequence. Alternatively, at this step you can specify filaments from other sources. The results are saved to the folder
output/tracking
. - Visualization of the results. Overlays tracked filaments over the image sequence, also produces the legend and the mask, where each filament is enconded by color (grayscale) corresponding to its number. The results are also saved to the folder
output/tracking
.
When you run the software, you should be able to see the console interface with available operations as shown in the figure below:
The operations (1) to (4) correspond to the respective modules mentioned above. Operation (5) consecutively runs operations from (1) to (4). To run operation, just type its number and hit ENTER. Also, please, take into account that each operation depends on the results of its predecessors. For example, the result of (3) won't be successfull if (1) or (2) were not performed.
Every component has its own configuration file, which is contained in subfolder config
of the repository root folder. The most important configuration file is config/common.config
. It contains the path and the name of image sequence to be processed. More information about configuring the software one can find in the respective configuration files.
Configure Docker:
- Before running the software, you should give access to the drive containing the repository folder.
- Also make sure that Docker has enough resources to run this software (it depends on the size of image sequence). The software tracks filaments in parallel, therefore the more available for Docker CPUs the faster it works. You can also specify number of CPUs in the configuration file
config/tracker.config
.
- Input image sequence should be in TIFF.
- The initial coordinates of filaments (on the first frame of the image sequence) are stored in a ZIP archive. The archive contains one CSV file with two columns (x and y) per filament.
Firstly, remove the folder containing the Git repository. Also remove the respective Docker image using the command:
docker rmi -f dkotsur/incem:if-tracking
or
docker rmi -f if-tracking
if you have uploaded the Docker-image manually.
The research received funding from the European Union's Horizon 2020 research and innovation program under the Marie Sklodowska-Curie grant agreement No. 642866. It was supported by the Austrian Ministry for Transport, Innovation and Technology, the Federal Ministry of Science, Research and Economy, and the Province of Upper Austria in the frame of the COMET center SCCH.
This software is licensed under the GNU GPL v.3 License - see the LICENSE file for details.