feat: Added RFC-9 Zipped OME-Zarr#408
Conversation
Signed-off-by: Sricharan Reddy Varra <sricharan.varra@biohub.org>
|
Quick high level feedback - can't we fold ozx into the existing iohub infrastructure, maybe something like: iohub convert -i dataset.zarr -o dataset.ozx # Pack into a `ozx` Zip archive
iohub info dataset.ozx --ozx # check RFC-9 properties
iohub info dataset.ozx # FOV summary (auto-detects .ozx) |
|
A single-layer namespace works, but specialized groups make the purpose more explicit, I think this should be it's own
We'll eventually need a CLI to unzip a
RFC-9 is still in review and the surface of things we may find useful can grow ( |
|
Re: #408 (comment) I disagree with just about everything in that comment. It looks like Claude is overfitting to what you want to do rather than thinking through the problem. I don't think the user should worry about compressed vs uncompressed zarr stores - that's something iohub should be able to figure out. If RFC-10 comes up with yet another format (we've been thru v2, v3, now ozx..) we wouldn't make to make yet another entry point. It's true that Re: |
Yeah these makes sense to me we can do that. |
|
We've been running this branch (pinned at 53b10ac) in VisCy since 2026-04-27 for predicting and finetuning on packed ozx stores. One reproducible issue worth flagging before merge: any consumer that opens an ozx in the parent process and then forks workers (default Why: Repro: any dataset.zarr → ozx.pack archive served through Possible fixes:
|
Signed-off-by: Sricharan Reddy Varra <sricharan.varra@biohub.org>
Signed-off-by: Sricharan Reddy Varra <sricharan.varra@biohub.org>
Signed-off-by: Sricharan Reddy Varra <sricharan.varra@biohub.org>
|
Wrapped up the requested changes. @alxndrkalinin Let me know if this fixes the forking workers issue. |
ieivanov
left a comment
There was a problem hiding this comment.
Had a quick look, I'm happy with how ozx info and convert are integrated
Adds RFC-9 Zipped OME-Zarr (
.ozx) — a single-file archive for distribution.open_ome_zarr("dataset.ozx")works in Python with no flags. Fork-safe viaos.register_at_fork, so PyTorchDataLoader(num_workers>0)works on Linux.