Skip to main content

ZarrSmith logo ZarrSmith — microscopy I/O, OME-Zarr forging, and NGFF utilities

Python License Tests codecov Documentation Docker GitHub release GitHub stars

ZarrSmith is a Python package for reading microscopy datasets from multiple acquisition systems, building multiscale pyramids, writing OME-NGFF / OME-Zarr, and working with those datasets from Python, the command line and napari.

The rendered documentation is at embl-mif.github.io/zarrsmith.


What ZarrSmith does

  • Microscope managers read Luxendo, Opera, SCAPE, Viventis, Zeiss, Evident (Olympus VSI) and OME-Zarr datasets into one lazy (Dask) API with a shared metadata schema. → Readers and conventions
  • OME-Zarr writing: full export, empty datasets and groups, image and label region updates, any subset of the tczyx axes. → Python API
  • Pyramids and subsetting: multiscale generation, cropping, channel reordering, metadata updates. → Python API
  • Mosaics: raw tiles shown at their stage position and fused into one OME-Zarr image (3D or projection, one timepoint or a timelapse). → Mosaics
  • Chromatic shift correction: the Z offset between channels measured on the sample itself, on the reference channel and timepoint you choose and applied to every timepoint, and a corrected copy with the same layout as the input. → Chromatic shift correction
  • Command line: one-off and CSV-batch conversion, mosaic fusion and chromatic shift correction. → Command line
  • Napari widgets: conversion with ROI selection, mosaic fusion, exploration of segmented objects (features plot linked with the viewer). → Napari plugin
  • Output tuning: sharding, singleton axes, parallel writing, progress bars. → Advanced writing options

Installation

conda create -n zarrsmith python=3.12
conda activate zarrsmith
pip install zarrsmith

Optional extras:

pip install "zarrsmith[napari]"      # napari widgets
pip install "zarrsmith[notebooks]"   # Jupyter, to run the example notebooks
pip install "zarrsmith[dev]"         # tests and packaging
pip install "zarrsmith[docs]"        # documentation build
pip install "zarrsmith[all]"         # all of the above

Extras can be combined, e.g. pip install "zarrsmith[napari,notebooks]".

Installing from source, development installs, versioning and releases: Installation and versioning.

Quick start

import zarrsmith.microscope_manager as mm

source = mm.ViventisManager("path/to/Position_1")   # any microscope manager
source.build_pyramid(num_levels=3)
source.to_zarr("output.zarr")                       # NGFF v0.5 / Zarr v3

z = mm.ZarrManager("output.zarr")
z.visualize()                                       # open in napari
zarrsmith convert -i INPUT_PATH -m MICROSCOPE -z OUTPUT_ZARR
zarrsmith fuse -i ACQUISITION_FOLDER -z OUTPUT_ZARR -rds 4 8 8   # fuse raw tiles
zarrsmith chromatic-shift -i INPUT_ZARR -z OUTPUT_ZARR -r shift.json   # align channels in Z

Documentation

Getting started

Page Contents
Installation and versioning environments, extras, release labels
Readers and conventions supported microscopes, shared reader behaviour, logging

Working with data

Page Contents
Python API export, empty datasets, axis-aware metadata, labels, region writes
Mosaics raw tiles, placement check, fusion options, timelapses
Chromatic shift correction measuring the Z offset between channels, the corrected dataset, checking the result, zarrsmith chromatic-shift
Advanced writing options sharding, singleton axes, parallel writing, progress bar

Interfaces

Page Contents
Command line zarrsmith convert, zarrsmith fuse, zarrsmith chromatic-shift (one dataset or a CSV batch)
Napari plugin converter, mosaic fusion and objects explorer widgets

Reference

Page Contents
API reference generated from the docstrings
Contributing package layout, adding a microscope manager or a mosaic manager, zarrsmith.utils, documentation

Help

For questions or bug reports, open an issue on GitHub, or contact the current maintainers.

Metadata

Release files for zarrsmith 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zarrsmith 0.6.2
File Size Uploaded Provenance Actions
zarrsmith-0.6.2.tar.gz 8.5 MB With provenance Details for zarrsmith-0.6.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for zarrsmith 0.6.2
File Interpreter ABI Platform Actions
zarrsmith-0.6.2-py3-none-any.whl Python 3 none any Details for zarrsmith-0.6.2-py3-none-any.whl

Total release size: 8.7 MB

Release files / zarrsmith-0.6.2.tar.gz

Download URL zarrsmith-0.6.2.tar.gz
Size 8.5 MB
Tags Source
SHA-256 checksum
How to use checksums
5ec8111b214a41f98fb50a04d9b05724fe1805e0c32e5c98371d9b6cc59ff855
BLAKE2b-256 checksum
How to use checksums
f00fea869cd6e1ddd1e4a45b1dfbd04945fd0719e9a9a1c03380995fd3dc56d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / zarrsmith-0.6.2-py3-none-any.whl

Download URL zarrsmith-0.6.2-py3-none-any.whl
Size 216.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d654d1c3368bdf660f9b6f714ee809299fe0f2a298a0a28b823036438bef924d
BLAKE2b-256 checksum
How to use checksums
93dfe12fa99ef3e91c88fe69f5cf39d939dc21e492e5dc531ed19fc457d63c84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for zarrsmith 0.6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for zarrsmith-0.6.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page