Skip to content
osmods
ImageJ

OME-Zarr batch export

Convert whole plates to OME-Zarr with every piece of channel metadata intact.

View upstream
AuthorMarta Iglesias
PublishedJul 2026
LicensePublic domain
Installs41

Why it exists

This one started as a request in this catalog, with eleven labs backing it. People were converting plates by hand, one stack at a time, and losing channel names and pixel sizes on the way into pipelines that expect OME-Zarr.

The export runs in batch, keeps all channel metadata, and writes chunks sized for the lab's compute cluster instead of a laptop.

What it does

  • Batch export of plates and stacks to OME-Zarr
  • Channel names, pixel sizes and units preserved
  • Configurable chunking for cluster or laptop
  • Resumable: an interrupted batch picks up where it left off

The spec

These acceptance criteria were written with the person who requested the mod, then locked in as its tests. The mod has to pass them on every new release train before it rides along.

  • A round trip to OME-Zarr and back preserves every channel's metadata
  • An export interrupted at any point resumes without corrupting written chunks

mods/ome-zarr/tests/round_trip.py

def test_round_trip_preserves_channel_metadata():
    for plate in fixtures.plates():
        exported = export_ome_zarr(plate, chunks="auto")
        restored = read_ome_zarr(exported.path)
assert restored.channels == plate.channels