ome / ngff

Next-generation file format (NGFF) specifications for storing bioimaging data in the cloud.
https://ngff.openmicroscopy.org
Other
119 stars 41 forks source link

Clarification about `_ARRAY_DIMENSIONS` #217

Closed tcompa closed 1 year ago

tcompa commented 1 year ago

Hi there,

The current version of 0.4 specs states (https://github.com/ome/ngff/blob/main/0.4/index.bs#L148) that

    ├── .zgroup               # Each image is a Zarr group, or a folder, of other groups and arrays.
    ├── .zattrs               # Group level attributes are stored in the .zattrs file and include
    │                         # "multiscales" and "omero" (see below). In addition, the group level attributes
    │                         # must also contain "_ARRAY_DIMENSIONS" if this group directly contains multi-scale arrays.

but other sources suggest that _ARRAY_DIMENSIONS was removed from the 0.4 NGFF specs:

I'd like to know whether this is just a typo in the specs, or whether v0.4 still requires image groups to have a _ARRAY_DIMENSIONS attribute. Thanks!

will-moore commented 1 year ago

Thanks for pointing this out and for referencing https://github.com/ome/ome-zarr-py/issues/166#issuecomment-1032374780. From the discussion there I see that _ARRAY_DIMENSIONS isn't required by the 0.4 spec, so we need to update the text in the spec accordingly. e.g.

In addition, the group level attributes
may also contain "_ARRAY_DIMENSIONS" for compatibility with xarray if this group directly contains multi-scale arrays.
tcompa commented 1 year ago

Thanks for the clarification.

so we need to update the text in the spec accordingly. e.g.

In addition, the group level attributes
may also contain "_ARRAY_DIMENSIONS" for compatibility with xarray if this group directly contains multi-scale arrays.

If it's useful I can open a PR with this change.

will-moore commented 1 year ago

Yes please! - thanks