LapTrack
Project description
Features
Provides a robust particle tracking algorithm using the Linear Assignment Problem, with various cost functions for linking.
See the publication and associated repository for the algorithm and parameter optimization by Ray-Tune.
Requirements
Python >= 3.8 is supported. The software is tested against Python 3.8-3.11 in Ubuntu, and 3.10 in MacOS and Windows environments, but the other combinations should also be fine. Please file an issue if you encounter any problem.
Installation
You can install LapTrack via pip from PyPI:
$ pip install laptrack
In Google Colaboratory, try
$ pip install --upgrade laptrack spacy flask matplotlib
to update the pre-installed packages.
Usage
Please see the Usage for details. The example notebooks are provided in docs/examples.
notebook name |
short description |
Google Colaboratory |
Introducing the package API by a simple example. |
||
Application example: detecting bright spots by scikit-image blob_log and tracking them. |
||
Application example: tracking centroids of the segmented C2C12 cells undergoing divisions. |
||
Illustrates the usage of the ground-truth-preserved tracking with napari. |
||
Illustrates the usage of the custom metric to use segmentation overlaps for tracking. |
The API reference covers the main classes and functions provided by LapTrack.
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the The 3-Clause BSD License, LapTrack is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
This program implements a modified version of the algorithm in the K. Jaqaman et al. (2008).
Inspired by TrackMate a lot. See documentation for its detailed algorithm, the 2016 paper, and the 2021 paper.
The data in docs/examples/napari_interactive_fix_data are generated by cropping images in 10.5281/zenodo.6087728, which is distributed with Creative Commons Attribution 4.0 International.
The data in docs/examples/cell_segmentation_data are generated by cropping and resizing images in https://osf.io/ysaq2/, which is distributed with Creative Commons Attribution 4.0 International. See 10.1038/sdata.2018.237 for details.
The data in docs/examples/overlap_tracking_data is generated by cropping segmentation.npy in https://github.com/NoneqPhysLivingMatterLab/cell_interaction_gnn, which is distributed with Apache License 2.0. See the original paper for details.
The data in docs/examples/3D_tracking_data is generated by resizing iamges in https://bbbc.broadinstitute.org/BBBC050 , which is distributed with Creative Commons Attribution 3.0 Unported License. See 10.1038/s41540-020-00152-8 for details.
This project was generated from @cjolowicz’s Hypermodern Python Cookiecutter template.
Citation
If you use this program for your research, please cite it and help us build more.
@article{fukai_2022,
title = {{{LapTrack}}: Linear Assignment Particle Tracking with Tunable Metrics},
shorttitle = {{{LapTrack}}},
author = {Fukai, Yohsuke T and Kawaguchi, Kyogo},
year = {2022},
month = dec,
journal = {Bioinformatics},
pages = {btac799},
issn = {1367-4803},
doi = {10.1093/bioinformatics/btac799},
}
@misc{laptrack,
author = {Yohsuke T. Fukai},
title = {laptrack},
year = {2021},
url = {https://doi.org/10.5281/zenodo.5519537},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for laptrack-0.15.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3f7e7e27374cf94d123cb934e99fccee0a55c9fd20de668eb6469d8cdf0e70 |
|
MD5 | 4fd3aeed3ec0eea94371ab5179155332 |
|
BLAKE2b-256 | 3cc77b7a77761f80a25221ec794c61ced73d01ad62ec9294414075b6e880eefc |