Skip to content

OME-Zarr metadata parsing fixes and refactor - #54

Merged
cmhulbert merged 23 commits into
mainfrom
ome-zarr-big-changes
May 6, 2026
Merged

OME-Zarr metadata parsing fixes and refactor#54
cmhulbert merged 23 commits into
mainfrom
ome-zarr-big-changes

Conversation

@bogovicj

@bogovicj bogovicj commented May 6, 2026

Copy link
Copy Markdown
Collaborator

Fix and refactor (de)serialization of OME-Zarr metadata.

  • Better code sharing between OME-Zarr versions
  • fix version serialization for v0.5
  • Support v0.3
    • better downsampling factor inference

bogovicj and others added 23 commits April 1, 2026 11:11
* remove unused N5DatasetDiscoverer constructors
* fix Ngff v0.3 parsing
the purpose of these methods is to more flexibly support backend specific N5Reader/Writers without needing to introduce new methods for each type.
 To that end, this also deprecates the various backend specific methods

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
ZARR storage previously referred to zarr 2. given the update to support zarr 3, ZARR3 was introduced. However, ZARR should still exists as a "generic zarr" format that prefers the newest zarr version. The behavior of ZARR is as follows

For readers in order:
- return a Zarr3 reader
- else return a Zarr2 reader

For Writers, in order of attempt:
- if the location contains a zarr3 container, try to open a zarr3 writer
- else if the location contains a zarr2 container, try to open a zarr2 writer
- else if there is no existing zarr container, attempt to create a Zarr3 container.
- if a Zarr3 container could not be created, create a zarr2 container.

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…riter method. normalizeUri only for cache keys, not for creating the reader/writer

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: John Bogovic <bogovicj@janelia.hhmi.org>
@cmhulbert
cmhulbert merged commit 668bba3 into main May 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants