Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend the axes fields in multiscales metadata #57

Merged
merged 18 commits into from
Jan 27, 2022
Merged
Changes from 4 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions latest/index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,18 @@ Metadata {#metadata}
The various `.zattrs` files throughout the above array hierarchy may contain metadata
keys as specified below for discovering certain types of data, especially images.

"axes" metadata {#axes-md}
--------------------------

Describes axes of a physical coordinate space. It is a dictionary, which MUST contain the fields:
- "labels": list of strings that specify the name per dimension. The values MUST be unique.
- "types": list of strings that specify the type per dimension. The values SHOULD be one of "space", "channel", "time".
- "units": list of strings that specify the unit per dimension.
constantinpape marked this conversation as resolved.
Show resolved Hide resolved

The three lists MUST have the same length.
If part of [[#multiscale-md]], the length MUST be equal to the array.


"multiscales" metadata {#multiscale-md}
---------------------------------------

Expand All @@ -218,11 +230,8 @@ the arrays storing the individual resolution levels.
Each dictionary in "datasets" MUST contain the field "path", whose value contains the path to the array for this resolution relative
to the current zarr group. The "path"s MUST be ordered from largest (i.e. highest resolution) to smallest.

It MUST contain the field "axes", which is a list of dimension names of the axes.
The values MUST be unique and one of `{"t", "c", "z", "y", "x"}`.
The number of values MUST be the same as the number of dimensions of the arrays corresponding to this image.
In addition, the "axes" values MUST be repeated in the field "_ARRAY_DIMENSIONS" of all scale groups
(i.e. groups containing arrays with the multiscale data).
It MUST contain the field "axes", see [[#axes-md]] and the length of the lists in "axes" must be equal to the number of dimensions in the array.
The "labels" list must be repeated in the field "_ARRAY_DIMENSIONS" of all scale groups (i.e. groups containing arrays with the multiscale data).
This ensures compatibility with the [xarray zarr encoding](http://xarray.pydata.org/en/stable/internals/zarr-encoding-spec.html#zarr-encoding).

It SHOULD contain the field "name".
Expand Down