2026-07-15 –, University Hall
Bioimaging generates massive datasets in fragmented, proprietary formats that are difficult to share and align with FAIR principles. ngff-zarr is a lightweight, open-source Python toolkit implementing the OME-Zarr specification -- the community-driven, cloud-native bioimaging standard. With minimal dependencies and a simple pipeline interface, ngff-zarr converts, validates, and generates multiscale representations of extremely large images out-of-core via Dask. Features include multiple downscaling methods, OME-Zarr Zip archives (.ozx), RFC-4 anatomical orientation, and High Content Screening support. This talk also covers ngff-zarr's Model Context Protocol (MCP) server, which enables AI agents to perform bioimaging tasks through natural language, and lessons learned from its deployment at EMBL.
The problem. Modern bioimaging instruments produce datasets that are large, multidimensional, and stored in vendor-specific proprietary formats. These monolithic files are not cloud-ready, are difficult to stream or share, and hinder reproducible, collaborative science. The community needs an open, chunked, cloud-native format backed by robust, accessible tooling.
OME-Zarr and the community. OME-Zarr (OME-NGFF) addresses this need as a community-driven open standard built on Zarr's chunked, compressed, n-dimensional array storage. The specification and its ecosystem are described in Moore et al., "OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies," Nature Methods, 2021; Moore et al., "OME-Zarr: a cloud-optimized bioimaging file format with international community support," Histochemistry and Cell Biology, 2023; and Lüthi et al., "2024 OME-NGFF workflows hackathon," BioHackrXiv, 2025. ngff-zarr is developed within and for this community.
ngff-zarr features. ngff-zarr is a lean, minimal-dependency implementation that is lazy, parallel, and web-ready -- no local filesystem required. Its features include:
- A simple Python interface following a four-step pipeline: array to NgffImage to Multiscales to OME-Zarr store, accepting any Python Array API Standard input (NumPy, Dask, CuPy, PyTorch).
- Out-of-core multiscale generation via Dask for processing extremely large datasets that exceed available memory.
- Multiple downscaling methods: SIMD-accelerated Gaussian filtering via ITK-Wasm (default), bin shrink, label-image mode, and scipy-based fallbacks.
- OME-Zarr Zip (.ozx) single-file archives for easy sharing and archival (RFC-9).
- RFC-4 anatomical orientation metadata for medical and neuroimaging interoperability.
- High Content Screening (HCS) plate/well support, TIFF/OME-TIFF and Leica LIF conversion, Zarr v3 sharding, and a command-line interface for batch workflows.
Python usage. A typical conversion requires just a few lines:
import ngff_zarr as nz
image = nz.to_ngff_image(array, dims=["z", "y", "x"], scale={"z": 2.0, "y": 0.5, "x": 0.5})
multiscales = nz.to_multiscales(image, scale_factors=[2, 4], chunks=64)
nz.to_ngff_zarr("output.ome.zarr", multiscales)
Cloud stores (S3, GCS, Azure) are supported via fsspec, and the CLI (ngff-zarr -i input.nrrd -o output.ome.zarr) handles common batch workflows with memory-aware scheduling.
MCP server and lessons learned. The ngff-zarr-mcp package exposes conversion, validation, inspection, and optimization tools to AI coding agents via the Model Context Protocol (MCP). Researchers interact in natural language -- asking an AI assistant to convert a file, examine OME-Zarr metadata, validate spec compliance, or generate a batch processing script -- and the MCP server handles execution. Lessons learned include the importance of structured tool parameters for reliable agent interaction, designing functions that map to researcher intent rather than low-level API calls, and how natural language interfaces lower the barrier for scientists to adopt cloud-native formats and reproducible workflows.
Audience and takeaways. Attendees will learn how to convert and manage bioimaging data with ngff-zarr's Python API and CLI, understand the OME-Zarr ecosystem, and see how MCP servers can bring AI-assisted automation to scientific data workflows.
Source code: github.com/fideus-labs/ngff-zarr | Documentation: ngff-zarr.readthedocs.io
I am a research software engineer who helps scientists perform computational image analysis for reproducible research.