Skip to main content

Implementation of images in Zarr files.

Project description

Experimental support for multi-resolution images stored in Zarr filesets, according to the OME zarr spec.

Features

Installation

Install the latest release of ome-zarr from PyPI:

pip install ome-zarr

Install developer mode to run from your current branch:

git clone git@github.com:ome/ome-zarr-py.git
cd ome-zarr-py
pip install -e .

Usage

Open Zarr filesets containing images with associated OME metadata. The examples below use the image at http://idr.openmicroscopy.org/webclient/?show=image-6001240.

All examples can be made more or less verbose by passing -v or -q one or more times:

# ome_zarr -vvv ...

info

Use the ome_zarr command to interrogate Zarr datasets:

# Remote data
$ ome_zarr info https://s3.embassy.ebi.ac.uk/idr/zarr/v0.1/6001240.zarr/

# Local data (after downloading as below)
$ ome_zarr info 6001240.zarr/

download

To download all the resolutions and metadata for an image:

# creates local 6001240.zarr/
$ ome_zarr download https://s3.embassy.ebi.ac.uk/idr/zarr/v0.1/6001240.zarr/

# Specify output directory
$ ome_zarr download https://s3.embassy.ebi.ac.uk/idr/zarr/v0.1/6001240.zarr/ --output image_dir

napari plugin

Napari will use ome-zarr to open images that the plugin recognises as ome-zarr. The image metadata from OMERO will be used to set channel names and rendering settings in napari:

$ napari 'https://s3.embassy.ebi.ac.uk/idr/zarr/v0.1/6001240.zarr/'

# Also works with local files
$ napari 6001240.zarr

OR in python:

import napari
with napari.gui_qt():
    viewer = napari.Viewer()
    viewer.open('https://s3.embassy.ebi.ac.uk/idr/zarr/v0.1/6001240.zarr/')

If single zarray is passed to the plugin, it will be opened without the use of the metadata:

$ napari '/tmp/6001240.zarr/0'

csv to labels

The csv_to_labels command uses a CSV file to add key:value properties to labels under an OME-Zarr Image or Plate.

The OME-Zarr labels metadata must already contain a properties list of {key:value} objects, each with a unique key:ID. This key is omero:shapeId in the example below.

This ID can be used to identify a single row of the CSV table by specifying the name of a column with unique values, e.g. shape_id below. This row is used to add additional column_name:value data to the label properties.

You also need to specify which columns from the CSV to use, e.g. “area,X,Y,Width,Height”. You can also specify the column types (as in https://github.com/ome/omero-metadata/) to specify the data-type for each column (string by default).

  • d: DoubleColumn, for floating point numbers

  • l: LongColumn, for integer numbers

  • s: StringColumn, for text

  • b: BoolColumn, for true/false

Use e.g. #d as a suffix in the column name to denote a float column, no spaces etc: ` "area#d,label_text#s,Width#l,Height#l" `

For example, to take values from columns named area, label_text, Width and Height within a CSV file named labels_data.csv with an ID column named shape_id and add these values to label properties with an ID key of omero:shapeId in an Image or Plate named 123.zarr:

ome_zarr csv_to_labels labels_data.csv shape_id "area#d,label_text#s,Width#l,Height#l" 123.zarr omero:shapeId```

Release process

This repository uses bump2version to manage version numbers. To tag a release run:

$ bumpversion release

This will remove the .dev0 suffix from the current version, commit, and tag the release.

To switch back to a development version run:

$ bumpversion --no-tag [major|minor|patch]

specifying major, minor or patch depending on whether the development branch will be a major, minor or patch release. This will also add the .dev0 suffix.

Remember to git push all commits and tags.

License

Distributed under the terms of the BSD license, “ome-zarr-py” is free and open source software

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

ome-zarr-0.0.16.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

ome_zarr-0.0.16-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file ome-zarr-0.0.16.tar.gz.

File metadata

  • Download URL: ome-zarr-0.0.16.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.10

File hashes

Hashes for ome-zarr-0.0.16.tar.gz
Algorithm Hash digest
SHA256 abf07c3771aed2bcce1e762f75ae5542c66b46f7aac3f50fd178788037dcf4d8
MD5 1a6e5afa148a197534831c8bff6c1c97
BLAKE2b-256 08aceed81c04b19b47cc2bf00ee1c4a498c865c5b9661d0285cf9970bc3e8f40

See more details on using hashes here.

File details

Details for the file ome_zarr-0.0.16-py3-none-any.whl.

File metadata

  • Download URL: ome_zarr-0.0.16-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.10

File hashes

Hashes for ome_zarr-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 98840bacd55445a2e8b4f3f457d8de397c7ae3696db82c79cab8009a06ae3941
MD5 e7c8a5daa3ba1387de5a52a7cd5670dc
BLAKE2b-256 d091b626211177d35c6dfdb54f59cf3b9b4bbce30719b185afc8c1b2c464b185

See more details on using hashes here.

Supported by

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