Skip to content

Adopt copick 2.0.0-alpha.1 and metadata-based Zarr reads #41

Description

@uermel

Parent Epic: #39
Implementation: #45

Goal

Adopt the published copick 2.0 alpha runtime and replace metadata-blind Zarr reads with one explicitly read-only accessor.

Scope

  • Require Python >=3.11, NumPy >=2.0.2, copick >=2.0.0a1,<3, copick-shared-ui >=2.0.0a1,<3, and Zarr >=3.1.6,<4.
  • Remove unused napari-ome-zarr and regenerate the compatible lock.
  • Open entity stores with zarr.open_group(store=..., mode="r").
  • Resolve ordered datasets through get_multiscales() and get_level_path().
  • Preserve non-negative high-level clamping; reject negative levels and invalid metadata clearly.
  • Use the accessor for tomograms, segmentations, and level-zero target-shape discovery.
  • Derive (z, y, x) viewer scale from OME transforms relative to entity voxel size.
  • Preserve full NumPy materialization and existing worker result contracts.
  • Update classifiers, repository URLs, CI versions, and README accuracy.

Acceptance criteria

  • OME-Zarr 0.4/v2 and 0.5/v3 numeric and non-numeric paths return exact selected data.
  • Segmentation reads request read-only access.
  • One-level clamping and malformed-store errors behave clearly.
  • Non-power-of-two transforms produce the expected layer scale.
  • The locked source behavior suite passes.

No dedicated dependency tests, structural source scans, or AST parsing are required.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    zarr-v3-migrationMigration to OME-Zarr 0.5 and Zarr v3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions