Skip to main content

Give easy, high-level access to ome-zarr filesets.

Project description

ez-zarr

ez_zarr


Goals

The aim of ez_zarr is to provide easy, high-level access to OME-Zarr filesets (high content screening microscopy data, stored according to the NGFF specifications in OME-Zarr with additional metadata fields, for example the ones generated by the Fractal platform).

The goal is that users can write simple scripts working with plates, wells and fields of view, without having to understand how these are represented within an OME-Zarr fileset.

In addition to the python package, we also provide an R package that automatically generates and wraps a python environment with ez_zarr and all dependencies, available at https://github.com/fmicompbio/ezzarr.

Example

You can use ez_zarr from the command line to get information about an OME-Zarr fileset:

ez_zarr tests/example_data/plate_ones.zarr

or from within python to get access to all its functionality:

## import module
from ez_zarr import ome_zarr

## open an Image
img = ome_zarr.Image('tests/example_data/plate_ones_mip.zarr/B/03/0')
img
# Image 0
#   path: tests/example_data/plate_ones_mip.zarr/B/03/0
#   n_channels: 2 (some-label-1, some-label-2)
#   n_pyramid_levels: 3
#   pyramid_zyx_scalefactor: [1. 2. 2.]
#   full_resolution_zyx_spacing (micrometer): [1.0, 0.1625, 0.1625]
#   segmentations: organoids
#   tables (measurements): FOV_ROI_table

## legacy objects from `hcs_wrappers`
from ez_zarr import hcs_wrappers

plate_3d = hcs_wrappers.FractalZarr('tests/example_data/plate_ones.zarr')
plate_3d
# FractalZarr plate_ones.zarr
#   path: tests/example_data/plate_ones.zarr
#   n_wells: 1
#   n_channels: 2 (some-label-1, some-label-2)
#   n_pyramid_levels: 3
#   pyramid_zyx_scalefactor: {'0': array([1. 2. 2.])}
#   full_resolution_zyx_spacing: [1.0, 0.1625, 0.1625]
#   segmentations: 
#   tables (measurements): FOV_ROI_table

A more extensive example is available from here, also available as an ipynb notebook.

Install

ez_zarr is available for all major platforms (macOS, Linux and Windows) and modern versions of python. It can be installed using pip or conda:

Using pip

PyPI - Version PyPI - Python Version PyPI - Downloads

The release version of ez_zarr can be installed using pip:

pip install ez-zarr

To install also the dependencies required for running unit tests or to download the example data and run the examples given in the documentation, install ez_zarr with the dev and doc extras, respectively:

pip install "ez-zarr[dev,doc]"

The current (development) ez_zarr can be installed from github.com using:

pip install git+ssh://git@github.com/fmicompbio/ez_zarr.git

Using conda

Conda Version Conda Platforms Conda Downloads

Alternatively, you can install ez-zarr from the conda-forge channel using:

conda install -c conda-forge --override-channels ez-zarr

Software status

unit-tests codecov

Supported versions of zarr

ez-zarr currently supports OME-Zarr v0.4 and v0.5 (corresponding to version 2 and 3 of the zarr format, and thus version 2 and 3 of the zarr python package). OME-Zarr v0.5 support was introduced in ez-zarr v0.4.0.

Contributors and License

ez_zarr is released under the MIT License, and the copyright is with the Friedrich Miescher Insitute for Biomedical Research (see LICENSE).

ez_zarr is being developed at the Friedrich Miescher Institute for Biomedical Research by @silvbarb, @csoneson and @mbstadler.

Citing ez-zarr

DOI

If you are using ez-zarr in published research, please cite the paper:

Barbiero et al., (2025). ez-zarr: A Python package for easy access and visualisation of OME-Zarr filesets. Journal of Open Source Software, 10(109), 7882, https://doi.org/10.21105/joss.07882

Need help?

If you run into problems when using ez_zarr, please first check whether the answer is available in the help pages for the individual functions underneath 'Documentation' or in the 'Getting started' vignette. If not, please open an issue and explain your problem. Try to provide a reproducible example, and always include the code you used, that will make it much easier for us to help.

Contributions

If you would like to contribute to ez_zarr, you can do so by sending a pull request to this repository. If the contribution involves changes in the functionality provided by ez_zarr, we encourage you to first open an issue to discuss the intended contribution.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ez_zarr-0.4.2.tar.gz (14.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ez_zarr-0.4.2-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

Details for the file ez_zarr-0.4.2.tar.gz.

File metadata

  • Download URL: ez_zarr-0.4.2.tar.gz
  • Upload date:
  • Size: 14.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ez_zarr-0.4.2.tar.gz
Algorithm Hash digest
SHA256 53951f670eaec507ab67ff24594513b6895924d9ca93ce169aeabcdf989175a5
MD5 5d37fbf9a1a382ba553f0af3bd6fbee3
BLAKE2b-256 ef93e0465f9ac5309633c8bcb3908160f27b182551494aa4dca6e00998f2d14a

See more details on using hashes here.

File details

Details for the file ez_zarr-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: ez_zarr-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 45.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ez_zarr-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c1c8efe91897d0fcc80ec25bd3f3773c7cf3109edf7e7318e6e9e389498dafc4
MD5 169c05641deb40395bc818cfa1a2e917
BLAKE2b-256 974a2233fb28d260bc0e71d633cb40e7c92d962f660b041b962e3e4f9bee6c39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page