ngio 0.5.0b1__tar.gz → 0.5.0b2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ngio-0.5.0b1 → ngio-0.5.0b2}/CHANGELOG.md +1 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/PKG-INFO +1 -1
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/__init__.py +3 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/hcs/_plate.py +67 -14
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_label.py +25 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_ome_zarr_container.py +38 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/__init__.py +2 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +11 -11
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/_tables_container.py +21 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/__init__.py +2 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/_zarr_utils.py +11 -11
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/hcs/test_plate.py +18 -2
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/images/test_omezarr_container.py +37 -1
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/utils/test_zarr_utils.py +23 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.copier-answers.yml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.gitattributes +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/ISSUE_TEMPLATE.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/TEST_FAIL_TEMPLATE.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/dependabot.yml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/pull_request_template.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/workflows/build_docs.yml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.github/workflows/ci.yml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.gitignore +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/.pre-commit-config.yaml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/LICENSE +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/README.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/_typos.toml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/hcs.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/images.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/iterators.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/common.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/hcs.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/images.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/io_pipes.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/iterators.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/ngio.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/tables.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/transforms.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ngio/utils.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/ome_zarr_container.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/api/tables.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/changelog.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/code_of_conduct.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/contributing.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/0_quickstart.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/1_ome_zarr_containers.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/2_images.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/3_tables.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/4_masked_images.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/5_hcs.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/getting_started/6_iterators.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/index.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/backend.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/overview.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/condition_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/custom_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/feature_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/generic_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/masking_roi_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/table_specs/table_types/roi_table.md +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/tutorials/create_ome_zarr.ipynb +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/tutorials/feature_extraction.ipynb +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/tutorials/hcs_exploration.ipynb +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/tutorials/image_processing.ipynb +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/docs/tutorials/image_segmentation.ipynb +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/mkdocs.yml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/pyproject.toml +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_dimensions.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_masking_roi.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_pyramid.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_roi.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_synt_images_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/common/_zoom.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_abstract_iterator.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_feature.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_image_processing.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_mappers.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_rois_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/experimental/iterators/_segmentation.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/hcs/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_abstract_image.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_create_synt_container.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_create_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_image.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_masked_image.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/images/_table_ops.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_io_pipes.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_io_pipes_masked.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_io_pipes_roi.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_io_pipes_types.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_match_shape.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_ops_axes.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_ops_slices.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_ops_slices_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_ops_transforms.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/io_pipes/_zoom_transform.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v04/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v04/_custom_models.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v04/_v04_spec.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v05/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v05/_custom_models.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/ome_zarr_meta/v05/_v05_spec.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/mask.png +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/nuclei.png +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/raw.jpg +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/resources/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/resources/resource_model.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/_abstract_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_abstract_backend.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_anndata.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_anndata_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_csv.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_json.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_parquet.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_py_arrow_backends.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_table_backends.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/backends/_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/v1/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/v1/_condition_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/v1/_feature_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/v1/_generic_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/tables/v1/_roi_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/transforms/__init__.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/transforms/_zoom.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/_cache.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/_datasets.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/_errors.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/conftest.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/create_test_data.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/meta/base_ome_zarr_well_meta.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v04/meta/ome_zarr_well_path_normalization_meta.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_c1yx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_cyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_czyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tcyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tczyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_tzyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_yx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/data/v05/images/test_image_zyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/conftest.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/test_http_store.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/test_local_store.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/test_memory_store.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/test_s3_store.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/stores/utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/common/test_dimensions.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/common/test_pyramid.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/common/test_roi.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/common/test_transforms.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/hcs/test_well.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/images/test_create.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/images/test_images.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/images/test_masked_images.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/images/test_table_ops.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/io_pipes/test_axes_ops.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/io_pipes/test_slicing_ops.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/iterators/test_iterators.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/ome_zarr_meta/test_image_handler.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/ome_zarr_meta/test_unit_ngio_specs.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/ome_zarr_meta/test_unit_v04_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_backends.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_backends_utils.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_feature_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_generic_table.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_masking_roi_table_v1.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_roi_table_v1.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/tables/test_table_group.py +0 -0
- {ngio-0.5.0b1 → ngio-0.5.0b2}/tests/unit/utils/test_download_datasets.py +0 -0
|
@@ -37,6 +37,7 @@ from ngio.ome_zarr_meta.ngio_specs import (
|
|
|
37
37
|
NgffVersions,
|
|
38
38
|
PixelSize,
|
|
39
39
|
)
|
|
40
|
+
from ngio.utils import NgioSupportedStore, StoreOrGroup
|
|
40
41
|
|
|
41
42
|
__all__ = [
|
|
42
43
|
"AxesSetup",
|
|
@@ -47,12 +48,14 @@ __all__ = [
|
|
|
47
48
|
"ImageInWellPath",
|
|
48
49
|
"Label",
|
|
49
50
|
"NgffVersions",
|
|
51
|
+
"NgioSupportedStore",
|
|
50
52
|
"OmeZarrContainer",
|
|
51
53
|
"OmeZarrPlate",
|
|
52
54
|
"OmeZarrWell",
|
|
53
55
|
"PixelSize",
|
|
54
56
|
"Roi",
|
|
55
57
|
"RoiSlice",
|
|
58
|
+
"StoreOrGroup",
|
|
56
59
|
"create_empty_ome_zarr",
|
|
57
60
|
"create_empty_plate",
|
|
58
61
|
"create_empty_well",
|
|
@@ -15,6 +15,7 @@ from ngio.images import (
|
|
|
15
15
|
list_image_tables_async,
|
|
16
16
|
)
|
|
17
17
|
from ngio.ome_zarr_meta import (
|
|
18
|
+
DefaultNgffVersion,
|
|
18
19
|
ImageInWellPath,
|
|
19
20
|
NgffVersions,
|
|
20
21
|
NgioPlateMeta,
|
|
@@ -778,7 +779,8 @@ class OmeZarrPlate:
|
|
|
778
779
|
self,
|
|
779
780
|
store: StoreOrGroup,
|
|
780
781
|
plate_name: str | None = None,
|
|
781
|
-
version: NgffVersions =
|
|
782
|
+
version: NgffVersions | None = None,
|
|
783
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
782
784
|
keep_acquisitions: bool = False,
|
|
783
785
|
cache: bool = False,
|
|
784
786
|
overwrite: bool = False,
|
|
@@ -788,7 +790,8 @@ class OmeZarrPlate:
|
|
|
788
790
|
Args:
|
|
789
791
|
store (StoreOrGroup): The Zarr store or group that stores the plate.
|
|
790
792
|
plate_name (str | None): The name of the new plate.
|
|
791
|
-
version (NgffVersion):
|
|
793
|
+
version (NgffVersion | None): Deprecated. Please use 'ngff_version' instead.
|
|
794
|
+
ngff_version (NgffVersion): The NGFF version to use for the new plate.
|
|
792
795
|
keep_acquisitions (bool): Whether to keep the acquisitions in the new plate.
|
|
793
796
|
cache (bool): Whether to use a cache for the zarr group metadata.
|
|
794
797
|
overwrite (bool): Whether to overwrite the existing plate.
|
|
@@ -797,6 +800,7 @@ class OmeZarrPlate:
|
|
|
797
800
|
ome_zarr_plate=self,
|
|
798
801
|
store=store,
|
|
799
802
|
plate_name=plate_name,
|
|
803
|
+
ngff_version=ngff_version,
|
|
800
804
|
version=version,
|
|
801
805
|
keep_acquisitions=keep_acquisitions,
|
|
802
806
|
cache=cache,
|
|
@@ -955,6 +959,25 @@ class OmeZarrPlate:
|
|
|
955
959
|
name=name, table=table, backend=backend, overwrite=overwrite
|
|
956
960
|
)
|
|
957
961
|
|
|
962
|
+
def delete_table(self, name: str, missing_ok: bool = False) -> None:
|
|
963
|
+
"""Delete a table from the group.
|
|
964
|
+
|
|
965
|
+
Args:
|
|
966
|
+
name (str): The name of the table to delete.
|
|
967
|
+
missing_ok (bool): If True, do not raise an error if the table does not
|
|
968
|
+
exist.
|
|
969
|
+
|
|
970
|
+
"""
|
|
971
|
+
table_container = self._get_tables_container(create_mode=False)
|
|
972
|
+
if table_container is None and missing_ok:
|
|
973
|
+
return
|
|
974
|
+
if table_container is None:
|
|
975
|
+
raise NgioValueError(
|
|
976
|
+
f"No tables found in the image, cannot delete {name}. "
|
|
977
|
+
"Set missing_ok=True to ignore this error."
|
|
978
|
+
)
|
|
979
|
+
table_container.delete(name=name, missing_ok=missing_ok)
|
|
980
|
+
|
|
958
981
|
def list_image_tables(
|
|
959
982
|
self,
|
|
960
983
|
acquisition: int | None = None,
|
|
@@ -1157,7 +1180,6 @@ def open_ome_zarr_plate(
|
|
|
1157
1180
|
def _create_empty_plate_from_meta(
|
|
1158
1181
|
store: StoreOrGroup,
|
|
1159
1182
|
meta: NgioPlateMeta,
|
|
1160
|
-
version: NgffVersions = "0.4",
|
|
1161
1183
|
overwrite: bool = False,
|
|
1162
1184
|
) -> ZarrGroupHandler:
|
|
1163
1185
|
"""Create an empty OME-Zarr plate from metadata."""
|
|
@@ -1171,7 +1193,8 @@ def create_empty_plate(
|
|
|
1171
1193
|
store: StoreOrGroup,
|
|
1172
1194
|
name: str,
|
|
1173
1195
|
images: list[ImageInWellPath] | None = None,
|
|
1174
|
-
version: NgffVersions =
|
|
1196
|
+
version: NgffVersions | None = None,
|
|
1197
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
1175
1198
|
cache: bool = False,
|
|
1176
1199
|
overwrite: bool = False,
|
|
1177
1200
|
) -> OmeZarrPlate:
|
|
@@ -1182,18 +1205,26 @@ def create_empty_plate(
|
|
|
1182
1205
|
name (str): The name of the plate.
|
|
1183
1206
|
images (list[ImageInWellPath] | None): A list of images to add to the plate.
|
|
1184
1207
|
If None, no images are added. Defaults to None.
|
|
1185
|
-
version (NgffVersion):
|
|
1208
|
+
version (NgffVersion | None): Deprecated. Please use 'ngff_version' instead.
|
|
1209
|
+
ngff_version (NgffVersion): The NGFF version to use for the new plate.
|
|
1186
1210
|
cache (bool): Whether to use a cache for the zarr group metadata.
|
|
1187
1211
|
overwrite (bool): Whether to overwrite the existing plate.
|
|
1188
1212
|
"""
|
|
1213
|
+
if version is not None:
|
|
1214
|
+
warnings.warn(
|
|
1215
|
+
"The 'version' argument is deprecated, and will be removed in ngio=0.3. "
|
|
1216
|
+
"Please use 'ngff_version' instead.",
|
|
1217
|
+
DeprecationWarning,
|
|
1218
|
+
stacklevel=2,
|
|
1219
|
+
)
|
|
1220
|
+
ngff_version = version
|
|
1189
1221
|
plate_meta = NgioPlateMeta.default_init(
|
|
1190
1222
|
name=name,
|
|
1191
|
-
|
|
1223
|
+
ngff_version=ngff_version,
|
|
1192
1224
|
)
|
|
1193
1225
|
group_handler = _create_empty_plate_from_meta(
|
|
1194
1226
|
store=store,
|
|
1195
1227
|
meta=plate_meta,
|
|
1196
|
-
version=version,
|
|
1197
1228
|
overwrite=overwrite,
|
|
1198
1229
|
)
|
|
1199
1230
|
|
|
@@ -1218,7 +1249,8 @@ def derive_ome_zarr_plate(
|
|
|
1218
1249
|
ome_zarr_plate: OmeZarrPlate,
|
|
1219
1250
|
store: StoreOrGroup,
|
|
1220
1251
|
plate_name: str | None = None,
|
|
1221
|
-
version: NgffVersions =
|
|
1252
|
+
version: NgffVersions | None = None,
|
|
1253
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
1222
1254
|
keep_acquisitions: bool = False,
|
|
1223
1255
|
cache: bool = False,
|
|
1224
1256
|
overwrite: bool = False,
|
|
@@ -1229,24 +1261,33 @@ def derive_ome_zarr_plate(
|
|
|
1229
1261
|
ome_zarr_plate (OmeZarrPlate): The existing OME-Zarr plate.
|
|
1230
1262
|
store (StoreOrGroup): The Zarr store or group that stores the plate.
|
|
1231
1263
|
plate_name (str | None): The name of the new plate.
|
|
1232
|
-
version (NgffVersion):
|
|
1264
|
+
version (NgffVersion | None): Deprecated. Please use 'ngff_version' instead.
|
|
1265
|
+
ngff_version (NgffVersion): The NGFF version to use for the new plate.
|
|
1233
1266
|
keep_acquisitions (bool): Whether to keep the acquisitions in the new plate.
|
|
1234
1267
|
cache (bool): Whether to use a cache for the zarr group metadata.
|
|
1235
1268
|
overwrite (bool): Whether to overwrite the existing plate.
|
|
1236
1269
|
"""
|
|
1270
|
+
if version is not None:
|
|
1271
|
+
warnings.warn(
|
|
1272
|
+
"The 'version' argument is deprecated, and will be removed in ngio=0.3. "
|
|
1273
|
+
"Please use 'ngff_version' instead.",
|
|
1274
|
+
DeprecationWarning,
|
|
1275
|
+
stacklevel=2,
|
|
1276
|
+
)
|
|
1277
|
+
ngff_version = version
|
|
1278
|
+
|
|
1237
1279
|
if plate_name is None:
|
|
1238
1280
|
plate_name = ome_zarr_plate.meta.plate.name
|
|
1239
1281
|
|
|
1240
1282
|
new_meta = ome_zarr_plate.meta.derive(
|
|
1241
1283
|
name=plate_name,
|
|
1242
|
-
|
|
1284
|
+
ngff_version=ngff_version,
|
|
1243
1285
|
keep_acquisitions=keep_acquisitions,
|
|
1244
1286
|
)
|
|
1245
1287
|
_ = _create_empty_plate_from_meta(
|
|
1246
1288
|
store=store,
|
|
1247
1289
|
meta=new_meta,
|
|
1248
1290
|
overwrite=overwrite,
|
|
1249
|
-
version=version,
|
|
1250
1291
|
)
|
|
1251
1292
|
return open_ome_zarr_plate(
|
|
1252
1293
|
store=store,
|
|
@@ -1277,7 +1318,8 @@ def open_ome_zarr_well(
|
|
|
1277
1318
|
|
|
1278
1319
|
def create_empty_well(
|
|
1279
1320
|
store: StoreOrGroup,
|
|
1280
|
-
version: NgffVersions =
|
|
1321
|
+
version: NgffVersions | None = None,
|
|
1322
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
1281
1323
|
cache: bool = False,
|
|
1282
1324
|
overwrite: bool = False,
|
|
1283
1325
|
) -> OmeZarrWell:
|
|
@@ -1285,14 +1327,25 @@ def create_empty_well(
|
|
|
1285
1327
|
|
|
1286
1328
|
Args:
|
|
1287
1329
|
store (StoreOrGroup): The Zarr store or group that stores the well.
|
|
1288
|
-
version (NgffVersion):
|
|
1330
|
+
version (NgffVersion | None): Deprecated. Please use 'ngff_version' instead.
|
|
1331
|
+
ngff_version (NgffVersion): The version of the new well.
|
|
1289
1332
|
cache (bool): Whether to use a cache for the zarr group metadata.
|
|
1290
1333
|
overwrite (bool): Whether to overwrite the existing well.
|
|
1291
1334
|
"""
|
|
1335
|
+
if version is not None:
|
|
1336
|
+
warnings.warn(
|
|
1337
|
+
"The 'version' argument is deprecated, and will be removed in ngio=0.3. "
|
|
1338
|
+
"Please use 'ngff_version' instead.",
|
|
1339
|
+
DeprecationWarning,
|
|
1340
|
+
stacklevel=2,
|
|
1341
|
+
)
|
|
1342
|
+
ngff_version = version
|
|
1292
1343
|
group_handler = ZarrGroupHandler(
|
|
1293
1344
|
store=store, cache=True, mode="w" if overwrite else "w-"
|
|
1294
1345
|
)
|
|
1295
|
-
update_ngio_well_meta(
|
|
1346
|
+
update_ngio_well_meta(
|
|
1347
|
+
group_handler, NgioWellMeta.default_init(ngff_version=ngff_version)
|
|
1348
|
+
)
|
|
1296
1349
|
|
|
1297
1350
|
return open_ome_zarr_well(
|
|
1298
1351
|
store=store,
|
|
@@ -182,6 +182,31 @@ class LabelsContainer:
|
|
|
182
182
|
)
|
|
183
183
|
return Label(group_handler, path, label_meta_handler)
|
|
184
184
|
|
|
185
|
+
def delete(self, name: str, missing_ok: bool = False) -> None:
|
|
186
|
+
"""Delete a label from the group.
|
|
187
|
+
|
|
188
|
+
Args:
|
|
189
|
+
name (str): The name of the label to delete.
|
|
190
|
+
missing_ok (bool): If True, do not raise an error if the label does not
|
|
191
|
+
exist.
|
|
192
|
+
|
|
193
|
+
"""
|
|
194
|
+
existing_labels = self.list()
|
|
195
|
+
if name not in existing_labels:
|
|
196
|
+
if missing_ok:
|
|
197
|
+
return
|
|
198
|
+
raise NgioValueError(
|
|
199
|
+
f"Label '{name}' not found in the Labels group. "
|
|
200
|
+
f"Available labels: {existing_labels}"
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
self._group_handler.delete_group(name)
|
|
204
|
+
existing_labels.remove(name)
|
|
205
|
+
update_meta = NgioLabelsGroupMeta(
|
|
206
|
+
labels=existing_labels, version=self.meta.version
|
|
207
|
+
)
|
|
208
|
+
self._meta_handler.update_meta(update_meta)
|
|
209
|
+
|
|
185
210
|
def derive(
|
|
186
211
|
self,
|
|
187
212
|
name: str,
|
|
@@ -674,6 +674,25 @@ class OmeZarrContainer:
|
|
|
674
674
|
name=name, table=table, backend=backend, overwrite=overwrite
|
|
675
675
|
)
|
|
676
676
|
|
|
677
|
+
def delete_table(self, name: str, missing_ok: bool = False) -> None:
|
|
678
|
+
"""Delete a table from the group.
|
|
679
|
+
|
|
680
|
+
Args:
|
|
681
|
+
name (str): The name of the table to delete.
|
|
682
|
+
missing_ok (bool): If True, do not raise an error if the table does not
|
|
683
|
+
exist.
|
|
684
|
+
|
|
685
|
+
"""
|
|
686
|
+
table_container = self._get_tables_container(create_mode=False)
|
|
687
|
+
if table_container is None and missing_ok:
|
|
688
|
+
return
|
|
689
|
+
if table_container is None:
|
|
690
|
+
raise NgioValueError(
|
|
691
|
+
f"No tables found in the image, cannot delete {name}. "
|
|
692
|
+
"Set missing_ok=True to ignore this error."
|
|
693
|
+
)
|
|
694
|
+
table_container.delete(name=name, missing_ok=missing_ok)
|
|
695
|
+
|
|
677
696
|
def list_labels(self) -> list[str]:
|
|
678
697
|
"""List all labels in the image."""
|
|
679
698
|
label_container = self._get_labels_container(create_mode=False)
|
|
@@ -739,6 +758,25 @@ class OmeZarrContainer:
|
|
|
739
758
|
masking_roi_table=masking_table,
|
|
740
759
|
)
|
|
741
760
|
|
|
761
|
+
def delete_label(self, name: str, missing_ok: bool = False) -> None:
|
|
762
|
+
"""Delete a label from the group.
|
|
763
|
+
|
|
764
|
+
Args:
|
|
765
|
+
name (str): The name of the label to delete.
|
|
766
|
+
missing_ok (bool): If True, do not raise an error if the label does not
|
|
767
|
+
exist.
|
|
768
|
+
|
|
769
|
+
"""
|
|
770
|
+
label_container = self._get_labels_container(create_mode=False)
|
|
771
|
+
if label_container is None and missing_ok:
|
|
772
|
+
return
|
|
773
|
+
if label_container is None:
|
|
774
|
+
raise NgioValueError(
|
|
775
|
+
f"No labels found in the image, cannot delete {name}. "
|
|
776
|
+
"Set missing_ok=True to ignore this error."
|
|
777
|
+
)
|
|
778
|
+
label_container.delete(name=name, missing_ok=missing_ok)
|
|
779
|
+
|
|
742
780
|
def derive_label(
|
|
743
781
|
self,
|
|
744
782
|
name: str,
|
|
@@ -16,6 +16,7 @@ from ngio.ome_zarr_meta._meta_handlers import (
|
|
|
16
16
|
from ngio.ome_zarr_meta.ngio_specs import (
|
|
17
17
|
AxesHandler,
|
|
18
18
|
Dataset,
|
|
19
|
+
DefaultNgffVersion,
|
|
19
20
|
ImageInWellPath,
|
|
20
21
|
NgffVersions,
|
|
21
22
|
NgioImageMeta,
|
|
@@ -31,6 +32,7 @@ from ngio.ome_zarr_meta.ngio_specs import (
|
|
|
31
32
|
__all__ = [
|
|
32
33
|
"AxesHandler",
|
|
33
34
|
"Dataset",
|
|
35
|
+
"DefaultNgffVersion",
|
|
34
36
|
"ImageInWellPath",
|
|
35
37
|
"ImageMetaHandler",
|
|
36
38
|
"LabelMetaHandler",
|
|
@@ -62,9 +62,9 @@ class NgioWellMeta(BaseModel):
|
|
|
62
62
|
@classmethod
|
|
63
63
|
def default_init(
|
|
64
64
|
cls,
|
|
65
|
-
|
|
65
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
66
66
|
) -> "NgioWellMeta":
|
|
67
|
-
well = cls(images=[], version=
|
|
67
|
+
well = cls(images=[], version=ngff_version)
|
|
68
68
|
return well
|
|
69
69
|
|
|
70
70
|
@property
|
|
@@ -217,7 +217,7 @@ class NgioPlateMeta(BaseModel):
|
|
|
217
217
|
cls,
|
|
218
218
|
images: list[ImageInWellPath] | None = None,
|
|
219
219
|
name: str | None = None,
|
|
220
|
-
|
|
220
|
+
ngff_version: NgffVersions = DefaultNgffVersion,
|
|
221
221
|
) -> "NgioPlateMeta":
|
|
222
222
|
plate = cls(
|
|
223
223
|
plate=PlateWithVersion(
|
|
@@ -227,9 +227,9 @@ class NgioPlateMeta(BaseModel):
|
|
|
227
227
|
wells=[],
|
|
228
228
|
field_count=None,
|
|
229
229
|
name=name,
|
|
230
|
-
version=
|
|
230
|
+
version=ngff_version,
|
|
231
231
|
),
|
|
232
|
-
version=
|
|
232
|
+
version=ngff_version,
|
|
233
233
|
)
|
|
234
234
|
|
|
235
235
|
if images is None:
|
|
@@ -503,14 +503,14 @@ class NgioPlateMeta(BaseModel):
|
|
|
503
503
|
def derive(
|
|
504
504
|
self,
|
|
505
505
|
name: str | None = None,
|
|
506
|
-
|
|
506
|
+
ngff_version: NgffVersions | None = None,
|
|
507
507
|
keep_acquisitions: bool = False,
|
|
508
508
|
) -> "NgioPlateMeta":
|
|
509
509
|
"""Derive the plate metadata.
|
|
510
510
|
|
|
511
511
|
Args:
|
|
512
512
|
name (str): The name of the derived plate.
|
|
513
|
-
|
|
513
|
+
ngff_version (NgffVersion | None): The version of the derived plate.
|
|
514
514
|
If None, use the version of the original plate.
|
|
515
515
|
keep_acquisitions (bool): If True, keep the acquisitions in the plate.
|
|
516
516
|
"""
|
|
@@ -522,8 +522,8 @@ class NgioPlateMeta(BaseModel):
|
|
|
522
522
|
else:
|
|
523
523
|
acquisitions = None
|
|
524
524
|
|
|
525
|
-
if
|
|
526
|
-
|
|
525
|
+
if ngff_version is None:
|
|
526
|
+
ngff_version = self.version
|
|
527
527
|
|
|
528
528
|
return NgioPlateMeta(
|
|
529
529
|
plate=PlateWithVersion(
|
|
@@ -533,7 +533,7 @@ class NgioPlateMeta(BaseModel):
|
|
|
533
533
|
wells=[],
|
|
534
534
|
field_count=self.plate.field_count,
|
|
535
535
|
name=name,
|
|
536
|
-
version=
|
|
536
|
+
version=ngff_version,
|
|
537
537
|
),
|
|
538
|
-
version=
|
|
538
|
+
version=ngff_version,
|
|
539
539
|
)
|
|
@@ -311,6 +311,27 @@ class TablesContainer:
|
|
|
311
311
|
backend=backend,
|
|
312
312
|
) # type: ignore[return-value]
|
|
313
313
|
|
|
314
|
+
def delete(self, name: str, missing_ok: bool = False) -> None:
|
|
315
|
+
"""Delete a table from the group.
|
|
316
|
+
|
|
317
|
+
Args:
|
|
318
|
+
name (str): The name of the table to delete.
|
|
319
|
+
missing_ok (bool): If True, do not raise an error if
|
|
320
|
+
the table does not exist.
|
|
321
|
+
"""
|
|
322
|
+
existing_tables = self._get_tables_list()
|
|
323
|
+
if name not in existing_tables:
|
|
324
|
+
if missing_ok:
|
|
325
|
+
return
|
|
326
|
+
raise NgioValueError(
|
|
327
|
+
f"Table '{name}' not found in the Tables group. "
|
|
328
|
+
f"Available tables: {existing_tables}"
|
|
329
|
+
)
|
|
330
|
+
|
|
331
|
+
self._group_handler.delete_group(name)
|
|
332
|
+
existing_tables.remove(name)
|
|
333
|
+
self._group_handler.write_attrs({"tables": existing_tables})
|
|
334
|
+
|
|
314
335
|
def add(
|
|
315
336
|
self,
|
|
316
337
|
name: str,
|
|
@@ -17,6 +17,7 @@ from ngio.utils._fractal_fsspec_store import fractal_fsspec_store
|
|
|
17
17
|
from ngio.utils._zarr_utils import (
|
|
18
18
|
AccessModeLiteral,
|
|
19
19
|
NgioCache,
|
|
20
|
+
NgioSupportedStore,
|
|
20
21
|
StoreOrGroup,
|
|
21
22
|
ZarrGroupHandler,
|
|
22
23
|
copy_group,
|
|
@@ -29,6 +30,7 @@ __all__ = [
|
|
|
29
30
|
"NgioError",
|
|
30
31
|
"NgioFileExistsError",
|
|
31
32
|
"NgioFileNotFoundError",
|
|
33
|
+
"NgioSupportedStore",
|
|
32
34
|
"NgioTableValidationError",
|
|
33
35
|
"NgioValidationError",
|
|
34
36
|
"NgioValueError",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import json
|
|
4
4
|
import warnings
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from typing import Literal
|
|
6
|
+
from typing import Literal, TypeAlias
|
|
7
7
|
|
|
8
8
|
import dask.array as da
|
|
9
9
|
import fsspec
|
|
@@ -26,17 +26,11 @@ AccessModeLiteral = Literal["r", "r+", "w", "w-", "a"]
|
|
|
26
26
|
# StoreLike is more restrictive than it could be
|
|
27
27
|
# but to make sure we can handle the store correctly
|
|
28
28
|
# we need to be more restrictive
|
|
29
|
-
NgioSupportedStore = (
|
|
30
|
-
str
|
|
31
|
-
| Path
|
|
32
|
-
| fsspec.mapping.FSMap
|
|
33
|
-
| FsspecStore
|
|
34
|
-
| MemoryStore
|
|
35
|
-
| LocalStore
|
|
36
|
-
| ZipStore
|
|
29
|
+
NgioSupportedStore: TypeAlias = (
|
|
30
|
+
str | Path | fsspec.mapping.FSMap | FsspecStore | MemoryStore | dict | LocalStore
|
|
37
31
|
)
|
|
38
|
-
GenericStore =
|
|
39
|
-
StoreOrGroup =
|
|
32
|
+
GenericStore: TypeAlias = NgioSupportedStore | Store
|
|
33
|
+
StoreOrGroup: TypeAlias = NgioSupportedStore | zarr.Group
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
def _check_store(store) -> NgioSupportedStore:
|
|
@@ -398,6 +392,12 @@ class ZarrGroupHandler:
|
|
|
398
392
|
self._group_cache._cache.pop(path, None)
|
|
399
393
|
self._handlers_cache._cache.pop(path, None)
|
|
400
394
|
|
|
395
|
+
def delete_self(self) -> None:
|
|
396
|
+
"""Delete the current group."""
|
|
397
|
+
if self.group.read_only:
|
|
398
|
+
raise NgioValueError("Cannot delete a group in read only mode.")
|
|
399
|
+
self.group.__delitem__("/")
|
|
400
|
+
|
|
401
401
|
def copy_group(self, dest_group: zarr.Group):
|
|
402
402
|
"""Copy the group to a new store."""
|
|
403
403
|
copy_group(self.group, dest_group)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
from pathlib import Path
|
|
3
|
+
from typing import Literal
|
|
3
4
|
|
|
4
5
|
import pandas.testing as pdt
|
|
5
6
|
import pytest
|
|
@@ -59,8 +60,11 @@ def test_open_real_ome_zarr_plate(cardiomyocyte_tiny_path: Path):
|
|
|
59
60
|
assert well.get_image_acquisition_id("0") is None
|
|
60
61
|
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
@pytest.mark.parametrize("ngff_version", ["0.4", "0.5"])
|
|
64
|
+
def test_create_and_edit_plate(tmp_path: Path, ngff_version: Literal["0.4", "0.5"]):
|
|
65
|
+
test_plate = create_empty_plate(
|
|
66
|
+
tmp_path / "test_plate.zarr", name="test_plate", ngff_version=ngff_version
|
|
67
|
+
)
|
|
64
68
|
assert test_plate.columns == []
|
|
65
69
|
assert test_plate.rows == []
|
|
66
70
|
assert test_plate.acquisition_ids == []
|
|
@@ -183,6 +187,18 @@ def test_tables_api(tmp_path: Path):
|
|
|
183
187
|
test_df,
|
|
184
188
|
check_names=False,
|
|
185
189
|
)
|
|
190
|
+
test_plate.delete_table("test_table")
|
|
191
|
+
assert "test_table" not in test_plate.list_tables()
|
|
192
|
+
test_plate.delete_table("test_table", missing_ok=True)
|
|
193
|
+
with pytest.raises(NgioValueError):
|
|
194
|
+
test_plate.delete_table("test_table", missing_ok=False)
|
|
195
|
+
|
|
196
|
+
test_plate = create_empty_plate(
|
|
197
|
+
tmp_path / "test_plate.zarr", name="test_plate", overwrite=True
|
|
198
|
+
)
|
|
199
|
+
with pytest.raises(NgioValueError):
|
|
200
|
+
test_plate.delete_table("non_existing_table")
|
|
201
|
+
test_plate.delete_table("non_existing_table", missing_ok=True)
|
|
186
202
|
|
|
187
203
|
|
|
188
204
|
@pytest.mark.filterwarnings("ignore::anndata._warnings.ImplicitModificationWarning")
|
|
@@ -12,7 +12,7 @@ from ngio import (
|
|
|
12
12
|
from ngio.images._image import ChannelSelectionModel
|
|
13
13
|
from ngio.io_pipes._ops_axes import AxesOps
|
|
14
14
|
from ngio.io_pipes._ops_slices import SlicingOps
|
|
15
|
-
from ngio.utils import fractal_fsspec_store
|
|
15
|
+
from ngio.utils import NgioValueError, fractal_fsspec_store
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class IdentityTransform:
|
|
@@ -340,3 +340,39 @@ def test_derive_copy_labels_and_tables(tmp_path: Path):
|
|
|
340
340
|
)
|
|
341
341
|
assert ome_zarr.list_labels() == derived_ome_zarr.list_labels()
|
|
342
342
|
assert ome_zarr.list_tables() == derived_ome_zarr.list_tables()
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
def test_delete_label_and_table(tmp_path: Path):
|
|
346
|
+
store = tmp_path / "ome_zarr.zarr"
|
|
347
|
+
ome_zarr = create_synthetic_ome_zarr(
|
|
348
|
+
store,
|
|
349
|
+
shape=(3, 20, 30),
|
|
350
|
+
levels=1,
|
|
351
|
+
axes_names=["c", "y", "x"],
|
|
352
|
+
)
|
|
353
|
+
ome_zarr.derive_label("label_to_delete")
|
|
354
|
+
assert "label_to_delete" in ome_zarr.list_labels()
|
|
355
|
+
ome_zarr.delete_label("label_to_delete")
|
|
356
|
+
assert "label_to_delete" not in ome_zarr.list_labels()
|
|
357
|
+
ome_zarr.delete_label("label_to_delete", missing_ok=True)
|
|
358
|
+
with pytest.raises(NgioValueError):
|
|
359
|
+
ome_zarr.delete_label("label_to_delete", missing_ok=False)
|
|
360
|
+
|
|
361
|
+
new_table = ome_zarr.build_image_roi_table()
|
|
362
|
+
ome_zarr.add_table("table_to_delete", new_table)
|
|
363
|
+
assert "table_to_delete" in ome_zarr.list_tables()
|
|
364
|
+
ome_zarr.delete_table("table_to_delete")
|
|
365
|
+
assert "table_to_delete" not in ome_zarr.list_tables()
|
|
366
|
+
ome_zarr.delete_table("table_to_delete", missing_ok=True)
|
|
367
|
+
with pytest.raises(NgioValueError):
|
|
368
|
+
ome_zarr.delete_table("table_to_delete", missing_ok=False)
|
|
369
|
+
|
|
370
|
+
ome_zarr = create_empty_ome_zarr(
|
|
371
|
+
store, shape=(3, 20, 30), pixelsize=0.5, overwrite=True
|
|
372
|
+
)
|
|
373
|
+
with pytest.raises(NgioValueError):
|
|
374
|
+
ome_zarr.delete_label("non_existing_label")
|
|
375
|
+
ome_zarr.delete_label("non_existing_label", missing_ok=True)
|
|
376
|
+
with pytest.raises(NgioValueError):
|
|
377
|
+
ome_zarr.delete_table("non_existing_table")
|
|
378
|
+
ome_zarr.delete_table("non_existing_table", missing_ok=True)
|
|
@@ -65,6 +65,29 @@ def test_group_handler_from_group(tmp_path: Path):
|
|
|
65
65
|
assert handler.group == group
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
def test_group_handler_delete(tmp_path: Path):
|
|
69
|
+
store = tmp_path / "test_group_handler_from_group.zarr"
|
|
70
|
+
group = zarr.group(store=store, overwrite=True)
|
|
71
|
+
group.create_group("to_be_deleted")
|
|
72
|
+
handler = ZarrGroupHandler(store=group, cache=True, mode="a")
|
|
73
|
+
assert isinstance(handler.get_group("to_be_deleted"), zarr.Group)
|
|
74
|
+
handler.delete_group("to_be_deleted")
|
|
75
|
+
with pytest.raises(NgioFileNotFoundError):
|
|
76
|
+
handler.get_group("to_be_deleted")
|
|
77
|
+
assert store.exists()
|
|
78
|
+
handler.delete_self()
|
|
79
|
+
assert not store.exists()
|
|
80
|
+
|
|
81
|
+
store = tmp_path / "test_group_handler_from_group.zarr"
|
|
82
|
+
group = zarr.group(store=store, overwrite=True)
|
|
83
|
+
group.create_group("to_be_deleted")
|
|
84
|
+
handler = ZarrGroupHandler(store=group, cache=True, mode="r")
|
|
85
|
+
with pytest.raises(NgioValueError):
|
|
86
|
+
handler.delete_group("to_be_deleted")
|
|
87
|
+
with pytest.raises(NgioValueError):
|
|
88
|
+
handler.delete_self()
|
|
89
|
+
|
|
90
|
+
|
|
68
91
|
def test_group_handler_read(tmp_path: Path):
|
|
69
92
|
store = tmp_path / "test_group_handler_read.zarr"
|
|
70
93
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|