Package: omero-cli-zarr
OMERO CLI Zarr pluginThis OMERO command-line plugin allows you to export Images and Plates
from OMERO as zarr files, according to the spec athttps://github.com/ome/omero-ms-zarr/blob/master/spec.mdas well as Masks associated with Images.Images are 5D arrays of shape(t, c, z, y, x).
Plates are a hierarchy ofplate/row/column/field(image).
Masks are 2D bitmasks which can exist on muliplte planes of an Image.
Inome-zarrsets of Masks are collected together into “labels”.It supports export using 2 alternative methods:By default the OMERO API is used to load planes as numpy arrays
and the zarr file is created from this data. NB: currently, large
tiled images are not supported by this method.Alternatively, if you can read directly from the OMERO binary
repository and have installedhttps://github.com/glencoesoftware/bioformats2rawthen you can use this to create zarr files.UsageImages and PlatesTo export Images or Plates via the OMERO API:# Image will be saved in current directory as 1.zarr
$ omero zarr export Image:1

# Plate will be saved in current directory as 2.zarr
$ omero zarr export Plate:2

# Specify an output directory
$ omero zarr --output /home/user/zarr_files export Image:1

# By default, a tile size of 1024 is used. Specify values with
$ omero zarr export Image:1 --tile_width 256 --tile_height 256NB: If the connection to OMERO is lost and the Image is partially exported,
re-running the command will attempt to complete the export.To export images via bioformats2raw we use the`--bf`flag:export MANAGED_REPO=/var/omero/data/ManagedRepository
export BF2RAW=/opt/tools/bioformats2raw-0.2.0-SNAPSHOT

$ omero zarr --output /home/user/zarr_files export 1 --bf
Image exported to /home/user/zarr_files/2chZT.lsmMasks and PolygonsTo export Masks or Polygons for an Image or Plate, use themasksorpolygonscommand:# Saved under 1.zarr/labels/0 - 1.zarr/ must already exist
$ omero zarr masks Image:1

# Labels saved under each image. e.g 2.zarr/A/1/0/labels/0
# Plate should already be exported
$ omero zarr masks Plate:2

# Saved under zarr_files/1.zarr/labels/0
$ omero zarr --output /home/user/zarr_files masks Image:1

# Specify the label-name. (default is '0')
# e.g. Export to 1.zarr/labels/A
$ omero zarr masks Image:1 --label-name=A

# Allow overlapping masks or polygons (overlap will be maximum value of the dtype)
$ omero zarr polygons Image:1 --overlaps=dtype_maxThe default behaviour is to export all masks or polygons on the Image to a single 5D
“labeled” zarr array, with a different value for each Shape.
An exception will be thrown if any of the masks overlap, unless the–overlapsoption is used as above.An alternative to handle overlapping masks is to split masks into non-overlapping zarr
groups using a “label-map” which is a csv file that specifies the name of
the zarr group for each ROI on the Image. Columns are ID, NAME, ROI_ID.For example, to create a group from thetextValueof each Shape,
you can use this command:omero hql --style=plain "select distinct s.textValue, s.roi.id from Shape s where s.roi.image.id = 5514375" --limit=-1 | tee 5514375.roisThis creates a file5514375.roislike this:0,Cell,1369132
1,Cell,1369134
2,Cell,1369136
...
40,Chromosomes,1369131
41,Chromosomes,1369133
42,Chromosomes,1369135
...This will create zarr groups ofCellandChromosomesunder5514375.zarr/labels/:$ omero zarr masks Image:5514375 --label-map=5514375.roisLicenseThis project, similar to many Open Microscopy Environment (OME) projects, is
licensed under the terms of the GNU General Public License (GPL) v2 or later.Copyright2020-2023, The Open Microscopy Environment