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

Multiscales order matters and indicates array size / resolution (?) #151

Open bogovicj opened 1 year ago

bogovicj commented 1 year ago

Every example for multiscales that I know of orders the objects in the datasets arrays from largest to smallest arrays (highest to lowest resolution). Are there any use cases in which either the order does not matter or the order matters but means something different?

Whether the order matters, and what the order means if it does is not explained in the spec, so I propose describing in the spec that the order does matter and means most-expensive to load to least-expensive to load or similar. Suggestions most welcome.

In the future we could consider getting fancier with "hints" for consuming software that "big vs small," but I don't feel it is worth it now.

@constantinpape @tischi

constantinpape commented 1 year ago

Yes, I agree. Indeed as far as I know the assumption that this is ordered by size / level in the scale pyramid is baked in.

I propose describing in the spec that the order does matter and means most-expensive to load to least-expensive to load

I also agree that we should make this more explicit. Maybe we should mention Multiscale Image Pyramid here explicitly?

will-moore commented 1 year ago

This is explained in the current spec at https://ngff.openmicroscopy.org/latest/#multiscale-md

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.
d-v-b commented 1 year ago

Instead of assigning semantics to the order of the images, I would suggest changing

Each "multiscales" dictionary MAY contain the field "coordinateTransformations"... to Each "multiscales" dictionary MUST contain the field "coordinateTransformations"...

The set of coordinate transformations already define the order. There's no need to specify it again with array order.

bogovicj commented 1 year ago

So it is @will-moore , don't know how i missed that. Thanks