Local model runs
Recorded device: NVIDIA GeForce RTX 3060. PyTorch 2.11.0+cu126; CUDA runtime 12.6.
Docker release checks: 39 container tests and 15 offline public-data cases passed on Linux/amd64, including CPU, CUDA, all three models and both movie outputs. See the Docker validation record for exact image digests and measured results.
| Dataset | Model | Mode | Objects | Runtime | Peak GPU allocation | Result |
|---|---|---|---|---|---|---|
| Fluo-N2DH-GOWT1 | general_2d | greedy | 138 | 1.04 s | 52 MiB | Passed |
| Fluo-N2DH-SIM+ | general_2d | greedy | 180 | 0.73 s | 52 MiB | Passed |
| PhC-C2DH-U373 | general_2d | greedy | 36 | 0.42 s | 51 MiB | Passed |
| Fluo-N2DH-GOWT1 | ctc | greedy | 138 | 0.73 s | 116 MiB | Passed |
| Fluo-N2DH-SIM+ | ctc | greedy | 180 | 0.58 s | 117 MiB | Passed |
| PhC-C2DH-U373 | ctc | greedy | 36 | 0.48 s | 115 MiB | Passed |
| Fluo-N2DH-GOWT1 | general_2d_w_SAM2_features | greedy | 138 | 3.04 s | 729 MiB | Passed |
| Fluo-N2DH-SIM+ | general_2d_w_SAM2_features | greedy | 180 | 2.09 s | 730 MiB | Passed |
| PhC-C2DH-U373 | general_2d_w_SAM2_features | greedy | 36 | 1.94 s | 730 MiB | Passed |
| Fluo-N2DH-SIM+-01-65frames.ome.zarr | general_2d | greedy | 2607 | 5.84 s | 54 MiB | Passed |
| Fluo-N2DH-GOWT1-01-92frames.ome.zarr | general_2d | greedy | 2058 | 9.89 s | 52 MiB | Passed |
Each listed run loaded verified local weights. Validation compares output pixels and original labels with input, checks SQLite integrity and retains model/dataset hashes. Tracking-stage runtime includes copying, inference and table preparation; movie rendering and final export are excluded. GPU figures are PyTorch peak allocation, not total device usage.
Automated coverage
Axis reordering, anisotropic coordinates, ordered transforms, calibration rejection, mismatched grids, HCS isolation, source preservation, overwrite refusal, memory guards, CLI types, checkpoint integrity, gaps, divisions, empty inputs and failed-run publication are tested. See GitHub Actions and the local validation record.
Practical limits
- Sequence inference is in memory. Graph and model costs depend on object density; this is not a gigapixel streaming tracker.
- Inference uses the original pixel grid. Physical calibration does not compensate the model input for anisotropic sampling.
- Reference-marker tests and training overlap do not establish segmentation accuracy or independent generalization.
- Multi-field isolation has synthetic integration coverage. The public time series are single-field test-plate wrappers, not original multiwell screens.
- Divisions and ambiguous crossings need review. Tracklets split at divisions and gaps; inspect parent_kind and links.
- Container validation and exact image digests are recorded in the GitHub release. Production OMERO import and Slurm roundtrip validation remain deployment checks.
Reproduce
test.cmd
.venv\Scripts\python tools\prepare_publicdata.py
.venv\Scripts\python tools\validate_local.py --device cuda
.venv\Scripts\python tools\build_site.py --validation test-results/public/validation.json
.venv\Scripts\python tools\check_site.py docs