Skip to content

RachelZheng/scott

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCOTT: Shape-location COnsiderate Tracking with OT

This open source Python library provides a cell tracking solver based on Optimal Transport.

Please see our paper for technical details:

@article{zheng2020scott,
  title={SCOTT: Shape-Location Combined Tracking with Optimal Transport},
  author={Zheng, Xinye and Ye, Jianbo and Wang, James Z and Li, Jia},
  journal={SIAM Journal on Mathematics of Data Science},
  year={2020}
}

Installation

The library has been tested on Unix system with its mixture-ordered OT solver on Python 3.6+. To install Python package requirements:

git clone https://github.com/RachelZheng/scott.git
cd scott/
pip install -r requirement.txt

Our package also depends on mop library(>=0.8) on R(>=3.0.0).

Data Preparation

Put segmentation masks and the ground-truth mask of the first frame in the same folder. Convey folder name to pipeline.py using -i option.

Naming Criteria:

  • Cell segmentation masks: uint16, name as seg[INDEX, %03d].tif.
  • First ground-truth labeling mask: uint16, name as man_track[INDEX, %03d].tif.

Specifying Parameters:

Specify your parameters in "parameter_datasets" of config.py, where the parameters are:

  • n_pixels_per_cell: int, minimum number of pixels in each cell
  • mitosis_detection: bool, does cell have mitosis or not
  • expResizeWidth: initial image width
  • expResizeHeight: initial image height

If cells have mitosis behavior, please specify the mitosis parameters in line 18-22, where the default setup is for PSC-C2DL. We recommend not specifying weight in the first run and trying different mitosis parameters if accuracy improves.

Usage

Run the pipeline.py file:

cd scott/
python pipeline.py -i [path_seg] -o [path_out] -n [name_dataset]

For example:

python pipeline.py -i 'data/PhC-C2DL-PSC/01_SEG/' -o 'data_out/' -n 'PhC-C2DL-PSC'

To resize the images into a smaller size in the pipeline, use -r option:

python pipeline.py -i [path_seg] -o [path_out] -n [name_dataset] -r [on/off] -rw [resized_width] -rh [resized_heights]

To set the weight in WGWD of cell division detection, use -w option:

python pipeline.py -i [path_seg] -o [path_out] -n [name_dataset] -w [weight]

Acknowledgements

The code is built on many excellent papers and packages, which include:

About

python code for "SCOTT: Shape-Location Combined Tracking with Optimal Transport"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published