bioio-devs / bioio-base

Typing, base classes, and more for BioIO projects.
https://bioio-devs.github.io/bioio-base/
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

pyramid levels in reader api #8

Closed toloudis closed 11 months ago

toloudis commented 1 year ago

Feature Description

add some notion of multiresolution levels to the reader api

Use Case

ome-zarr supports multiresolution levels. I believe there is a flavor of ome-tiff also. And czi.

Solution

This probably requires some extra discussion to design the api but here is an idea: Add support for ome-zarr first. Other readers should just always use level 0 (max resolution). A simple option seems to be to handle it like scenes, where you call set_multiresolution_level, and get_num_multiresolution_levels. Dimensions for each multiresolution level will be different, of course.

Alternatives

Perhaps a way to fold it in with dimensions, but that seems less ergonomic. Each data read request has to be for a particular multiresolution level.
It would also be interesting for the ome-zarr reader to have a chunk api so you can know your requests are at the chunk boundaries.

SeanLeRoy commented 1 year ago

See relevant issue submitted in aicsimageio