yyang35 / bactrack

Cell tracking tool
3 stars 0 forks source link

BACTRACK

Tests codecov

A cell tracker maximizing accuracy through diverse segmentation analysis and mixed integer programming optimization

Introduction

Bactrack is inspired by ultrack(paper). Bactrack uses segmentation hierarchy to allow various segmentation scenarios, and hierarchy is built on Omnipose dynamic/pixel clustering logic, and using MIP solver to assign cell from frame to frame by maximize weights.

For assignment algorithm, Bactrack includes following MIP solvers: HiGHS, CBC, Gurobi for tracking assignment task. All of these MIP solver will return the same optimized global maximum result but with different run-time speed. For performance comparsion between MIP solvers check this benchmark. In short, the speed of Gurobi is the fastest (Gurobi > HiGHS > CBC).

( Those tools are not directly be used, but through Python interface libraries: specifically: Scipy.milp for HiGHS, and python_mip for CBC and Gurobi. So if you look at solvers name: MipSolver,ScipySolver, it's interface name rather than solver name)

Goes Bactrack Architecture Doc for more details for Bactrack.

Installation

Usage

Explore