ZarrSmith — microscopy I/O, OME-Zarr forging, and NGFF utilities
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
tczyxaxes. → 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.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zarrsmith-0.6.3.tar.gz | 8.5 MB | With provenance | Details for zarrsmith-0.6.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zarrsmith-0.6.3-py3-none-any.whl | Python 3 | none | any | Details for zarrsmith-0.6.3-py3-none-any.whl |
Total release size: 8.7 MB
Release files / zarrsmith-0.6.3.tar.gz
| Download URL | zarrsmith-0.6.3.tar.gz |
|---|---|
| Size | 8.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aab6395ba14db78bffb4a233eb2327459b20c3ea595c85b419dd69b563313394
|
|
BLAKE2b-256 checksum How to use checksums |
a084c2bd46c4b188477efa93a28a7d89da81dcc36273818e818df18a7ee17279
|
| 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 3, 2026.
Transparency logRelease files / zarrsmith-0.6.3-py3-none-any.whl
| Download URL | zarrsmith-0.6.3-py3-none-any.whl |
|---|---|
| Size | 220.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5d10568ff945601f38f7b5d5c5eb7a4fac300fa09e40beb39975c55fcb37cd1
|
|
BLAKE2b-256 checksum How to use checksums |
a5836220d8385802d6fb1b68703b461202c777b838ef0ca00117b8b26205c262
|
| 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 3, 2026.
Transparency logSecurity for zarrsmith 0.6.3
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.
Attestation for zarrsmith-0.6.3.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 3, 2026.
Transparency logA 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.