WIP: Introduce plate class - #570
Conversation
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-image-class
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-image-class
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-image-class
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-image-class
for more information, see https://pre-commit.ci
|
@will-moore if you're interested, this would be roughly my idea on how a class-based API could look like for writing HCS data (see In essence, one would have to create a dictionary of plate_dict = {
("A", 1): [ngff_rowA_col1_fov1, ngff_rowA_col1_fov2, ...],
("A", 2): [ngff_rowA_col2_fov1, ngff_rowA_col2_fov2, ...],
("B", 1): [ngff_rowB_col1_fov1, ngff_rowB_col1_fov2, ...]
}
ngff_plate = NgffHCSPlate(plate_dict)
ngff_plate.to_ome_zarr(...)this would then internally populate the omzp metadata, and dump everything to disk. |
|
So, you have to have the whole plate in memory / dask-arrays before you write? When we export Plates with In your |
Kind of. Under the hood, everything is coerced to a dask array, so the memory footprint should be low. Or at least not larger than whatever a user has in memory in the first place.
The |
|
This pull request has been mentioned on Image.sc Forum. There might be relevant details there: |
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-plate-class
for more information, see https://pre-commit.ci
…/ome-zarr-py into introduce-plate-class
for more information, see https://pre-commit.ci
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #570 +/- ##
==========================================
- Coverage 87.09% 79.63% -7.46%
==========================================
Files 17 20 +3
Lines 2526 2848 +322
==========================================
+ Hits 2200 2268 +68
- Misses 326 580 +254 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@kevinyamauchi @will-moore I cleaned up here a bit, I think this is shaping a bit more into how I would envision things to work around reading/writing plates. I used it to create some sample data which is available here and checks out alright with the validator 🙂 Also: This PR probably needs a full rewrite in a separate PR because of the garbled up PR history, but since all changes are pretty much inside the |
This is a first draft of an implementation of how writing plates could look like in a class-based API world, built around the
NgffMultiscalesclass proposed in #515