A multi-language implementation of the Open Microscopy Environment (OME) Next Generation File Format (NGFF) Zarr specification.
This repository contains multiple packages implementing NGFF-Zarr support:
py/- Python package (ngff-zarr) - A lean and kind NGFF-Zarr implementationts/- TypeScript/JavaScript package (@fideus-labs/ngff-zarr) - Universal OME-Zarr for Deno, Node.js, and browsersmcp/- Model Context Protocol (MCP) server (ngff-zarr-mcp) for AI integration
The main Python package provides:
✨ Features
- Minimal dependencies
- Work with arbitrary Zarr store types
- Lazy, parallel, and web ready -- no local filesystem required
- Process extremely large datasets
- Conversion of most bioimaging file formats
- Multiple downscaling methods
- Supports Python>=3.10
- Reads OME-Zarr v0.1 to v0.5 into simple Python data classes with Dask arrays
- Optional OME-Zarr data model validation during reading
- Writes OME-Zarr v0.4 to v0.5
- Sharded Zarr stores
- Optional writing via zarr-python 2, zarr-python 3, tensorstore or zarrita (TypeScript)
- Anatomical orientation metadata (RFC-4)
- OME-Zarr Zip (.ozx) file support for single-file OME-Zarr datasets (RFC-9)
- High Content Screening (HCS) support for plate and well data
- Model Context Protocol (MCP) server for AI agent integration
📖 Documentation
More information about command line usage, the Python API, library features, and how to contribute can be found in our documentation.
The TypeScript package provides universal OME-Zarr support for modern JavaScript environments:
✨ Features
- 🦕 Deno-first with first-class TypeScript support
- 📦 Universal compatibility - Works in Deno, Node.js, and browsers
- 🔍 Type-safe with Zod schema validation
- 🗂️ OME-Zarr v0.4 and v0.5 support
- 🌐 Web ready - No filesystem dependencies, works with remote stores
- 🏗️ Mirrors Python API - Familiar interfaces for Python users
- 📚 Lazy loading - Efficient handling of large datasets
📦 Installation
# Deno
import * as ngffZarr from "jsr:@fideus-labs/ngff-zarr";
# Node.js / npm
npm install @fideus-labs/ngff-zarr
# Browser (CDN)
import * as ngffZarr from "https://esm.sh/@fideus-labs/ngff-zarr";📖 Documentation
See the TypeScript documentation for detailed usage, API reference, and examples.
The Model Context Protocol server enables AI assistants like Claude to interact with NGFF-Zarr files. See the MCP documentation for setup and usage instructions.
- ome-zarr-py
- multiscale-spatial-image
- itk-ioomezarrngff
- iohub
- pydantic-ome-ngff
- aicsimageio
- bfio
- zod-ome-ngff
ngff-zarr is distributed under the terms of the
MIT license.