Skip to content

Zarr v2 -> Zarr v3 migration across computational imaging team's frameworks #199

@mattersoflight

Description

@mattersoflight

We have decided to upgrade our image processing and analysis pipelines from zarr v2 (ome-zarr-0.4) to zarr v3 (ome-zarr-0.5) format.
The key reason for the switch is that the support for sharding and small chunks in zarr v3 datasets will enable real-time inference for smart microscopy, efficient model training through parallel/distributed data loading, and efficient visualization.

This issue is focused on identifying any disruption in processing that computational imaging team and collaborators may encounter due to the change in format, across iohub, biahub, waveorder, viscy, and shrimpy. We are centralizing the discussion in biahub repo.

iohub has been updated to support reading and writing with both versions: When we write the zarrs during the processing steps we just need to set the version flag in iohub.ngff.open_ome_zarr to v0.5.

We need to make a few key decisions:

  1. Should the refactored CLI across the repos "silently" migrate from zarr v2 to zarr v3, or propagate the format? For silent migration, the CLI can read zarr v2/v3 data, and write only zarr v3 data. This is currently preferred to migrate to a better format and reduce data duplication. If the conversion can break existing analysis workflows and the fix is not straightforward, we can propagate the format.

  2. Which CLI need to be updated in what order so that silent migration doesn't break existing analysis workflows? We need key users's inputs to decide if migration to zarr v3 will break their data analysis pipelines.

@Soorya19Pradeep, @tayllatheodoro, @gav-sturm can you please add a sub-issue to clarify which CLI are you currently dependent on that could break with migration to zarr v3? We can use the sub-issue to resolve the problems.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions