ome / ngff

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

Clarification about `_ARRAY_DIMENSIONS` #217

Closed tcompa closed 11 months ago

tcompa commented 11 months 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 11 months 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 11 months 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 11 months ago

Yes please! - thanks