Skip to content

feat: add OME-Zarr (ngff-zarr) and DICOM dataset I/O backends - #3

Closed
vboussot wants to merge 1 commit into
mainfrom
pr/imaging
Closed

feat: add OME-Zarr (ngff-zarr) and DICOM dataset I/O backends#3
vboussot wants to merge 1 commit into
mainfrom
pr/imaging

Conversation

@vboussot

Copy link
Copy Markdown
Member

Description

Add DICOM and OME-Zarr as first-class dataset I/O backends, alongside SimpleITK and HDF5.

  • DICOM (pydicom): series discovery, position-based slice ordering, geometry (origin/spacing/direction), HU rescale, lazy per-slice patch reads, write. Geometry round-trips byte-identically to SimpleITK's GDCM reader.
  • OME-Zarr: a thin adapter over ngff-zarr (no hand-rolled NGFF parsing) — lazy chunked reads, write, interoperable output.
  • Resolution selection: pick a multiscale pyramid level per source via the spec suffix omezarr@<level> (e.g. ./Dataset:a:omezarr@2), independent of any transform; level 0 by default.
  • Format aliases (dicom, ome-zarr, zarr) and end-to-end + interop tests.

Testing

pixi run --environment dev python -m pytest tests/unit/test_imaging_formats.py tests/unit/test_imaging_roundtrip.py — green.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@vboussot

Copy link
Copy Markdown
Member Author

Superseded: the disjoint per-theme split couldn't pass CI (shared ruff/build config + cross-theme tests). Replaced by a stacked set: a core base PR (tooling+perf, verified green) with thin imaging/model/docs PRs stacked on it.

@vboussot vboussot closed this Jun 28, 2026
@vboussot
vboussot deleted the pr/imaging branch June 28, 2026 10:51
vboussot added a commit that referenced this pull request Jun 29, 2026
- AGENTS.md (303 -> 93 lines): a shorter, more general guide. Keeps the
  load-bearing parts -- the three design pillars, the extension model
  (subclass + classpath), the do-not-break invariants, and the coding/commit/
  agent conventions -- and drops the verbose config-key catalogues, per-subsystem
  deep-dives, env-var/optional-dep tables, and the end-to-end run trace, which
  belong in docs/ and examples/.

- AUDIT.md (206 -> 64 lines): rewritten to the current state after PR #10. It
  records concisely what is fixed (modernization #6-#9 + audit follow-up #1, #2,
  #10, #14-#19, DICOM hardening, os.environ device fix) versus what remains -- the
  audit does NOT claim everything is resolved: ~9 confirmed bugs are still a
  clearly-listed backlog (#3 VAE noise, #4 EMA early-stop score, #5 explicit
  Standardize, #6 Rotate deg->rad, #7 CLI tensorboard, #8 Unsqueeze, #9
  ResampleToShape, #12 Select, #13 ITK) plus the deferred cross-cutting refactors.
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.

1 participant