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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf07c3771aed2bcce1e762f75ae5542c66b46f7aac3f50fd178788037dcf4d8 |
|
MD5 | 1a6e5afa148a197534831c8bff6c1c97 |
|
BLAKE2b-256 | 08aceed81c04b19b47cc2bf00ee1c4a498c865c5b9661d0285cf9970bc3e8f40 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98840bacd55445a2e8b4f3f457d8de397c7ae3696db82c79cab8009a06ae3941 |
|
MD5 | e7c8a5daa3ba1387de5a52a7cd5670dc |
|
BLAKE2b-256 | d091b626211177d35c6dfdb54f59cf3b9b4bbce30719b185afc8c1b2c464b185 |