Skip to content

Welcome to OME-writers

ome-writers is a Python library that provides a unified interface for writing microscopy image data to OME-compliant formats (either OME-TIFF or OME-Zarr) using various different backends. It is designed for streaming acquisition: receiving 2D camera frames one at a time and writing them to multi-dimensional arrays with proper metadata.

We prioritize:

  • βœ… Correctness: Strict adherence to both OME-TIFF and OME-Zarr specifications.
  • πŸ’― Completeness: We want all the metadata to go to its proper place.
  • πŸš€ Performance: Very minimal, native-backed hot-path logic when appending frames.
  • πŸ€Έβ€β™‚οΈ Flexibility: Pick from 5+ array backends, suiting your dependency preferences.
  • πŸ“– Usability: Relatively small, well organized API, with extensive documentation.
  • πŸ’ͺ Stability: Minimal dependencies, exhaustive testing and validation.

Installation

See dedicated installation instructions.

Usage

See Using ome-writers for a quick overview of how to use the library.

from ome_writers import AcquisitionSettings, create_stream

settings = AcquisitionSettings( ... )

with create_stream(settings) as stream:
    for frame in frame_generator():
        stream.append(frame)

Reference

For complete reference on how to build AcquisitionSettings, see the API documentation.

Examples

For more use-case specific examples, see the examples:

Feedback

We love your feedback!

If you have usage questions ("How do I...?"), please post on the image.sc forum with tag ome-writers or pymmcore-plus.

And of course, if you have bug reports, feature requests, or any other feedback, you can always open an issue on GitHub.