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
Use as a image reader plugin for napari. The napari plugin was generated with Cookiecutter along with @napari’s cookiecutter-napari-plugin template.
Simple command-line to read and download conforming Zarr filesets.
Helper methods for parsing related metadata.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ome_zarr-0.0.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98840bacd55445a2e8b4f3f457d8de397c7ae3696db82c79cab8009a06ae3941 |
|
MD5 | e7c8a5daa3ba1387de5a52a7cd5670dc |
|
BLAKE2b-256 | d091b626211177d35c6dfdb54f59cf3b9b4bbce30719b185afc8c1b2c464b185 |