Live-Cell Tracking: a pipeline architecture for trustworthy imaging.
01 · Pipeline Engineering
Turn an experimental method into an executable system.
Microscopy analysis often begins as a working method understood by one scientist: instrument settings, processing decisions, and scripts developed around a particular experiment. Fovea Lab provides a structured environment for turning that method into a pipeline that can be run, examined, and developed over time.
A scientist can begin in the visual workspace, ask the agent to help develop a stage, or open the underlying code when direct control is needed. Each way of working modifies the same pipeline rather than creating a separate version of the analysis. The scientific purpose of the experiment remains connected to the computation, allowing the workflow to mature from early exploration into a system that another researcher can understand and use.
02 · Evidence Integrity
Make confidence part of the computation.
A final measurement does not reveal whether the source data were complete, whether a model behaved unexpectedly, or whether an important parameter changed between runs. Fovea Lab evaluates the analysis as it runs and preserves the evidence needed to understand the result afterward.
Checks are placed at the stages where failures can occur. Scientists can return from a result to the pipeline that produced it, inspect whether the run remained within accepted conditions, and trace unexpected behavior to the point where it entered the analysis. Verification becomes part of the workflow itself rather than a report reconstructed after the experiment is finished.
03 · Agentic Development
Let AI improve the workflow without taking control away from the scientist.
Fovea Lab gives agents access to the structured experimental context that governs the pipeline. Instead of producing isolated code without understanding the surrounding system, an agent can inspect a specific stage, propose a bounded revision, and evaluate its effect against criteria established by the scientist.
A proposed change remains separate from the approved workflow until it has been reviewed. Its effect can be compared with the current version, while the decision to adopt it remains with an authorized user. AI can accelerate pipeline development while the platform preserves accountability and a stable record of what was actually run.
Pipeline architectures, module by module.
Pipeline backbone — reshapes per modality. Select a module for its sub-steps, tools, and deliverable.
Live-Cell Tracking
High confidenceIngest
Read multi-position, multi-channel time-lapse acquisitions from proprietary microscope formats (ND2, CZI, LIF, TIFF series, OME-TIFF) into a harmonized, chunked OME-Zarr/OME-NGFF store with correct temporal and spatial axes, channel indexing, and vendor metadata preserved. Getting axis order, frame interval, and position identity right at ingest is the single most consequential step for all downstream tracking and dynamics analysis.
Operations
- Format detection and reader selectionIdentify proprietary vendor format (ND2, CZI, LIF, TIFF series) and dispatch to the appropriate Bio-Formats reader or AICSImageIO/bioio plugin.
- Dimension order validationAssert that TCZYX axis order is correct; detect and warn on missing T/Z axes, singleton dimensions, or swapped channel/frame axes — a common source of downstream failures.
- Multi-position index constructionBuild a position-to-path index mapping stage-position names/XY coordinates to sub-volumes; emit a manifest JSON for downstream parallelism.
- OME-Zarr conversion and chunkingWrite each position as a chunked OME-Zarr v0.4+ dataset with a T-C-Y-X (or T-C-Z-Y-X) layout; choose chunk shape balancing random single-frame access and whole-track streaming.
- Vendor metadata extractionParse and persist OME-XML metadata (pixel size, frame interval, channel names/wavelengths, objective, NA, binning) from the file header into the OME-Zarr .zattrs / OMERO.
- Frame-count and temporal calibration checkVerify that actual frame count matches expected n_timepoints, detect dropped/duplicate frames, and confirm frame interval consistency across positions.
Inputs
- Proprietary time-lapse microscopy files (ND2, CZI, LIF, TIF series, OME-TIFF)ND2 · CZI · LIF · OME-TIFF · TIFF series · LIF
- Acquisition log or plate-map (positions, conditions, treatment schedule)CSV · JSON · XLSX
Outputs
- Indexed multi-position time-lapse image storeOME-Zarr · OME-TIFF
- Position manifest with axis metadataJSON
QC checks
- Frame count consistency — Confirm actual frame count equals n_timepoints declared in vendor metadata; flag dropped frames.
- Frame interval uniformity — Detect irregular time gaps between frames (>5% deviation from declared interval).
- Pixel-size metadata present — Verify pixel size is non-null and within plausible range (0.05–2 µm/px).
- Channel order sanity — Assert that channel count and names match the experiment manifest; flag swapped channels.
Failure modes it guards against
- Swapped or missing temporal axis — Assert T axis is present and length > 1; cross-check with vendor metadata frame count.
- Frame interval not in metadata — Require frame_interval_s from metadata or experiment manifest; fail closed if absent.
- Incomplete multi-position ingest — Compare ingested position count to manifest; alert on any gap.
- Incorrect pixel calibration from vendor — Cross-check pixel_size_um against known magnification and camera spec; flag outliers.
Tools (10)
Primary reader for >150 proprietary and open microscopy formats; preserves vendor OME-XML metadata including time intervals, stage XY, objective, and channel details.
Python reader/writer for OME-TIFF, OME-Zarr, CZI, LIF, ND2 with consistent xarray-backed dimension labelling (TCZYX).
Write, validate, and read OME-Zarr/OME-NGFF datasets; handles multiscale pyramids, labels, and NGFF tables for time-lapse stores.
- bioioOSS · BSD-3-Clause
Successor/refactor of AICSImageIO; plugin-based reader supporting the same formats with improved extensibility and lazy loading.
- zarrLibrary · MIT
Low-level chunked array storage; underpins ome-zarr-py; used for direct Zarr read/write when building custom ingest pipelines.
- tifffileLibrary · BSD-3-Clause
Read/write TIFF, BigTIFF, OME-TIFF, and pyramidal TIFF; fast NumPy-backed I/O for TIFF-series ingest pipelines.
- OMEROOSS · AGPL-3.0
Institutional image data management server; acts as ingest sink and metadata store; supports OMERO.web rendering and API access for large live-cell datasets.
- python-bioformatsOSS · GPL-2.0-or-later
Python wrapper for Bio-Formats via JPype; enables Bio-Formats format reading and metadata extraction from Python scripts.
- nd2OSS · BSD-3-Clause
Pure-Python reader for Nikon ND2 files; faster than Bio-Formats for large ND2 time-lapse datasets on Nikon systems.
- pylibCZIrwOSS · LGPL-3.0-only (Zeiss dual-license: LGPL-3.0 or commercial)
ZEISS CZI reader; pure-Python access to CZI sub-blocks, metadata, and scenes without Bio-Formats; efficient for large ZEISS time-lapse files.
Metadata captured
| Field | Type | Example | Standard |
|---|---|---|---|
| pipeline_run_id | string | live-cell-run-2026-06-05-pos003 | — |
| software_versions | object | {'bioformats': '7.1.0', 'aicsimageio': '4.14.0', 'python': '3.11', 'container': 'sha256:abc123'} | REMBI |
| input_dataset_uri | uri | s3://client-study/raw/experiment01/pos003.nd2 | OME-NGFF |
| output_dataset_uri | uri | s3://client-study/zarr/experiment01/pos003.zarr | OME-NGFF |
| frame_interval_s | float (second) | 300.0 | OME-XML |
| n_timepoints | int (frame) | 144 | OME-XML |
| n_positions | int (count) | 24 | OME-XML |
| position_id | string | pos_003 | OME-XML |
| channel_names | array | DAPI, GFP, mCherry | OME-XML |
| pixel_size_um | float (micrometer) | 0.325 | OME-XML |
| objective_magnification | float (x) | 20.0 | OME-XML |
| numerical_aperture | float | 0.75 | OME-XML |
| vendor_format | enum | ND2 | — |
| dropped_frames | int (count) | 0 | — |
You get
- Multi-position OME-Zarr store · OME-Zarr
- Position manifest · JSON
References