ngio 0.5.0b2__tar.gz → 0.5.0b4__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.0b2 → ngio-0.5.0b4}/CHANGELOG.md +5 -1
- {ngio-0.5.0b2 → ngio-0.5.0b4}/PKG-INFO +2 -1
- {ngio-0.5.0b2 → ngio-0.5.0b4}/pyproject.toml +1 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_masking_roi.py +12 -16
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_pyramid.py +4 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_roi.py +2 -2
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_abstract_image.py +2 -4
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_image.py +13 -4
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_label.py +14 -9
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_ome_zarr_container.py +5 -4
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/images/test_create.py +26 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/images/test_images.py +0 -1
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_backends.py +0 -2
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.copier-answers.yml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.gitattributes +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/ISSUE_TEMPLATE.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/TEST_FAIL_TEMPLATE.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/dependabot.yml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/pull_request_template.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/workflows/build_docs.yml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.github/workflows/ci.yml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.gitignore +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/.pre-commit-config.yaml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/LICENSE +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/README.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/_typos.toml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/hcs.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/images.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/iterators.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/common.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/hcs.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/images.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/io_pipes.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/iterators.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/ngio.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/tables.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/transforms.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ngio/utils.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/ome_zarr_container.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/api/tables.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/changelog.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/code_of_conduct.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/contributing.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/0_quickstart.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/1_ome_zarr_containers.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/2_images.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/3_tables.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/4_masked_images.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/5_hcs.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/getting_started/6_iterators.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/index.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/backend.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/overview.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/condition_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/custom_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/feature_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/generic_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/masking_roi_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/table_specs/table_types/roi_table.md +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/tutorials/create_ome_zarr.ipynb +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/tutorials/feature_extraction.ipynb +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/tutorials/hcs_exploration.ipynb +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/tutorials/image_processing.ipynb +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/docs/tutorials/image_segmentation.ipynb +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/mkdocs.yml +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_dimensions.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_synt_images_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/common/_zoom.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_abstract_iterator.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_feature.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_image_processing.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_mappers.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_rois_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/experimental/iterators/_segmentation.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/hcs/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/hcs/_plate.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_create_synt_container.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_create_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_masked_image.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/images/_table_ops.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_io_pipes.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_io_pipes_masked.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_io_pipes_roi.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_io_pipes_types.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_match_shape.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_ops_axes.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_ops_slices.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_ops_slices_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_ops_transforms.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/io_pipes/_zoom_transform.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v04/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v04/_custom_models.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v04/_v04_spec.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v05/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v05/_custom_models.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/ome_zarr_meta/v05/_v05_spec.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/mask.png +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/nuclei.png +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/raw.jpg +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/resources/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/resources/resource_model.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/_abstract_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/_tables_container.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_abstract_backend.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_anndata.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_anndata_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_csv.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_json.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_parquet.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_py_arrow_backends.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_table_backends.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/backends/_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/v1/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/v1/_condition_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/v1/_feature_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/v1/_generic_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/tables/v1/_roi_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/transforms/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/transforms/_zoom.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/__init__.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/_cache.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/_datasets.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/_errors.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/src/ngio/utils/_zarr_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/conftest.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/create_test_data.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/tables/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/tables/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zattrs +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zgroup +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/meta/base_ome_zarr_well_meta.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v04/meta/ome_zarr_well_path_normalization_meta.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_c1yx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_cyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_czyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tcyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tczyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_tzyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_yx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/labels/label/0/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/labels/label/1/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/labels/label/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/labels/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/tables/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/data/v05/images/test_image_zyx.zarr/zarr.json +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/conftest.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/test_http_store.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/test_local_store.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/test_memory_store.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/test_s3_store.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/stores/utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/common/test_dimensions.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/common/test_pyramid.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/common/test_roi.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/common/test_transforms.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/hcs/test_plate.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/hcs/test_well.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/images/test_masked_images.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/images/test_omezarr_container.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/images/test_table_ops.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/io_pipes/test_axes_ops.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/io_pipes/test_slicing_ops.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/iterators/test_iterators.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/ome_zarr_meta/test_image_handler.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/ome_zarr_meta/test_unit_ngio_specs.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/ome_zarr_meta/test_unit_v04_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_backends_utils.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_feature_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_generic_table.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_masking_roi_table_v1.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_roi_table_v1.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/tables/test_table_group.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/utils/test_download_datasets.py +0 -0
- {ngio-0.5.0b2 → ngio-0.5.0b4}/tests/unit/utils/test_zarr_utils.py +0 -0
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
- Add support for OME-NGFF v0.5
|
|
7
7
|
- Move to zarr-python v3
|
|
8
8
|
- API to delete labels and tables from OME-Zarr containers and HCS plates.
|
|
9
|
+
- Allow to explicitly set axes order when building masking roi tables.
|
|
9
10
|
|
|
10
11
|
### API Breaking Changes
|
|
11
12
|
|
|
@@ -18,7 +19,10 @@
|
|
|
18
19
|
- Internal changes to `ZarrGroupHandler` to support cleanup unused apis.
|
|
19
20
|
- Remove `ngio_logger` in favor of standard warnings module.
|
|
20
21
|
|
|
21
|
-
## [v0.4.
|
|
22
|
+
## [v0.4.7]
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
- Fix bug adding time axis to masking roi tables.
|
|
22
26
|
|
|
23
27
|
### Bug Fixes
|
|
24
28
|
- Fix channel selection from `wavelength_id`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ngio
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.0b4
|
|
4
4
|
Summary: Next Generation file format IO
|
|
5
5
|
Project-URL: homepage, https://github.com/BioVisionCenter/ngio
|
|
6
6
|
Project-URL: repository, https://github.com/BioVisionCenter/ngio
|
|
@@ -42,6 +42,7 @@ Requires-Dist: pyqt5; extra == 'dev'
|
|
|
42
42
|
Requires-Dist: rich; extra == 'dev'
|
|
43
43
|
Requires-Dist: ruff; extra == 'dev'
|
|
44
44
|
Requires-Dist: scikit-image; extra == 'dev'
|
|
45
|
+
Requires-Dist: zarrs; extra == 'dev'
|
|
45
46
|
Provides-Extra: docs
|
|
46
47
|
Requires-Dist: griffe-typingdoc; extra == 'docs'
|
|
47
48
|
Requires-Dist: markdown-exec[ansi]; extra == 'docs'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Utilities to build masking regions of interest (ROIs)."""
|
|
2
2
|
|
|
3
3
|
import itertools
|
|
4
|
+
from collections.abc import Sequence
|
|
4
5
|
|
|
5
6
|
import dask.array as da
|
|
6
7
|
import numpy as np
|
|
@@ -115,7 +116,9 @@ def lazy_compute_slices(segmentation: da.Array) -> dict[int, tuple[slice, ...]]:
|
|
|
115
116
|
|
|
116
117
|
|
|
117
118
|
def compute_masking_roi(
|
|
118
|
-
segmentation: np.ndarray | da.Array,
|
|
119
|
+
segmentation: np.ndarray | da.Array,
|
|
120
|
+
pixel_size: PixelSize,
|
|
121
|
+
axes_order: Sequence[str],
|
|
119
122
|
) -> list[Roi]:
|
|
120
123
|
"""Compute a ROIs for each label in a segmentation.
|
|
121
124
|
|
|
@@ -127,6 +130,12 @@ def compute_masking_roi(
|
|
|
127
130
|
if segmentation.ndim not in [2, 3, 4]:
|
|
128
131
|
raise NgioValueError("Only 2D, 3D, and 4D segmentations are supported.")
|
|
129
132
|
|
|
133
|
+
if len(axes_order) != segmentation.ndim:
|
|
134
|
+
raise NgioValueError(
|
|
135
|
+
"The length of axes_order must match the number of dimensions "
|
|
136
|
+
"of the segmentation."
|
|
137
|
+
)
|
|
138
|
+
|
|
130
139
|
if isinstance(segmentation, da.Array):
|
|
131
140
|
slices = lazy_compute_slices(segmentation)
|
|
132
141
|
else:
|
|
@@ -134,24 +143,11 @@ def compute_masking_roi(
|
|
|
134
143
|
|
|
135
144
|
rois = []
|
|
136
145
|
for label, slice_ in slices.items():
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
elif len(slice_) == 3:
|
|
140
|
-
slices = {"z": slice_[0], "y": slice_[1], "x": slice_[2]}
|
|
141
|
-
elif len(slice_) == 4:
|
|
142
|
-
slices = {
|
|
143
|
-
"t": slice_[0],
|
|
144
|
-
"z": slice_[1],
|
|
145
|
-
"y": slice_[2],
|
|
146
|
-
"x": slice_[3],
|
|
147
|
-
}
|
|
148
|
-
else:
|
|
149
|
-
raise ValueError("Invalid slice length.")
|
|
150
|
-
|
|
146
|
+
assert len(slice_) == len(axes_order)
|
|
147
|
+
slices = dict(zip(axes_order, slice_, strict=True))
|
|
151
148
|
roi = Roi.from_values(
|
|
152
149
|
name=str(label), slices=slices, label=label, space="pixel"
|
|
153
150
|
)
|
|
154
|
-
|
|
155
151
|
roi = roi.to_world(pixel_size=pixel_size)
|
|
156
152
|
rois.append(roi)
|
|
157
153
|
return rois
|
|
@@ -273,6 +273,10 @@ class PyramidLevel(BaseModel):
|
|
|
273
273
|
"Shards must have the same length as shape "
|
|
274
274
|
f"({len(self.shape)}), got {len(self.shards)}"
|
|
275
275
|
)
|
|
276
|
+
normalized_shards = []
|
|
277
|
+
for dim_size, shard_size in zip(self.shape, self.shards, strict=True):
|
|
278
|
+
normalized_shards.append(min(dim_size, shard_size))
|
|
279
|
+
self.shards = tuple(normalized_shards)
|
|
276
280
|
return self
|
|
277
281
|
|
|
278
282
|
|
|
@@ -4,7 +4,7 @@ These are the interfaces bwteen the ROI tables / masking ROI tables and
|
|
|
4
4
|
the ImageLikeHandler.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from collections.abc import Callable
|
|
7
|
+
from collections.abc import Callable, Mapping
|
|
8
8
|
from typing import Literal, Self
|
|
9
9
|
|
|
10
10
|
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
@@ -183,7 +183,7 @@ class Roi(BaseModel):
|
|
|
183
183
|
@classmethod
|
|
184
184
|
def from_values(
|
|
185
185
|
cls,
|
|
186
|
-
slices:
|
|
186
|
+
slices: Mapping[str, float | tuple[float | None, float | None] | slice],
|
|
187
187
|
name: str | None,
|
|
188
188
|
label: int | None = None,
|
|
189
189
|
space: Literal["world", "pixel"] = "world",
|
|
@@ -615,7 +615,6 @@ def _shapes_from_ref_image(
|
|
|
615
615
|
if len(shapes) == len(paths):
|
|
616
616
|
return shapes
|
|
617
617
|
missing_levels = len(paths) - len(shapes)
|
|
618
|
-
print(ref_image.meta.scaling_factor())
|
|
619
618
|
extended_shapes = shapes_from_scaling_factors(
|
|
620
619
|
base_shape=shapes[-1],
|
|
621
620
|
scaling_factors=ref_image.meta.scaling_factor(),
|
|
@@ -800,7 +799,7 @@ def abstract_derive(
|
|
|
800
799
|
channels_meta: Sequence[str | Channel] | None = None,
|
|
801
800
|
ngff_version: NgffVersions | None = None,
|
|
802
801
|
# Zarr Array parameters
|
|
803
|
-
chunks: ChunksLike =
|
|
802
|
+
chunks: ChunksLike | None = None,
|
|
804
803
|
shards: ShardsLike | None = None,
|
|
805
804
|
dtype: str | None = None,
|
|
806
805
|
dimension_separator: Literal[".", "/"] | None = None,
|
|
@@ -835,7 +834,7 @@ def abstract_derive(
|
|
|
835
834
|
channels_meta (Sequence[str | Channel] | None): The channels metadata
|
|
836
835
|
of the new image.
|
|
837
836
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
838
|
-
chunks (
|
|
837
|
+
chunks (ChunksLike | None): The chunk shape of the new image.
|
|
839
838
|
shards (ShardsLike | None): The shard shape of the new image.
|
|
840
839
|
dtype (str | None): The data type of the new image.
|
|
841
840
|
dimension_separator (DIMENSION_SEPARATOR | None): The separator to use for
|
|
@@ -918,7 +917,6 @@ def abstract_derive(
|
|
|
918
917
|
|
|
919
918
|
if chunks is None:
|
|
920
919
|
chunks = ref_image.zarr_array.chunks
|
|
921
|
-
|
|
922
920
|
if shards is None:
|
|
923
921
|
shards = ref_image.zarr_array.shards
|
|
924
922
|
|
|
@@ -613,9 +613,10 @@ class ImagesContainer:
|
|
|
613
613
|
time_spacing: float | None = None,
|
|
614
614
|
name: str | None = None,
|
|
615
615
|
channels_meta: Sequence[str | Channel] | None = None,
|
|
616
|
+
channels_policy: Literal["same", "squeeze", "singleton"] | int = "same",
|
|
616
617
|
ngff_version: NgffVersions | None = None,
|
|
617
618
|
# Zarr Array parameters
|
|
618
|
-
chunks: ChunksLike =
|
|
619
|
+
chunks: ChunksLike | None = None,
|
|
619
620
|
shards: ShardsLike | None = None,
|
|
620
621
|
dtype: str = "uint16",
|
|
621
622
|
dimension_separator: Literal[".", "/"] = "/",
|
|
@@ -644,8 +645,15 @@ class ImagesContainer:
|
|
|
644
645
|
name (str | None): The name of the new image.
|
|
645
646
|
channels_meta (Sequence[str | Channel] | None): The channels metadata
|
|
646
647
|
of the new image.
|
|
648
|
+
channels_policy (Literal["same", "squeeze", "singleton"] | int):
|
|
649
|
+
Possible policies:
|
|
650
|
+
- If "squeeze", the channels axis will be removed (no matter its size).
|
|
651
|
+
- If "same", the channels axis will be kept as is (if it exists).
|
|
652
|
+
- If "singleton", the channels axis will be set to size 1.
|
|
653
|
+
- If an integer is provided, the channels axis will be changed to have
|
|
654
|
+
that size.
|
|
647
655
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
648
|
-
chunks (
|
|
656
|
+
chunks (ChunksLike | None): The chunk shape of the new image.
|
|
649
657
|
shards (ShardsLike | None): The shard shape of the new image.
|
|
650
658
|
dtype (str | None): The data type of the new image.
|
|
651
659
|
dimension_separator (DIMENSION_SEPARATOR | None): The separator to use for
|
|
@@ -674,6 +682,7 @@ class ImagesContainer:
|
|
|
674
682
|
time_spacing=time_spacing,
|
|
675
683
|
name=name,
|
|
676
684
|
channels_meta=channels_meta,
|
|
685
|
+
channels_policy=channels_policy,
|
|
677
686
|
ngff_version=ngff_version,
|
|
678
687
|
chunks=chunks,
|
|
679
688
|
shards=shards,
|
|
@@ -769,7 +778,7 @@ def derive_image_container(
|
|
|
769
778
|
channels_meta: Sequence[str | Channel] | None = None,
|
|
770
779
|
ngff_version: NgffVersions | None = None,
|
|
771
780
|
# Zarr Array parameters
|
|
772
|
-
chunks: ChunksLike =
|
|
781
|
+
chunks: ChunksLike | None = None,
|
|
773
782
|
shards: ShardsLike | None = None,
|
|
774
783
|
dtype: str | None = None,
|
|
775
784
|
dimension_separator: Literal[".", "/"] | None = None,
|
|
@@ -804,7 +813,7 @@ def derive_image_container(
|
|
|
804
813
|
channels_meta (Sequence[str | Channel] | None): The channels metadata
|
|
805
814
|
of the new image.
|
|
806
815
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
807
|
-
chunks (ChunksLike): The chunk shape of the new image.
|
|
816
|
+
chunks (ChunksLike | None): The chunk shape of the new image.
|
|
808
817
|
shards (ShardsLike | None): The shard shape of the new image.
|
|
809
818
|
dtype (str | None): The data type of the new image.
|
|
810
819
|
dimension_separator (Literal[".", "/"] | None): The separator to use for
|
|
@@ -97,9 +97,11 @@ class Label(AbstractImage):
|
|
|
97
97
|
meta = meta.to_units(space_unit=space_unit, time_unit=time_unit)
|
|
98
98
|
self.meta_handler.update_meta(meta)
|
|
99
99
|
|
|
100
|
-
def build_masking_roi_table(
|
|
100
|
+
def build_masking_roi_table(
|
|
101
|
+
self, axes_order: Sequence[str] | None = None
|
|
102
|
+
) -> MaskingRoiTable:
|
|
101
103
|
"""Compute the masking ROI table."""
|
|
102
|
-
return build_masking_roi_table(self)
|
|
104
|
+
return build_masking_roi_table(self, axes_order=axes_order)
|
|
103
105
|
|
|
104
106
|
def consolidate(
|
|
105
107
|
self,
|
|
@@ -219,7 +221,7 @@ class LabelsContainer:
|
|
|
219
221
|
channels_policy: Literal["same", "squeeze", "singleton"] | int = "squeeze",
|
|
220
222
|
ngff_version: NgffVersions | None = None,
|
|
221
223
|
# Zarr Array parameters
|
|
222
|
-
chunks: ChunksLike =
|
|
224
|
+
chunks: ChunksLike | None = None,
|
|
223
225
|
shards: ShardsLike | None = None,
|
|
224
226
|
dtype: str | None = None,
|
|
225
227
|
dimension_separator: Literal[".", "/"] | None = None,
|
|
@@ -256,7 +258,7 @@ class LabelsContainer:
|
|
|
256
258
|
- If an integer is provided, the channels axis will be changed to have
|
|
257
259
|
that size.
|
|
258
260
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
259
|
-
chunks (
|
|
261
|
+
chunks (ChunksLike | None): The chunk shape of the new image.
|
|
260
262
|
shards (ShardsLike | None): The shard shape of the new image.
|
|
261
263
|
dtype (str | None): The data type of the new image.
|
|
262
264
|
dimension_separator (DIMENSION_SEPARATOR | None): The separator to use for
|
|
@@ -328,7 +330,7 @@ def derive_label(
|
|
|
328
330
|
channels_policy: Literal["same", "squeeze", "singleton"] | int = "squeeze",
|
|
329
331
|
ngff_version: NgffVersions | None = None,
|
|
330
332
|
# Zarr Array parameters
|
|
331
|
-
chunks: ChunksLike =
|
|
333
|
+
chunks: ChunksLike | None = None,
|
|
332
334
|
shards: ShardsLike | None = None,
|
|
333
335
|
dtype: str | None = None,
|
|
334
336
|
dimension_separator: Literal[".", "/"] | None = None,
|
|
@@ -359,7 +361,7 @@ def derive_label(
|
|
|
359
361
|
- If an integer is provided, the channels axis will be changed to have that
|
|
360
362
|
size.
|
|
361
363
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
362
|
-
chunks (ChunksLike): The chunk shape of the new label.
|
|
364
|
+
chunks (ChunksLike | None): The chunk shape of the new label.
|
|
363
365
|
shards (ShardsLike | None): The shard shape of the new label.
|
|
364
366
|
dtype (str | None): The data type of the new label.
|
|
365
367
|
dimension_separator (Literal[".", "/"] | None): The separator to use for
|
|
@@ -405,8 +407,11 @@ def derive_label(
|
|
|
405
407
|
return group_handler
|
|
406
408
|
|
|
407
409
|
|
|
408
|
-
def build_masking_roi_table(
|
|
410
|
+
def build_masking_roi_table(
|
|
411
|
+
label: Label, axes_order: Sequence[str] | None = None
|
|
412
|
+
) -> MaskingRoiTable:
|
|
409
413
|
"""Compute the masking ROI table for a label."""
|
|
410
|
-
|
|
411
|
-
|
|
414
|
+
axes_order = axes_order or label.axes
|
|
415
|
+
array = label.get_as_dask(axes_order=axes_order)
|
|
416
|
+
rois = compute_masking_roi(array, label.pixel_size, axes_order=axes_order)
|
|
412
417
|
return MaskingRoiTable(rois, reference_label=label.meta.name)
|
|
@@ -434,7 +434,7 @@ class OmeZarrContainer:
|
|
|
434
434
|
channels_meta: Sequence[str | Channel] | None = None,
|
|
435
435
|
ngff_version: NgffVersions | None = None,
|
|
436
436
|
# Zarr Array parameters
|
|
437
|
-
chunks: ChunksLike =
|
|
437
|
+
chunks: ChunksLike | None = None,
|
|
438
438
|
shards: ShardsLike | None = None,
|
|
439
439
|
dtype: str = "uint16",
|
|
440
440
|
dimension_separator: Literal[".", "/"] = "/",
|
|
@@ -471,7 +471,7 @@ class OmeZarrContainer:
|
|
|
471
471
|
channels_meta (Sequence[str | Channel] | None): The channels metadata
|
|
472
472
|
of the new image.
|
|
473
473
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
474
|
-
chunks (ChunksLike): The chunk shape of the new image.
|
|
474
|
+
chunks (ChunksLike | None): The chunk shape of the new image.
|
|
475
475
|
shards (ShardsLike | None): The shard shape of the new image.
|
|
476
476
|
dtype (str): The data type of the new image. Defaults to "uint16".
|
|
477
477
|
dimension_separator (Literal[".", "/"]): The separator to use for
|
|
@@ -503,6 +503,7 @@ class OmeZarrContainer:
|
|
|
503
503
|
time_spacing=time_spacing,
|
|
504
504
|
name=name,
|
|
505
505
|
channels_meta=channels_meta,
|
|
506
|
+
channels_policy=channels_policy,
|
|
506
507
|
ngff_version=ngff_version,
|
|
507
508
|
chunks=chunks,
|
|
508
509
|
shards=shards,
|
|
@@ -789,7 +790,7 @@ class OmeZarrContainer:
|
|
|
789
790
|
channels_policy: Literal["same", "squeeze", "singleton"] | int = "squeeze",
|
|
790
791
|
ngff_version: NgffVersions | None = None,
|
|
791
792
|
# Zarr Array parameters
|
|
792
|
-
chunks: ChunksLike =
|
|
793
|
+
chunks: ChunksLike | None = None,
|
|
793
794
|
shards: ShardsLike | None = None,
|
|
794
795
|
dtype: str | None = None,
|
|
795
796
|
dimension_separator: Literal[".", "/"] | None = None,
|
|
@@ -821,7 +822,7 @@ class OmeZarrContainer:
|
|
|
821
822
|
that size.
|
|
822
823
|
Defaults to "squeeze".
|
|
823
824
|
ngff_version (NgffVersions | None): The NGFF version to use.
|
|
824
|
-
chunks (ChunksLike): The chunk shape of the new label.
|
|
825
|
+
chunks (ChunksLike | None): The chunk shape of the new label.
|
|
825
826
|
shards (ShardsLike | None): The shard shape of the new label.
|
|
826
827
|
dtype (str | None): The data type of the new label.
|
|
827
828
|
dimension_separator (Literal[".", "/"] | None): The separator to use for
|
|
@@ -195,6 +195,32 @@ def test_derive_from_non_dishogeneus_shapes():
|
|
|
195
195
|
assert lbl.shape == (4, 3, 32, 19)
|
|
196
196
|
|
|
197
197
|
|
|
198
|
+
def test_create_with_sharding(tmp_path: Path):
|
|
199
|
+
store = tmp_path / "test_image_sharded.zarr"
|
|
200
|
+
ome_zarr = create_empty_ome_zarr(
|
|
201
|
+
store=store,
|
|
202
|
+
shape=(4, 3, 64, 64),
|
|
203
|
+
pixelsize=0.5,
|
|
204
|
+
chunks=(2, 1, 32, 32),
|
|
205
|
+
shards=(4, 3, 64, 64),
|
|
206
|
+
dtype="uint8",
|
|
207
|
+
levels=3,
|
|
208
|
+
overwrite=True,
|
|
209
|
+
ngff_version="0.5",
|
|
210
|
+
)
|
|
211
|
+
ome_zarr.derive_label("label_sharded")
|
|
212
|
+
img = ome_zarr.get_image(path="0")
|
|
213
|
+
assert img.zarr_array.shards is not None
|
|
214
|
+
assert img.zarr_array.chunks == (2, 1, 32, 32)
|
|
215
|
+
assert img.zarr_array.shards == (4, 3, 64, 64)
|
|
216
|
+
|
|
217
|
+
img = ome_zarr.get_image(path="2")
|
|
218
|
+
assert img.zarr_array.shards is not None
|
|
219
|
+
# Check clipping of chunks/shards at the smallest level
|
|
220
|
+
assert img.zarr_array.chunks == (2, 1, 16, 16)
|
|
221
|
+
assert img.zarr_array.shards == (4, 3, 16, 16)
|
|
222
|
+
|
|
223
|
+
|
|
198
224
|
def test_fail_derive_singleton():
|
|
199
225
|
store = MemoryStore()
|
|
200
226
|
ome_zarr = create_empty_ome_zarr(store=store, shape=(1, 1, 64, 4), pixelsize=0.5)
|
|
@@ -225,7 +225,6 @@ def test_zoom_virtual_axes(
|
|
|
225
225
|
assert img2_data.shape[0] == 1 # Virtual channel axis
|
|
226
226
|
|
|
227
227
|
roi = img1.build_image_roi_table().rois()[0]
|
|
228
|
-
print(roi)
|
|
229
228
|
img2_roi_data = img2.get_roi_as_numpy(roi, transforms=[zoom], axes_order="czyx")
|
|
230
229
|
# Roi data should match exactly except for virtual axis
|
|
231
230
|
assert img1_data.shape[1:] == img2_roi_data.shape[1:]
|
|
@@ -111,8 +111,6 @@ def test_csv_backend(tmp_path: Path):
|
|
|
111
111
|
|
|
112
112
|
backend.write(test_table, metadata={"test": "test"})
|
|
113
113
|
loaded_table = backend.load_as_pandas_df()
|
|
114
|
-
print(loaded_table)
|
|
115
|
-
print(test_table)
|
|
116
114
|
assert loaded_table.equals(test_table), loaded_table
|
|
117
115
|
meta = backend._group_handler.load_attrs()
|
|
118
116
|
assert meta["test"] == "test"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|