ITASC

Segment, track, correct, and quantify cells in time-lapse microscopy, inside napari.

ITASC (Interactive Tracking And Segmentation of Cells) is a napari plugin for dense, highly motile cell monolayers, where automatic segmentation and tracking break down. It takes a time-lapse and returns, for every cell, a cell mask and a nucleus mask that share one ID and hold across the whole recording, then quantifies their shape, dynamics, and topology.

It gets there by deciding outlines and links together rather than frame by frame: it feeds Cellpose’s raw probability and flow maps into Ultrack’s candidate solver, tracks the compact nuclei first and grows each cell body outward from its nucleus (so a cell and its nucleus carry one ID), then turns the result over to you: Ultrack’s alternatives become one-click fixes, with manual redraw tools adapted from EpiCure for the rest.

What it does

The full ITASC app moves through four stages. Each writes its result to a project folder on disk, and the next stage reads it back. The folder is the source of truth and a run can be inspected or resumed between any two stages.

  • Segment. Cellpose-SAM finds the cells. On sparse, well-separated cells it outlines them correctly, and ITASC takes those outlines as the cell masks. On a dense monolayer it does not, so ITASC ignores the outlines and works from Cellpose’s two raw outputs instead: the probability map, how cell-like each pixel looks, and the flow field, the direction from each pixel toward the center of the cell it sits in. From these it builds the two images the Track stage needs: a foreground map and a contour map. Every later stage reads those maps, never the raw stack.

  • Track. Ultrack builds many candidate outlines per frame and selects the set that is most consistent in time, solving the outlines and the links at once. That is what a dense monolayer needs. Sparse cells do not need it, and LapTrack links them frame to frame instead.

  • Correct. No solver is perfect on dense, dividing cells, so a person fixes what it missed. The candidates Ultrack already built are offered as selectable alternatives, so most fixes are a click rather than a redraw, and manual redraw tools adapted from EpiCure cover the rest.

  • Quantify. Per position: which cells touch, the edges they share, and the T1 events where two neighbors swap partners, written to one self-describing HDF5 (.h5) file. Across the project: the shape and dynamics of nuclei, cell bodies, and contacts over time, pooled into .csv tables.

ITASC ships as five separate installs: four napari tools, and the library they share. You install one, not all of them. Pick the row that matches the data you have; each links to that tool’s guide, which covers installing and using it.

If you have…

Install

It gives you

Dense, motile cells of varying shape (a confluent monolayer), from raw stacks to quantified contacts

itasc[all]

The unified ITASC workflow widget, every stage end to end.

Sparse, well-separated cells with a cell and/or nucleus marker, to segment and track one or both channels

itasc-cellpose

A local Cellpose-SAM runner for segmentation, then laptrack linking across time, plus manual correction of tracks and masks (adapted from EpiCure). One channel or two.

Foreground and contour maps already, to skip the cellpose step

itasc-tracking

Ultrack candidate database, solving, browsing, and interactive segmentation and tracking correction.

Tracked labels for a set of positions (cell and/or nucleus), to quantify and pool them

itasc-aggregate

Contact analysis per position (cell-cell edges, border edges, T1 events to HDF5), then aggregate quantification pooled across the project to .csv. Partial data is fine.

Code to build on

itasc-core

TIFF/path/label-IO helpers, the lineage model, and napari UI primitives.

Sample data

To try any of them before you have data of your own, download itasc-sample-data.zip (12 MB). It unzips to a three-position project: raw stacks to start from at the Segment stage, and finished cell and nucleus labels to skip straight to Quantify. If you cloned the repository you already have it, in sample_data/.

Built on

ITASC reuses the published methods of four tools. If you use the stage that depends on one, please cite it:

Status

ITASC is approaching its first public release and JOSS submission. The four stages and the file-based project layout are settled and in active research use. Installation and the public API are close to final: expect small changes before the release and its accompanying manuscript.

Contributing and support

Bug reports, questions, and pull requests are welcome. Open an issue to report a problem or ask a usage question (label it question), and see CONTRIBUTING.md for how to set up a development environment and send a change. For questions about the method itself, or about whether ITASC suits your system, contact Artur Ruppel at artur@ruppel.pro.

Citing ITASC

Cite the software using the metadata in CITATION.cff. A DOI and manuscript citation will be added with the public release. For pre-publication citation questions, contact Artur Ruppel at artur@ruppel.pro.

License

AGPL-3.0. See LICENSE.

AI usage

Generative AI tools (OpenAI GPT and Anthropic Claude) assisted with code drafting, refactoring, tests, debugging, and documentation. Human authors made the scientific, architectural, and design decisions, and are fully responsible for all code and other content in the repository.