Spatial Omics: 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.
Spatial Omics
High confidenceIngest
Read raw multiplex tissue imaging outputs (cyclic-IF rounds, CODEX/PhenoCycler tiles, MERFISH/Xenium/CosMx transcript tables, Visium spot matrices, IMC MCD files) into a harmonized, chunked, coordinate-aligned representation — typically OME-Zarr for images and SpatialData/AnnData for molecules and matrices — preserving vendor metadata, codebooks, panel manifests, and ROI geometry.
Operations
- Vendor-format parsingParse platform-native outputs — 10x Xenium output folders (cell_feature_matrix, transcripts.parquet, morphology images), Vizgen MERSCOPE CSV/HDF5/Parquet bundles, NanoString CosMx flat files, Akoya PhenoCycler QPTIFF tile stacks, CyCIF OME-TIFF cycles, IMC MCD/TXT files — using the appropriate loader or spatialdata-io reader.
- Multi-round / multi-tile concatenationFor cyclic methods (CyCIF, CODEX, IMC), assemble per-cycle or per-tile files into a single multi-channel image stack, tracking round/channel indexing from the panel manifest.
- Codebook and panel manifest ingestionLoad the gene codebook (MERFISH/Xenium/CosMx) or antibody panel (CyCIF/CODEX/IMC) associating each channel/barcode with a gene symbol (HGNC) or protein marker name, clone, conjugate, and cycle index.
- Coordinate system registrationEstablish a unified physical coordinate system (micrometres) in SpatialData, linking image pixel grids, molecule coordinates, and ROI polygons to a common global-tissue reference frame.
- OME-Zarr / SpatialData writeWrite images as chunked OME-Zarr (with multiscales pyramid), molecule tables as Parquet, and the full SpatialData Zarr store; validate OME-NGFF conformance.
- Checksum and completeness validationVerify that all expected cycles/tiles/FOVs are present, file checksums match manifests, and no truncated files were ingested.
Inputs
- Vendor-native raw outputs (cyclic-IF OME-TIFF stacks, MERFISH/Xenium/CosMx transcript tables and morphology images, Visium filtered_feature_bc_matrix, IMC MCD files)OME-TIFF · QPTIFF · MCD · CSV · Parquet · HDF5 · zarr
- Panel manifest / codebook (gene-barcode or antibody-channel mapping)CSV · JSON · XLSX
Outputs
- Harmonized multi-channel tissue image stackOME-Zarr · OME-TIFF
- Molecule / transcript table with physical coordinatesParquet · CSV
- SpatialData Zarr store (images + labels + shapes + tables unified)SpatialData Zarr
- Panel / codebook manifest (canonical)JSON · CSV
QC checks
- File completeness — Verify all expected cycle/tile/FOV files are present and non-truncated.
- Checksum validation — Compare ingested file checksums against vendor-provided manifests.
- Pixel size consistency — Confirm pixel size in OME metadata matches expected instrument value; flag discrepancies.
- Panel completeness — Verify all channels in the panel manifest have corresponding image data; flag missing channels.
- Coordinate system alignment — Spot-check that molecule coordinates (MERFISH/Xenium) fall within the image extent.
Failure modes it guards against
- Truncated or missing cycle files — Checksum validation at ingest; fail-closed on incomplete file sets.
- Incorrect pixel size in vendor metadata — Cross-check pixel size against instrument spec; store in OME-NGFF coordinate transform.
- Channel/round index mismatch — Validate channel_to_marker_map against panel manifest at ingest; require explicit panel file.
- Coordinate system mismatch between images and molecule tables — Enforce a single canonical coordinate system in SpatialData at ingest; test with spot overlap checks.
Tools (13)
Vendor-specific readers for Xenium, MERSCOPE/Vizgen, CosMx, Visium HD, PhenoCycler/CODEX, MACSima into SpatialData format — the recommended first-pass ingest layer.
Unified spatial omics data framework storing images, labels, shapes, points and tables with shared coordinate systems.
Read proprietary and OME microscopy files (OME-TIFF, QPTIFF, CZI, ND2, LIF, MCD); preserve vendor metadata.
Write and validate OME-Zarr (OME-NGFF) image datasets with multiscales pyramids and coordinate transforms.
- AICSImageIOOSS · BSD-3-Clause
Python reader/writer for OME-TIFF, CZI, ND2, LIF, and OME-Zarr; wraps Bio-Formats via bioformats_jar.
- tifffileLibrary · BSD-3-Clause
Read and write multi-page TIFF and OME-TIFF files; used for CyCIF cycle stacks and tile assembly.
- zarrLibrary · MIT
Chunked N-dimensional array storage underpinning OME-Zarr/SpatialData; direct use for custom array writes.
- MCMICROOSS · MIT
End-to-end Nextflow pipeline for CyCIF/CODEX; handles ingest (Bio-Formats → OME-TIFF), registration (ASHLAR), segmentation and feature extraction.
- sopaOSS · BSD-3-Clause
Technology-invariant SpatialData-native pipeline supporting Xenium, MERSCOPE, CosMx, PhenoCycler, Visium HD ingest and downstream analysis.
- Xenium Ranger (10x Genomics)Commercial · 10x Genomics EULA (commercial; verify)
Off-instrument re-analysis of Xenium data including relabeling, re-segmentation, and output of canonical Xenium folder structure.
- Vizgen Post-processing Tool (VPT)Commercial · Apache-2.0
Re-analysis and cell-boundary re-segmentation of MERSCOPE/MERFISH datasets from Vizgen.
- steinbockOSS · MIT
IMC (Imaging Mass Cytometry) raw MCD data pre-processing, including image export, hot-pixel filtering and panel ingestion.
- AnnDataLibrary · BSD-3-Clause
In-memory and on-disk (HDF5/h5ad) cell×gene/feature matrix with obs/var metadata; standard exchange format for spatial expression tables.
Metadata captured
| Field | Type | Example | Standard |
|---|---|---|---|
| pipeline_run_id | string | spatial-omics-ingest-2026-06-05-ab3f | — |
| technology | enum | xenium | MITI |
| instrument_model | string | Xenium Analyzer (10x Genomics); MERSCOPE Ultra (Vizgen) | MITI |
| panel_name_version | string | Human Tissue Tumor Microenvironment Panel v1.0 (Xenium) | MITI |
| marker_or_gene_panel | array | CD3E, EPCAM, KRT8, PTPRC, MKI67 | HGNC |
| n_cycles_or_rounds | int (count) | 12 | MITI |
| channel_to_marker_map | object | {'c0': 'DAPI', 'c1': 'CD3-AF488', 'c2': 'EPCAM-AF555'} | OME-NGFF |
| pixel_size_um | float (micrometer) | 0.2125 | OME-NGFF |
| roi_id | string | ROI_001 | SpatialData |
| coordinate_system_name | string | global_tissue_um | SpatialData |
| input_file_checksums | object | {'morphology_mip.ome.tif': 'sha256:abcd1234'} | — |
| software_versions | object | {'spatialdata_io': '0.1.5', 'spatialdata': '0.2.2', 'python': '3.11', 'container': 'sha256:...'} | REMBI |
You get
- OME-Zarr image store · OME-Zarr
- SpatialData Zarr store · SpatialData Zarr
- Canonical panel manifest · JSON
- Ingest QC report · HTML/JSON
References
- SpatialData: an open and universal data framework for spatial omics paper
- MITI minimum information guidelines for highly multiplexed tissue images spec
- MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging paper
- OME-NGFF specification spec
- spatialdata-io documentation docs
- Sopa: a technology-invariant pipeline for analyses of image-based spatial omics paper