ngio 0.2.0b1__tar.gz → 0.2.0b3__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.2.0b3/.github/scripts/download_data.sh +97 -0
- ngio-0.2.0b3/.github/workflows/build_docs.yml +61 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.github/workflows/ci.yml +25 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/PKG-INFO +4 -2
- {ngio-0.2.0b1 → ngio-0.2.0b3}/README.md +2 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/notebooks/basic_usage.ipynb +7 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/notebooks/image.ipynb +7 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/notebooks/processing.ipynb +7 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/mkdocs.yml +2 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/pyproject.toml +1 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_array_pipe.py +0 -7
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/abstract_image.py +30 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/omezarr_container.py +30 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +0 -6
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/_anndata_utils.py +3 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/conftest.py +1 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/images/test_omezarr_container.py +6 -1
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/test_ome_zarr_meta/test_unit_ngio_specs.py +2 -7
- ngio-0.2.0b1/.github/workflows/build_docs.yml +0 -39
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.copier-answers.yml +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.gitattributes +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.github/ISSUE_TEMPLATE.md +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.github/TEST_FAIL_TEMPLATE.md +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.github/dependabot.yml +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.gitignore +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/.pre-commit-config.yaml +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/LICENSE +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/_typos.toml +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/api/core.md +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/getting-started.md +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/docs/index.md +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_axes_transforms.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_common_types.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_dimensions.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_masking_roi.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_pyramid.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_roi.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_slicer.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/common/_zoom.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/hcs/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/hcs/plate.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/create.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/image.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/label.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/images/masked_image.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/v04/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/ome_zarr_meta/v04/_v04_spec_utils.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/_validators.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/_abstract_backend.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/_anndata_v1.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/_json_v1.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/backends/_table_backends.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/tables_container.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/v1/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/v1/_feature_table.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/v1/_generic_table.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/tables/v1/_roi_table.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/__init__.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/_datasets.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/_errors.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/_logger.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/src/ngio/utils/_zarr_utils.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/common/test_dimensions.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/common/test_pyramid.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/common/test_roi.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/hcs/test_plate.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/images/test_create.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/images/test_images.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/images/test_masked_images.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_backends.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_feature_table.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_generic_table.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_masking_roi_table_v1.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_roi_table_v1.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_table_group.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/tables/test_validators.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/test_ome_zarr_meta/test_image_handler.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/test_ome_zarr_meta/test_unit_v04_utils.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/utils/test_download_datasets.py +0 -0
- {ngio-0.2.0b1 → ngio-0.2.0b3}/tests/unit/utils/test_zarr_utils.py +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# filepath: download_zarr_datasets.sh
|
|
3
|
+
|
|
4
|
+
# Default download directory
|
|
5
|
+
DOWNLOAD_DIR="data"
|
|
6
|
+
|
|
7
|
+
# Create download directory if it doesn't exist
|
|
8
|
+
mkdir -p "$DOWNLOAD_DIR"
|
|
9
|
+
|
|
10
|
+
# Function to check MD5 hash
|
|
11
|
+
check_md5() {
|
|
12
|
+
local file="$1"
|
|
13
|
+
local expected="$2"
|
|
14
|
+
|
|
15
|
+
if [[ "$(uname)" == "Darwin" ]]; then
|
|
16
|
+
# macOS
|
|
17
|
+
actual=$(md5 -q "$file")
|
|
18
|
+
else
|
|
19
|
+
# Linux/Ubuntu
|
|
20
|
+
actual=$(md5sum "$file" | awk '{print $1}')
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
echo "Expected: $expected"
|
|
24
|
+
echo "Actual: $actual"
|
|
25
|
+
|
|
26
|
+
if [[ "$actual" == "$expected" ]]; then
|
|
27
|
+
return 0 # Success
|
|
28
|
+
else
|
|
29
|
+
return 1 # Failure
|
|
30
|
+
fi
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# Function to download a file
|
|
34
|
+
download_file() {
|
|
35
|
+
local url="$1"
|
|
36
|
+
local output="$2"
|
|
37
|
+
|
|
38
|
+
echo "Downloading $url to $output..."
|
|
39
|
+
|
|
40
|
+
if command -v curl &> /dev/null; then
|
|
41
|
+
curl -L -o "$output" "$url"
|
|
42
|
+
elif command -v wget &> /dev/null; then
|
|
43
|
+
wget -O "$output" "$url"
|
|
44
|
+
else
|
|
45
|
+
echo "Error: Neither curl nor wget is available. Please install one of them."
|
|
46
|
+
exit 1
|
|
47
|
+
fi
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
# Function to process a dataset
|
|
51
|
+
process_dataset() {
|
|
52
|
+
local filename="$1"
|
|
53
|
+
local url="$2"
|
|
54
|
+
local expected_hash="$3"
|
|
55
|
+
|
|
56
|
+
local file_path="$DOWNLOAD_DIR/$filename"
|
|
57
|
+
|
|
58
|
+
echo "Processing $filename..."
|
|
59
|
+
|
|
60
|
+
# Check if file exists and has the correct hash
|
|
61
|
+
if [[ -f "$file_path" ]] && check_md5 "$file_path" "$expected_hash"; then
|
|
62
|
+
echo "File exists and has the correct hash."
|
|
63
|
+
else
|
|
64
|
+
# File doesn't exist or has incorrect hash
|
|
65
|
+
if [[ -f "$file_path" ]]; then
|
|
66
|
+
echo "File exists but has incorrect hash. Redownloading..."
|
|
67
|
+
else
|
|
68
|
+
echo "File doesn't exist. Downloading..."
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
download_file "$url" "$file_path"
|
|
72
|
+
|
|
73
|
+
# Verify the downloaded file
|
|
74
|
+
if check_md5 "$file_path" "$expected_hash"; then
|
|
75
|
+
echo "Download successful and hash verified."
|
|
76
|
+
else
|
|
77
|
+
echo "Error: Downloaded file has incorrect hash."
|
|
78
|
+
return 1
|
|
79
|
+
fi
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
echo "File is ready at $file_path"
|
|
83
|
+
return 0
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
# Process the CardioMyocyte dataset
|
|
87
|
+
process_dataset "20200812-CardiomyocyteDifferentiation14-Cycle1.zarr.zip" \
|
|
88
|
+
"https://zenodo.org/records/13305156/files/20200812-CardiomyocyteDifferentiation14-Cycle1.zarr.zip" \
|
|
89
|
+
"efc21fe8d4ea3abab76226d8c166452c"
|
|
90
|
+
|
|
91
|
+
process_dataset "20200812-CardiomyocyteDifferentiation14-Cycle1_mip.zarr.zip" \
|
|
92
|
+
"https://zenodo.org/records/13305316/files/20200812-CardiomyocyteDifferentiation14-Cycle1_mip.zarr.zip" \
|
|
93
|
+
"3ed3ea898e0ed42d397da2e1dbe40750"
|
|
94
|
+
# To add more datasets, add more calls to process_dataset like this:
|
|
95
|
+
# process_dataset "filename.zip" "download_url" "expected_md5_hash"
|
|
96
|
+
|
|
97
|
+
echo "All datasets processed."
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Build Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- "v*"
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
download-test-ome-zarr:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- name: Check and Download Artifacts
|
|
16
|
+
run: |
|
|
17
|
+
bash .github/scripts/download_data.sh
|
|
18
|
+
|
|
19
|
+
deploy:
|
|
20
|
+
name: Deploy Docs
|
|
21
|
+
needs: download-test-ome-zarr
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
with:
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- name: 🐍 Set up Python
|
|
30
|
+
uses: actions/setup-python@v5
|
|
31
|
+
with:
|
|
32
|
+
python-version: "3.13"
|
|
33
|
+
cache-dependency-path: "pyproject.toml"
|
|
34
|
+
cache: "pip"
|
|
35
|
+
|
|
36
|
+
- name: Install Dependencies
|
|
37
|
+
run: |
|
|
38
|
+
python -m pip install -U pip
|
|
39
|
+
python -m pip install .[dev]
|
|
40
|
+
python -m pip install .[docs]
|
|
41
|
+
|
|
42
|
+
- name: Configure Git user
|
|
43
|
+
run: |
|
|
44
|
+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
|
45
|
+
git config --local user.name "github-actions[bot]"
|
|
46
|
+
|
|
47
|
+
- name: Deploy docs
|
|
48
|
+
run: |
|
|
49
|
+
VERSION=$(echo $GITHUB_REF | sed 's/refs\/tags\///' | sed 's/refs\/heads\///')
|
|
50
|
+
echo "Deploying version $VERSION"
|
|
51
|
+
# Check if the version is a stable release
|
|
52
|
+
# Meaning that starts with "v" and contains only numbers and dots
|
|
53
|
+
if [[ $GITHUB_REF == refs/tags/* ]] && [[ $VERSION =~ ^v[0-9.]+$ ]]; then
|
|
54
|
+
mike deploy --push --update-aliases $VERSION stable
|
|
55
|
+
mike set-default --push stable
|
|
56
|
+
echo "Deployed stable version"
|
|
57
|
+
else
|
|
58
|
+
mike deploy --push dev
|
|
59
|
+
mike set-default --push dev
|
|
60
|
+
echo "Deployed development version"
|
|
61
|
+
fi
|
|
@@ -26,8 +26,24 @@ jobs:
|
|
|
26
26
|
- uses: actions/checkout@v4
|
|
27
27
|
- run: pipx run check-manifest
|
|
28
28
|
|
|
29
|
+
|
|
30
|
+
download-test-ome-zarr:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@v4
|
|
34
|
+
- name: Check and Download Artifacts
|
|
35
|
+
run: |
|
|
36
|
+
bash .github/scripts/download_data.sh
|
|
37
|
+
- name: Upload Artifacts
|
|
38
|
+
uses: actions/upload-artifact@v4
|
|
39
|
+
with:
|
|
40
|
+
name: data
|
|
41
|
+
path: data
|
|
42
|
+
|
|
43
|
+
|
|
29
44
|
test:
|
|
30
45
|
name: ${{ matrix.platform }} (${{ matrix.python-version }})
|
|
46
|
+
needs: download-test-ome-zarr
|
|
31
47
|
runs-on: ${{ matrix.platform }}
|
|
32
48
|
strategy:
|
|
33
49
|
fail-fast: false
|
|
@@ -44,6 +60,15 @@ jobs:
|
|
|
44
60
|
steps:
|
|
45
61
|
- uses: actions/checkout@v4
|
|
46
62
|
|
|
63
|
+
- uses: actions/download-artifact@v4
|
|
64
|
+
with:
|
|
65
|
+
name: data
|
|
66
|
+
path: data
|
|
67
|
+
|
|
68
|
+
- name: Check Artifacts
|
|
69
|
+
run: |
|
|
70
|
+
ls -l data
|
|
71
|
+
|
|
47
72
|
- name: 🐍 Set up Python ${{ matrix.python-version }}
|
|
48
73
|
uses: actions/setup-python@v5
|
|
49
74
|
with:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ngio
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.0b3
|
|
4
4
|
Summary: Next Generation file format IO
|
|
5
5
|
Project-URL: homepage, https://github.com/lorenzocerrone/ngio
|
|
6
6
|
Project-URL: repository, https://github.com/lorenzocerrone/ngio
|
|
@@ -41,6 +41,7 @@ Requires-Dist: rich; extra == 'dev'
|
|
|
41
41
|
Requires-Dist: ruff; extra == 'dev'
|
|
42
42
|
Requires-Dist: scikit-image; extra == 'dev'
|
|
43
43
|
Provides-Extra: docs
|
|
44
|
+
Requires-Dist: mike; extra == 'docs'
|
|
44
45
|
Requires-Dist: mkdocs; extra == 'docs'
|
|
45
46
|
Requires-Dist: mkdocs-autorefs; extra == 'docs'
|
|
46
47
|
Requires-Dist: mkdocs-git-committers-plugin-2; extra == 'docs'
|
|
@@ -60,7 +61,7 @@ Description-Content-Type: text/markdown
|
|
|
60
61
|
[](https://github.com/lorenzocerrone/ngio/raw/main/LICENSE)
|
|
61
62
|
[](https://pypi.org/project/ngio)
|
|
62
63
|
[](https://python.org)
|
|
63
|
-
[](https://github.com/fractal-analytics-platform/ngio/actions/workflows/ci.yml)
|
|
64
65
|
[](https://codecov.io/gh/fractal-analytics-platform/ngio)
|
|
65
66
|
|
|
66
67
|
NGIO is a Python library to streamline OME-Zarr image analysis workflows.
|
|
@@ -96,3 +97,4 @@ To get started, check out the [Getting Started](https://fractal-analytics-platfo
|
|
|
96
97
|
| Parallel Iterators | Not started | mid-2025 | Concurrent Iterators for parallel read and write |
|
|
97
98
|
| Full Documentation | Not started | 2025 | Complete Documentation |
|
|
98
99
|
| Release 1.0 (Commitment to API) | Not started | 2025 | API is stable; breaking changes will be avoided |
|
|
100
|
+
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://github.com/lorenzocerrone/ngio/raw/main/LICENSE)
|
|
4
4
|
[](https://pypi.org/project/ngio)
|
|
5
5
|
[](https://python.org)
|
|
6
|
-
[](https://github.com/fractal-analytics-platform/ngio/actions/workflows/ci.yml)
|
|
7
7
|
[](https://codecov.io/gh/fractal-analytics-platform/ngio)
|
|
8
8
|
|
|
9
9
|
NGIO is a Python library to streamline OME-Zarr image analysis workflows.
|
|
@@ -39,3 +39,4 @@ To get started, check out the [Getting Started](https://fractal-analytics-platfo
|
|
|
39
39
|
| Parallel Iterators | Not started | mid-2025 | Concurrent Iterators for parallel read and write |
|
|
40
40
|
| Full Documentation | Not started | 2025 | Complete Documentation |
|
|
41
41
|
| Release 1.0 (Commitment to API) | Not started | 2025 | API is stable; breaking changes will be avoided |
|
|
42
|
+
|
|
@@ -22,11 +22,17 @@
|
|
|
22
22
|
"metadata": {},
|
|
23
23
|
"outputs": [],
|
|
24
24
|
"source": [
|
|
25
|
+
"from pathlib import Path\n",
|
|
26
|
+
"\n",
|
|
25
27
|
"from ngio import open_omezarr_container\n",
|
|
26
28
|
"from ngio.utils import download_ome_zarr_dataset\n",
|
|
27
29
|
"\n",
|
|
28
|
-
"
|
|
30
|
+
"# Download the dataset\n",
|
|
31
|
+
"download_dir = Path(\".\").absolute().parent.parent / \"data\"\n",
|
|
32
|
+
"hcs_path = download_ome_zarr_dataset(\"CardiomyocyteSmallMip\", download_dir=download_dir)\n",
|
|
29
33
|
"image_path = hcs_path / \"B\" / \"03\" / \"0\"\n",
|
|
34
|
+
"\n",
|
|
35
|
+
"# Open the ome-zarr container\n",
|
|
30
36
|
"omezarr_container = open_omezarr_container(image_path)"
|
|
31
37
|
]
|
|
32
38
|
},
|
|
@@ -15,13 +15,19 @@
|
|
|
15
15
|
"metadata": {},
|
|
16
16
|
"outputs": [],
|
|
17
17
|
"source": [
|
|
18
|
+
"from pathlib import Path\n",
|
|
19
|
+
"\n",
|
|
18
20
|
"import matplotlib.pyplot as plt\n",
|
|
19
21
|
"\n",
|
|
20
22
|
"from ngio import open_omezarr_container\n",
|
|
21
23
|
"from ngio.utils import download_ome_zarr_dataset\n",
|
|
22
24
|
"\n",
|
|
23
|
-
"
|
|
25
|
+
"# Download the dataset\n",
|
|
26
|
+
"download_dir = Path(\".\").absolute().parent.parent / \"data\"\n",
|
|
27
|
+
"hcs_path = download_ome_zarr_dataset(\"CardiomyocyteSmallMip\", download_dir=download_dir)\n",
|
|
24
28
|
"image_path = hcs_path / \"B\" / \"03\" / \"0\"\n",
|
|
29
|
+
"\n",
|
|
30
|
+
"# Open the ome-zarr container\n",
|
|
25
31
|
"omezarr = open_omezarr_container(image_path)"
|
|
26
32
|
]
|
|
27
33
|
},
|
|
@@ -33,13 +33,19 @@
|
|
|
33
33
|
"metadata": {},
|
|
34
34
|
"outputs": [],
|
|
35
35
|
"source": [
|
|
36
|
+
"from pathlib import Path\n",
|
|
37
|
+
"\n",
|
|
36
38
|
"import matplotlib.pyplot as plt\n",
|
|
37
39
|
"\n",
|
|
38
40
|
"from ngio import open_omezarr_container\n",
|
|
39
41
|
"from ngio.utils import download_ome_zarr_dataset\n",
|
|
40
42
|
"\n",
|
|
41
|
-
"
|
|
43
|
+
"# Download the dataset\n",
|
|
44
|
+
"download_dir = Path(\".\").absolute().parent.parent / \"data\"\n",
|
|
45
|
+
"hcs_path = download_ome_zarr_dataset(\"CardiomyocyteTiny\", download_dir=download_dir)\n",
|
|
42
46
|
"image_path = hcs_path / \"B\" / \"03\" / \"0\"\n",
|
|
47
|
+
"\n",
|
|
48
|
+
"# Open the ome-zarr container\n",
|
|
43
49
|
"omezarr = open_omezarr_container(image_path)"
|
|
44
50
|
]
|
|
45
51
|
},
|
|
@@ -179,13 +179,6 @@ def _mask_pipe_common(
|
|
|
179
179
|
**slice_kwargs,
|
|
180
180
|
)
|
|
181
181
|
|
|
182
|
-
if "c" in slice_kwargs.keys():
|
|
183
|
-
# This makes the strong assumption that the
|
|
184
|
-
# user is passing the channel axis as "c"
|
|
185
|
-
# This will fail if the channel axis is queried
|
|
186
|
-
# with a different on-disk name
|
|
187
|
-
slice_kwargs.pop("c")
|
|
188
|
-
|
|
189
182
|
label_patch = get_pipe(
|
|
190
183
|
label_array,
|
|
191
184
|
dimensions=dimensions_label,
|
|
@@ -99,6 +99,36 @@ class AbstractImage(Generic[_image_handler]):
|
|
|
99
99
|
"""Return the dimensions of the image."""
|
|
100
100
|
return self._dimensions
|
|
101
101
|
|
|
102
|
+
@property
|
|
103
|
+
def is_3d(self) -> bool:
|
|
104
|
+
"""Return True if the image is 3D."""
|
|
105
|
+
return self.dimensions.is_3d
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def is_2d(self) -> bool:
|
|
109
|
+
"""Return True if the image is 2D."""
|
|
110
|
+
return self.dimensions.is_2d
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def is_time_series(self) -> bool:
|
|
114
|
+
"""Return True if the image is a time series."""
|
|
115
|
+
return self.dimensions.is_time_series
|
|
116
|
+
|
|
117
|
+
@property
|
|
118
|
+
def is_2d_time_series(self) -> bool:
|
|
119
|
+
"""Return True if the image is a 2D time series."""
|
|
120
|
+
return self.dimensions.is_2d_time_series
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def is_3d_time_series(self) -> bool:
|
|
124
|
+
"""Return True if the image is a 3D time series."""
|
|
125
|
+
return self.dimensions.is_3d_time_series
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def is_multi_channels(self) -> bool:
|
|
129
|
+
"""Return True if the image is multichannel."""
|
|
130
|
+
return self.dimensions.is_multi_channels
|
|
131
|
+
|
|
102
132
|
@property
|
|
103
133
|
def pixel_size(self) -> PixelSize:
|
|
104
134
|
"""Return the pixel size of the image."""
|
|
@@ -125,6 +125,36 @@ class OmeZarrContainer:
|
|
|
125
125
|
"""Return the paths of the levels in the image."""
|
|
126
126
|
return self._images_container.levels_paths
|
|
127
127
|
|
|
128
|
+
@property
|
|
129
|
+
def is_3d(self) -> bool:
|
|
130
|
+
"""Return True if the image is 3D."""
|
|
131
|
+
return self.get_image().is_3d
|
|
132
|
+
|
|
133
|
+
@property
|
|
134
|
+
def is_2d(self) -> bool:
|
|
135
|
+
"""Return True if the image is 2D."""
|
|
136
|
+
return self.get_image().is_2d
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def is_time_series(self) -> bool:
|
|
140
|
+
"""Return True if the image is a time series."""
|
|
141
|
+
return self.get_image().is_time_series
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def is_2d_time_series(self) -> bool:
|
|
145
|
+
"""Return True if the image is a 2D time series."""
|
|
146
|
+
return self.get_image().is_2d_time_series
|
|
147
|
+
|
|
148
|
+
@property
|
|
149
|
+
def is_3d_time_series(self) -> bool:
|
|
150
|
+
"""Return True if the image is a 3D time series."""
|
|
151
|
+
return self.get_image().is_3d_time_series
|
|
152
|
+
|
|
153
|
+
@property
|
|
154
|
+
def is_multi_channels(self) -> bool:
|
|
155
|
+
"""Return True if the image is multichannel."""
|
|
156
|
+
return self.get_image().is_multi_channels
|
|
157
|
+
|
|
128
158
|
def initialize_channel_meta(
|
|
129
159
|
self,
|
|
130
160
|
labels: Collection[str] | int | None = None,
|
|
@@ -342,12 +342,6 @@ class NgioLabelMeta(AbstractNgioImageMeta):
|
|
|
342
342
|
) -> None:
|
|
343
343
|
"""Initialize the ImageMeta object."""
|
|
344
344
|
super().__init__(version, name, datasets)
|
|
345
|
-
|
|
346
|
-
# Make sure that there are no channel axes
|
|
347
|
-
channel_axis = self.axes_mapper.get_axis("c")
|
|
348
|
-
if channel_axis is not None:
|
|
349
|
-
raise NgioValidationError("Label metadata must not have channel axes.")
|
|
350
|
-
|
|
351
345
|
image_label = (
|
|
352
346
|
ImageLabelSource.default_init(self.version)
|
|
353
347
|
if image_label is None
|
|
@@ -6,7 +6,7 @@ import pytest
|
|
|
6
6
|
|
|
7
7
|
from ngio.utils import download_ome_zarr_dataset
|
|
8
8
|
|
|
9
|
-
zenodo_download_dir = Path("
|
|
9
|
+
zenodo_download_dir = Path(__file__).parent.parent / "data"
|
|
10
10
|
os.makedirs(zenodo_download_dir, exist_ok=True)
|
|
11
11
|
cardiomyocyte_tiny_source_path = download_ome_zarr_dataset(
|
|
12
12
|
"CardiomyocyteTiny", download_dir=zenodo_download_dir
|
|
@@ -79,6 +79,11 @@ def test_create_omezarr_container(tmp_path: Path, array_mode: str):
|
|
|
79
79
|
assert isinstance(omezarr.__repr__(), str)
|
|
80
80
|
assert omezarr.levels == 3
|
|
81
81
|
assert omezarr.levels_paths == ["0", "1", "2"]
|
|
82
|
+
assert omezarr.is_3d
|
|
83
|
+
assert not omezarr.is_time_series
|
|
84
|
+
assert not omezarr.is_multi_channels
|
|
85
|
+
assert not omezarr.is_2d_time_series
|
|
86
|
+
assert not omezarr.is_3d_time_series
|
|
82
87
|
|
|
83
88
|
image = omezarr.get_image()
|
|
84
89
|
|
|
@@ -152,4 +157,4 @@ def test_remote_omezarr_container():
|
|
|
152
157
|
# ]
|
|
153
158
|
|
|
154
159
|
_ = omezarr.get_label("nuclei", path="0")
|
|
155
|
-
|
|
160
|
+
_ = omezarr.get_table("well_ROI_table", check_type="roi_table")
|
|
@@ -438,7 +438,7 @@ def test_label_meta():
|
|
|
438
438
|
assert label_meta.get_dataset(pixel_size=datasets[-1].pixel_size).path == "3"
|
|
439
439
|
|
|
440
440
|
|
|
441
|
-
def
|
|
441
|
+
def test_channels_label_meta():
|
|
442
442
|
on_disk_axes = [
|
|
443
443
|
Axis(on_disk_name="t", axis_type=AxisType.time, unit=TimeUnits.s),
|
|
444
444
|
Axis(on_disk_name="c"),
|
|
@@ -465,9 +465,4 @@ def test_fail_label_meta():
|
|
|
465
465
|
s * f for s, f in zip(on_disk_scale, [1, 1, 1, 2, 2], strict=True)
|
|
466
466
|
]
|
|
467
467
|
|
|
468
|
-
|
|
469
|
-
NgioLabelMeta(
|
|
470
|
-
version="0.4",
|
|
471
|
-
name="test",
|
|
472
|
-
datasets=datasets,
|
|
473
|
-
)
|
|
468
|
+
_ = NgioLabelMeta(version="0.4", name="test", datasets=datasets)
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
name: Build Docs
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
tags:
|
|
8
|
-
- "v*"
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
deploy:
|
|
12
|
-
name: Deploy Docs
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v4
|
|
17
|
-
|
|
18
|
-
- name: 🐍 Set up Python
|
|
19
|
-
uses: actions/setup-python@v5
|
|
20
|
-
with:
|
|
21
|
-
python-version: "3.13"
|
|
22
|
-
cache-dependency-path: "pyproject.toml"
|
|
23
|
-
cache: "pip"
|
|
24
|
-
|
|
25
|
-
- name: Install Dependencies
|
|
26
|
-
run: |
|
|
27
|
-
python -m pip install -U pip
|
|
28
|
-
python -m pip install .[dev]
|
|
29
|
-
python -m pip install .[docs]
|
|
30
|
-
|
|
31
|
-
- name: 📚 Build Docs
|
|
32
|
-
run: mkdocs build --clean
|
|
33
|
-
|
|
34
|
-
# If something goes wrong with --pre tests, we can open an issue in the repo
|
|
35
|
-
- name: Deploy Docs
|
|
36
|
-
uses: peaceiris/actions-gh-pages@v4
|
|
37
|
-
with:
|
|
38
|
-
personal_token: ${{ secrets.GITHUB_TOKEN }}
|
|
39
|
-
publish_dir: ./site
|
|
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
|