ngio 0.4.7__tar.gz → 0.5.0__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.4.7 → ngio-0.5.0}/.github/workflows/build_docs.yml +3 -4
- {ngio-0.4.7 → ngio-0.5.0}/.github/workflows/ci.yml +4 -3
- {ngio-0.4.7 → ngio-0.5.0}/.gitignore +5 -1
- ngio-0.5.0/CHANGELOG.md +190 -0
- {ngio-0.4.7 → ngio-0.5.0}/PKG-INFO +13 -6
- ngio-0.5.0/docs/api/ngio/ngio.md +17 -0
- ngio-0.5.0/docs/changelog.md +3 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/0_quickstart.md +1 -1
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/1_ome_zarr_containers.md +65 -6
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/2_images.md +1 -1
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/3_tables.md +13 -11
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/4_masked_images.md +7 -7
- {ngio-0.4.7 → ngio-0.5.0}/docs/index.md +2 -3
- {ngio-0.4.7 → ngio-0.5.0}/docs/tutorials/create_ome_zarr.ipynb +2 -2
- {ngio-0.4.7 → ngio-0.5.0}/docs/tutorials/feature_extraction.ipynb +8 -1
- {ngio-0.4.7 → ngio-0.5.0}/docs/tutorials/hcs_exploration.ipynb +8 -1
- {ngio-0.4.7 → ngio-0.5.0}/docs/tutorials/image_processing.ipynb +8 -1
- {ngio-0.4.7 → ngio-0.5.0}/docs/tutorials/image_segmentation.ipynb +1 -8
- {ngio-0.4.7 → ngio-0.5.0}/pyproject.toml +21 -7
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/__init__.py +5 -2
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/common/__init__.py +11 -6
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/common/_masking_roi.py +34 -54
- ngio-0.5.0/src/ngio/common/_pyramid.py +507 -0
- ngio-0.5.0/src/ngio/common/_roi.py +315 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_feature.py +3 -3
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_rois_utils.py +10 -11
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/hcs/_plate.py +192 -136
- ngio-0.5.0/src/ngio/images/_abstract_image.py +1091 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/images/_create_synt_container.py +45 -47
- ngio-0.5.0/src/ngio/images/_create_utils.py +406 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/images/_image.py +524 -248
- ngio-0.5.0/src/ngio/images/_label.py +419 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/images/_masked_image.py +2 -2
- ngio-0.5.0/src/ngio/images/_ome_zarr_container.py +1424 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_io_pipes.py +9 -9
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_io_pipes_masked.py +7 -7
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_io_pipes_roi.py +6 -6
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_io_pipes_types.py +3 -3
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_match_shape.py +6 -8
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_ops_slices_utils.py +8 -5
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/__init__.py +29 -18
- ngio-0.5.0/src/ngio/ome_zarr_meta/_meta_handlers.py +512 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +4 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +152 -51
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +13 -22
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +129 -91
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +69 -69
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/v04/__init__.py +5 -1
- ngio-0.4.7/src/ngio/ome_zarr_meta/v04/_v04_spec_utils.py → ngio-0.5.0/src/ngio/ome_zarr_meta/v04/_v04_spec.py +55 -86
- ngio-0.5.0/src/ngio/ome_zarr_meta/v05/__init__.py +27 -0
- ngio-0.5.0/src/ngio/ome_zarr_meta/v05/_custom_models.py +18 -0
- ngio-0.5.0/src/ngio/ome_zarr_meta/v05/_v05_spec.py +495 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/resources/__init__.py +1 -1
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/resources/resource_model.py +1 -1
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/_tables_container.py +82 -24
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_abstract_backend.py +7 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_anndata.py +60 -7
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_anndata_utils.py +2 -4
- ngio-0.5.0/src/ngio/tables/backends/_csv.py +19 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_json.py +10 -13
- ngio-0.5.0/src/ngio/tables/backends/_parquet.py +19 -0
- ngio-0.5.0/src/ngio/tables/backends/_py_arrow_backends.py +222 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_utils.py +1 -1
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/v1/_roi_table.py +41 -24
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/utils/__init__.py +8 -12
- ngio-0.5.0/src/ngio/utils/_cache.py +48 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/utils/_datasets.py +6 -0
- ngio-0.5.0/src/ngio/utils/_zarr_utils.py +533 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/conftest.py +12 -6
- ngio-0.5.0/tests/create_test_data.py +78 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +86 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +59 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/.zattrs +79 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +52 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/.zattrs +86 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +59 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +98 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +59 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +93 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +29 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +29 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +66 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/.zattrs +68 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +59 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +75 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +66 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +27 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/.zattrs +61 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/0/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/1/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +52 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +23 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/.zattrs +68 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +59 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +25 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zattrs +1 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/.zattrs +5 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zattrs +7 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zgroup +3 -0
- ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/0/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/1/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/0/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/1/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/zarr.json +65 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/zarr.json +92 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/0/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/1/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/0/zarr.json +42 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/1/zarr.json +42 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/zarr.json +58 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/zarr.json +85 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/0/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/1/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/0/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/1/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/zarr.json +65 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/zarr.json +92 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/0/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/1/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/0/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/1/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/zarr.json +65 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/zarr.json +104 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/0/zarr.json +55 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/1/zarr.json +55 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/0/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/1/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/zarr.json +72 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/zarr.json +99 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/0/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/1/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/0/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/1/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/zarr.json +65 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/zarr.json +74 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/0/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/1/zarr.json +52 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/0/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/1/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/zarr.json +72 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/zarr.json +81 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/0/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/1/zarr.json +46 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/0/zarr.json +42 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/1/zarr.json +42 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/zarr.json +58 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/zarr.json +67 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/0/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/1/zarr.json +49 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/0/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/1/zarr.json +44 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/zarr.json +65 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +2 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/zarr.json +11 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/zarr.json +9 -0
- ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/zarr.json +74 -0
- ngio-0.5.0/tests/stores/conftest.py +160 -0
- ngio-0.5.0/tests/stores/test_http_store.py +80 -0
- ngio-0.5.0/tests/stores/test_local_store.py +54 -0
- ngio-0.5.0/tests/stores/test_memory_store.py +54 -0
- ngio-0.5.0/tests/stores/test_s3_store.py +88 -0
- ngio-0.5.0/tests/stores/utils.py +168 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/common/test_pyramid.py +2 -2
- ngio-0.5.0/tests/unit/common/test_roi.py +279 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/common/test_transforms.py +2 -2
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/hcs/test_plate.py +60 -3
- ngio-0.5.0/tests/unit/images/test_create.py +296 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/images/test_images.py +55 -11
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/images/test_omezarr_container.py +125 -16
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/iterators/test_iterators.py +82 -44
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/ome_zarr_meta/test_image_handler.py +4 -4
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/ome_zarr_meta/test_unit_ngio_specs.py +54 -54
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/ome_zarr_meta/test_unit_v04_utils.py +6 -14
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_backends.py +2 -2
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_masking_roi_table_v1.py +6 -24
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_roi_table_v1.py +8 -32
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/utils/test_zarr_utils.py +80 -22
- ngio-0.4.7/CHANGELOG.md +0 -98
- ngio-0.4.7/docs/api/ngio/ngio.md +0 -3
- ngio-0.4.7/docs/changelog.md +0 -5
- ngio-0.4.7/src/ngio/common/_pyramid.py +0 -260
- ngio-0.4.7/src/ngio/common/_roi.py +0 -387
- ngio-0.4.7/src/ngio/images/_abstract_image.py +0 -587
- ngio-0.4.7/src/ngio/images/_create.py +0 -276
- ngio-0.4.7/src/ngio/images/_label.py +0 -342
- ngio-0.4.7/src/ngio/images/_ome_zarr_container.py +0 -1021
- ngio-0.4.7/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -799
- ngio-0.4.7/src/ngio/tables/backends/_csv.py +0 -35
- ngio-0.4.7/src/ngio/tables/backends/_non_zarr_backends.py +0 -196
- ngio-0.4.7/src/ngio/tables/backends/_parquet.py +0 -47
- ngio-0.4.7/src/ngio/utils/_logger.py +0 -50
- ngio-0.4.7/src/ngio/utils/_zarr_utils.py +0 -415
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -86
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -59
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -79
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -52
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -86
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -59
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -86
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -59
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -93
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -29
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -29
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -66
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -68
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -59
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -75
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -66
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -27
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -61
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -52
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -23
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -68
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -5
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -59
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -3
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -25
- ngio-0.4.7/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -25
- ngio-0.4.7/tests/unit/common/test_roi.py +0 -201
- ngio-0.4.7/tests/unit/images/test_create.py +0 -140
- {ngio-0.4.7 → ngio-0.5.0}/.copier-answers.yml +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.gitattributes +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.github/ISSUE_TEMPLATE.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.github/TEST_FAIL_TEMPLATE.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.github/dependabot.yml +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.github/pull_request_template.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/.pre-commit-config.yaml +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/LICENSE +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/README.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/_typos.toml +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/hcs.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/images.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/iterators.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/common.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/hcs.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/images.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/io_pipes.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/iterators.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/tables.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/transforms.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ngio/utils.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/ome_zarr_container.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/api/tables.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/code_of_conduct.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/contributing.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/5_hcs.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/getting_started/6_iterators.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/backend.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/overview.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/condition_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/custom_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/feature_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/generic_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/masking_roi_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/docs/table_specs/table_types/roi_table.md +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/mkdocs.yml +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/common/_dimensions.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/common/_synt_images_utils.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/common/_zoom.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_abstract_iterator.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_image_processing.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_mappers.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/experimental/iterators/_segmentation.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/hcs/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/images/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/images/_table_ops.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_ops_axes.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_ops_slices.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_ops_transforms.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/io_pipes/_zoom_transform.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/ome_zarr_meta/v04/_custom_models.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/mask.png +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/nuclei.png +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/raw.jpg +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/_abstract_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/backends/_table_backends.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/v1/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/v1/_condition_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/v1/_feature_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/tables/v1/_generic_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/transforms/__init__.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/transforms/_zoom.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/utils/_errors.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/data/v04/meta/base_ome_zarr_well_meta.json +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/data/v04/meta/ome_zarr_well_path_normalization_meta.json +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/common/test_dimensions.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/hcs/test_well.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/images/test_masked_images.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/images/test_table_ops.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/io_pipes/test_axes_ops.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/io_pipes/test_slicing_ops.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_backends_utils.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_feature_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_generic_table.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/tables/test_table_group.py +0 -0
- {ngio-0.4.7 → ngio-0.5.0}/tests/unit/utils/test_download_datasets.py +0 -0
|
@@ -3,7 +3,6 @@ name: Build Docs
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches:
|
|
6
|
-
- hotfix/*
|
|
7
6
|
- main
|
|
8
7
|
tags:
|
|
9
8
|
- "v*"
|
|
@@ -41,7 +40,7 @@ jobs:
|
|
|
41
40
|
|
|
42
41
|
- name: Restore shared data cache
|
|
43
42
|
id: cache-data
|
|
44
|
-
uses: actions/cache@
|
|
43
|
+
uses: actions/cache@v5
|
|
45
44
|
with:
|
|
46
45
|
path: data/
|
|
47
46
|
key: "${{ runner.os }}-data-${{ hashFiles('tests/conftest.py') }}"
|
|
@@ -59,8 +58,8 @@ jobs:
|
|
|
59
58
|
mike set-default --push stable
|
|
60
59
|
echo "Deployed stable version $VERSION (stable)"
|
|
61
60
|
|
|
62
|
-
elif [[ $GITHUB_REF == refs/heads/
|
|
61
|
+
elif [[ $GITHUB_REF == refs/heads/main ]]; then
|
|
63
62
|
mike deploy --push dev
|
|
64
63
|
mike set-default --push dev
|
|
65
|
-
echo "Deployed development version (dev)"
|
|
64
|
+
echo "Deployed development version (dev) from main"
|
|
66
65
|
fi
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
push:
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
|
-
-
|
|
7
|
+
- dev
|
|
8
8
|
tags:
|
|
9
9
|
- "v*"
|
|
10
10
|
pull_request:
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
strategy:
|
|
34
34
|
fail-fast: false
|
|
35
35
|
matrix:
|
|
36
|
-
python-version: ["3.11", "3.12", "3.13"]
|
|
36
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
37
37
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
38
38
|
|
|
39
39
|
steps:
|
|
@@ -54,7 +54,7 @@ jobs:
|
|
|
54
54
|
|
|
55
55
|
- name: Restore shared data cache
|
|
56
56
|
id: cache-data
|
|
57
|
-
uses: actions/cache@
|
|
57
|
+
uses: actions/cache@v5
|
|
58
58
|
with:
|
|
59
59
|
path: data/
|
|
60
60
|
key: "${{ runner.os }}-data-${{ hashFiles('tests/conftest.py') }}"
|
|
@@ -79,6 +79,7 @@ jobs:
|
|
|
79
79
|
update_existing: true
|
|
80
80
|
|
|
81
81
|
- name: Coverage
|
|
82
|
+
if: success() && matrix.platform == 'ubuntu-latest'
|
|
82
83
|
uses: codecov/codecov-action@v5
|
|
83
84
|
with:
|
|
84
85
|
token: ${{ secrets.CODECOV_TOKEN }}
|
ngio-0.5.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [v0.5.0]
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- Add support for OME-NGFF v0.5
|
|
7
|
+
- Move to zarr-python v3
|
|
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.
|
|
10
|
+
- New metadata modification APIs for `Image`, `Label`, and `OmeZarrContainer`:
|
|
11
|
+
- `set_channel_labels` - Update channel labels
|
|
12
|
+
- `set_channel_colors` - Update channel colors
|
|
13
|
+
- `set_channel_windows` - Update channel display windows (start/end values)
|
|
14
|
+
- `set_channel_windows_with_percentiles` - Update display windows based on data percentiles
|
|
15
|
+
- `set_axes_names` - Rename axes in the metadata
|
|
16
|
+
- `set_axes_unit` - Set space and time units for axes
|
|
17
|
+
- `set_name` - Set the image/label name in metadata
|
|
18
|
+
- Add translation support in all image/label creation and derivation APIs.
|
|
19
|
+
|
|
20
|
+
### API Breaking Changes
|
|
21
|
+
|
|
22
|
+
- New `Roi` models, now supporting arbitrary axes.
|
|
23
|
+
- The `compressor` argument has been renamed to `compressors` in all relevant functions and methods to reflect the support for multiple compressors in zarr v3.
|
|
24
|
+
- The `version` argument has been renamed to `ngff_version` in all relevant functions and methods to specify the OME-NGFF version.
|
|
25
|
+
- Remove the `parallel_safe` argument from all zarr related functions and methods. The locking mechanism is now handled internally and only depends on the
|
|
26
|
+
`cache`.
|
|
27
|
+
- Remove the unused `parent` argument from `ZarrGroupHandler`.
|
|
28
|
+
- Internal changes to `ZarrGroupHandler` to support cleanup unused apis.
|
|
29
|
+
- Remove `ngio_logger` in favor of standard warnings module.
|
|
30
|
+
|
|
31
|
+
### Migration Guide (v0.4 → v0.5)
|
|
32
|
+
|
|
33
|
+
#### Roi API Changes
|
|
34
|
+
|
|
35
|
+
The `Roi` class now uses a flexible slice-based model supporting arbitrary axes:
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
# Old (v0.4)
|
|
39
|
+
roi = Roi(x=34.1, y=10, x_length=321.6, y_length=330)
|
|
40
|
+
|
|
41
|
+
# New (v0.5)
|
|
42
|
+
roi = Roi.from_values(slices={"x": (34.1, 321.6), "y": (10, 330)}, name=None)
|
|
43
|
+
|
|
44
|
+
# Accessing coordinates
|
|
45
|
+
# Old: roi.x, roi.y, roi.x_length, roi.y_length
|
|
46
|
+
# New: roi.get("x").start, roi.get("y").start, roi.get("x").length, roi.get("y").length
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### Argument Renames
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
# compressor → compressors
|
|
53
|
+
# Old (v0.4)
|
|
54
|
+
create_empty_ome_zarr(..., compressor=Blosc())
|
|
55
|
+
|
|
56
|
+
# New (v0.5)
|
|
57
|
+
create_empty_ome_zarr(..., compressors=Blosc())
|
|
58
|
+
|
|
59
|
+
# version → ngff_version
|
|
60
|
+
# Old (v0.4)
|
|
61
|
+
create_empty_ome_zarr(..., version="0.4")
|
|
62
|
+
|
|
63
|
+
# New (v0.5)
|
|
64
|
+
create_empty_ome_zarr(..., ngff_version="0.4")
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### Removed Arguments
|
|
68
|
+
|
|
69
|
+
- `parallel_safe`: No longer needed, locking is handled internally
|
|
70
|
+
- `ngio_logger`: Use Python's standard `warnings` module instead
|
|
71
|
+
|
|
72
|
+
### Deprecations
|
|
73
|
+
- Standardized all deprecation warnings to indicate removal in `ngio=0.6`.
|
|
74
|
+
- Deprecated `set_channel_percentiles` method, use `set_channel_windows_with_percentiles` instead.
|
|
75
|
+
|
|
76
|
+
### Bug Fixes
|
|
77
|
+
- Fix bug in `consolidate` function when using coarsening mode with non power-of-two shapes.
|
|
78
|
+
- Fix HCS plate column name formatting to use standardized zero-padding (e.g., column `3` is now stored as `"03"`).
|
|
79
|
+
- Fix `_stringify_column` not passing `num_digits` parameter to `_format_int_column`.
|
|
80
|
+
|
|
81
|
+
### Documentation
|
|
82
|
+
- Fix incorrect and incomplete docstrings across the codebase:
|
|
83
|
+
- `compute_masking_roi`: Added Args/Returns, fixed description (supports 2D, 3D, 4D).
|
|
84
|
+
- `lazy_compute_slices`: Added Args/Returns sections.
|
|
85
|
+
- `LabelsContainer.list`: Fixed description (was "Create the /labels group").
|
|
86
|
+
- `build_masking_roi_table`: Added Args/Returns sections.
|
|
87
|
+
- `TablesContainer`: Fixed class and method descriptions (were referencing labels instead of tables).
|
|
88
|
+
- `NgioPlateMeta.add_well`: Fixed description (was "Add an image to the well").
|
|
89
|
+
- `NgioPlateMeta.derive`: Fixed type annotation in docstring (`NgffVersion` → `NgffVersions`).
|
|
90
|
+
- Added missing docstrings to several HCS helper functions.
|
|
91
|
+
|
|
92
|
+
## [v0.4.7]
|
|
93
|
+
|
|
94
|
+
### Bug Fixes
|
|
95
|
+
- Fix bug adding time axis to masking roi tables.
|
|
96
|
+
|
|
97
|
+
### Bug Fixes
|
|
98
|
+
- Fix channel selection from `wavelength_id`
|
|
99
|
+
- Fix table opening mode to stop wrtiting groups when opening in append mode.
|
|
100
|
+
|
|
101
|
+
## [v0.4.5]
|
|
102
|
+
|
|
103
|
+
### Bug Fixes
|
|
104
|
+
- Pin Dask to version <2025.11 to avoid errors when writing zarr pyramids with dask (see https://github.com/dask/dask/issues/12159#issuecomment-3548421833)
|
|
105
|
+
|
|
106
|
+
## [v0.4.4]
|
|
107
|
+
|
|
108
|
+
### Bug Fixes
|
|
109
|
+
|
|
110
|
+
- Fix bug in channel visualization when using hex colors with leading '#'.
|
|
111
|
+
- Remove strict range check in channel window.
|
|
112
|
+
|
|
113
|
+
## [v0.4.3]
|
|
114
|
+
|
|
115
|
+
### Bug Fixes
|
|
116
|
+
|
|
117
|
+
- Fix bug in deriving labels and image from OME-Zarr with non standard path names.
|
|
118
|
+
- Add missing pillow dependency.
|
|
119
|
+
- Update pixi workspace config.
|
|
120
|
+
|
|
121
|
+
## [v0.4.2]
|
|
122
|
+
|
|
123
|
+
### API Changes
|
|
124
|
+
|
|
125
|
+
- Make roi.to_slicing_dict(pixel_size) always require pixel_size argument for consistency with other roi methods.
|
|
126
|
+
- Make PixelSize object a Pydantic model to allow for serialization.
|
|
127
|
+
|
|
128
|
+
### Bug Fixes
|
|
129
|
+
|
|
130
|
+
- Improve robustness when rounding Rois to pixel coordinates.
|
|
131
|
+
|
|
132
|
+
## [v0.4.1]
|
|
133
|
+
|
|
134
|
+
### Bug Fixes
|
|
135
|
+
- Fix bug in zoom transform when input axes contain unknown axes (e.g. virtual axes). Now unknown axes are treated as virtual axes and set to 1 in the target shape.
|
|
136
|
+
|
|
137
|
+
## [v0.4.0]
|
|
138
|
+
|
|
139
|
+
### Features
|
|
140
|
+
|
|
141
|
+
- Add Iterators for image processing pipelines
|
|
142
|
+
- Add support for time in rois and roi-tables
|
|
143
|
+
- Building masking roi tables expanded to time series data
|
|
144
|
+
- Add zoom transformation
|
|
145
|
+
- Add support for rescaling on-the-fly masks for masked images
|
|
146
|
+
- Big refactor of the io pipeline to support iterators and lazy loading
|
|
147
|
+
- Add support for customize dimension separators and compression codecs
|
|
148
|
+
- Simplify AxesHandler and Dataset Classes
|
|
149
|
+
|
|
150
|
+
### API Changes
|
|
151
|
+
|
|
152
|
+
- The image-like `get_*` api have been slightly changed. Now if a single int is passed as slice_kwargs, it is interpreted as a single index. So the dimension is automatically squeezed.
|
|
153
|
+
- Remove the `get_*_delayed` methods, now data cam only be loaded as numpy or dask array.Use the `get_as_dask` method instead, which returns a dask array that can be used with dask delayed.
|
|
154
|
+
- A new model for channel selection is available. Now channels can be selected by name, index or with `ChannelSelectionModel` object.
|
|
155
|
+
- Change `table_name` keyword argument to `name` for consistency in all table concatenation functions, e.g. `concatenate_image_tables`, `concatenate_image_tables_as`, etc.
|
|
156
|
+
- Change to `Dimension` class. `get_shape` and `get_canonical_shape` have been removed, `get` uses new keyword arguments `default` instead of `strict`.
|
|
157
|
+
- Image like objects now have a more clean API to load data. Instead of `get_array` and `set_array`, they now use `get_as_numpy`, and `get_as_dask` for delayed arrays.
|
|
158
|
+
- Also for `get_roi` now specific methods are available. For ROI objects, the `get_roi_as_numpy`, and `get_roi_as_dask` methods.
|
|
159
|
+
- Table ops moved to `ngio.images`
|
|
160
|
+
- int `label` as an explicit attribute in `Roi` objects (previously only in stored in name and relying on convention)
|
|
161
|
+
- Slight changes to `Image` and `Label` objects. Some minor attributes have been renamed for consistency.
|
|
162
|
+
|
|
163
|
+
### Table specs
|
|
164
|
+
|
|
165
|
+
- Add `t_second` and `len_t_second` to ROI tables and masking ROI tables
|
|
166
|
+
|
|
167
|
+
## [v0.3.5]
|
|
168
|
+
|
|
169
|
+
- Remove path normalization for images in wells. While the spec requires paths to be alphanumeric, this patch removes the normalization to allow for arbitrary image paths.
|
|
170
|
+
|
|
171
|
+
## [v0.3.4]
|
|
172
|
+
|
|
173
|
+
- allow to write as `anndata_v1` for backward compatibility with older ngio versions.
|
|
174
|
+
|
|
175
|
+
## [v0.3.3]
|
|
176
|
+
|
|
177
|
+
### Chores
|
|
178
|
+
|
|
179
|
+
- improve dataset download process and streamline the CI workflows
|
|
180
|
+
|
|
181
|
+
## [v0.3.2]
|
|
182
|
+
|
|
183
|
+
### API Changes
|
|
184
|
+
|
|
185
|
+
- change table backend default to `anndata_v1` for backward compatibility. This will be chaanged again when ngio `v0.2.x` is no longer supported.
|
|
186
|
+
|
|
187
|
+
### Bug Fixes
|
|
188
|
+
|
|
189
|
+
- fix [#13](https://github.com/BioVisionCenter/fractal-converters-tools/issues/13) (converters tools)
|
|
190
|
+
- fix [#88](https://github.com/BioVisionCenter/ngio/issues/88)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ngio
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
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
|
|
@@ -13,25 +13,25 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
17
|
Classifier: Typing :: Typed
|
|
17
|
-
Requires-Python: <3.
|
|
18
|
+
Requires-Python: <3.15,>=3.11
|
|
18
19
|
Requires-Dist: aiohttp
|
|
19
|
-
Requires-Dist: anndata
|
|
20
|
+
Requires-Dist: anndata
|
|
20
21
|
Requires-Dist: dask[array]<2025.11.0
|
|
21
22
|
Requires-Dist: dask[distributed]<2025.11.0
|
|
22
23
|
Requires-Dist: filelock
|
|
23
24
|
Requires-Dist: numpy
|
|
24
25
|
Requires-Dist: ome-zarr-models
|
|
25
|
-
Requires-Dist: pandas
|
|
26
|
+
Requires-Dist: pandas<3.0.0,>=1.2.0
|
|
26
27
|
Requires-Dist: pillow
|
|
27
28
|
Requires-Dist: polars
|
|
28
29
|
Requires-Dist: pooch
|
|
29
30
|
Requires-Dist: pyarrow
|
|
30
31
|
Requires-Dist: pydantic
|
|
31
32
|
Requires-Dist: requests
|
|
32
|
-
Requires-Dist: zarr
|
|
33
|
+
Requires-Dist: zarr>3
|
|
33
34
|
Provides-Extra: dev
|
|
34
|
-
Requires-Dist: devtools; extra == 'dev'
|
|
35
35
|
Requires-Dist: matplotlib; extra == 'dev'
|
|
36
36
|
Requires-Dist: mypy; extra == 'dev'
|
|
37
37
|
Requires-Dist: napari; extra == 'dev'
|
|
@@ -43,6 +43,7 @@ Requires-Dist: pyqt5; extra == 'dev'
|
|
|
43
43
|
Requires-Dist: rich; extra == 'dev'
|
|
44
44
|
Requires-Dist: ruff; extra == 'dev'
|
|
45
45
|
Requires-Dist: scikit-image; extra == 'dev'
|
|
46
|
+
Requires-Dist: zarrs; extra == 'dev'
|
|
46
47
|
Provides-Extra: docs
|
|
47
48
|
Requires-Dist: griffe-typingdoc; extra == 'docs'
|
|
48
49
|
Requires-Dist: markdown-exec[ansi]; extra == 'docs'
|
|
@@ -57,11 +58,17 @@ Requires-Dist: mkdocs-jupyter; extra == 'docs'
|
|
|
57
58
|
Requires-Dist: mkdocs-material; extra == 'docs'
|
|
58
59
|
Requires-Dist: mkdocstrings[python]; extra == 'docs'
|
|
59
60
|
Requires-Dist: rich; extra == 'docs'
|
|
61
|
+
Requires-Dist: ruff; extra == 'docs'
|
|
60
62
|
Requires-Dist: scikit-image; extra == 'docs'
|
|
61
63
|
Requires-Dist: tabulate; extra == 'docs'
|
|
62
64
|
Provides-Extra: test
|
|
65
|
+
Requires-Dist: boto; extra == 'test'
|
|
66
|
+
Requires-Dist: devtools; extra == 'test'
|
|
67
|
+
Requires-Dist: moto[server]; extra == 'test'
|
|
63
68
|
Requires-Dist: pytest; extra == 'test'
|
|
64
69
|
Requires-Dist: pytest-cov; extra == 'test'
|
|
70
|
+
Requires-Dist: pytest-httpserver; extra == 'test'
|
|
71
|
+
Requires-Dist: s3fs; extra == 'test'
|
|
65
72
|
Requires-Dist: scikit-image; extra == 'test'
|
|
66
73
|
Description-Content-Type: text/markdown
|
|
67
74
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ngio API documentation
|
|
2
|
+
|
|
3
|
+
::: ngio
|
|
4
|
+
options:
|
|
5
|
+
members:
|
|
6
|
+
- AxesSetup
|
|
7
|
+
- ChannelSelectionModel
|
|
8
|
+
- DefaultNgffVersion
|
|
9
|
+
- Dimensions
|
|
10
|
+
- ImageInWellPath
|
|
11
|
+
- NgffVersions
|
|
12
|
+
- NgioSupportedStore
|
|
13
|
+
- PixelSize
|
|
14
|
+
- Roi
|
|
15
|
+
- RoiSlice
|
|
16
|
+
- StoreOrGroup
|
|
17
|
+
- create_synthetic_ome_zarr
|
|
@@ -96,4 +96,4 @@ Also, checkout our jupyer notebook tutorials for more examples:
|
|
|
96
96
|
- [Image Processing](../tutorials/image_processing.ipynb): Learn how to perform simple image processing operations.
|
|
97
97
|
- [Image Segmentation](../tutorials/image_segmentation.ipynb): Learn how to create new labels from images.
|
|
98
98
|
- [Feature Extraction](../tutorials/feature_extraction.ipynb): Learn how to extract features from images.
|
|
99
|
-
- [HCS
|
|
99
|
+
- [HCS Exploration](../tutorials/hcs_exploration.ipynb): Learn how to explore high-content screening data using ngio.
|
|
@@ -58,8 +58,8 @@ Examples of the OME-Zarr metadata access:
|
|
|
58
58
|
=== "Available Paths"
|
|
59
59
|
Show the paths to all available resolution levels:
|
|
60
60
|
```pycon exec="true" source="console" session="get_started"
|
|
61
|
-
>>> ome_zarr_container.
|
|
62
|
-
>>> print(ome_zarr_container.
|
|
61
|
+
>>> ome_zarr_container.level_paths # Show the paths to all available images
|
|
62
|
+
>>> print(ome_zarr_container.level_paths) # markdown-exec: hide
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
=== "Dimensionality"
|
|
@@ -76,7 +76,7 @@ Examples of the OME-Zarr metadata access:
|
|
|
76
76
|
|
|
77
77
|
=== "Full Metadata Object"
|
|
78
78
|
```pycon exec="true" source="console" session="get_started"
|
|
79
|
-
>>> metadata = ome_zarr_container.
|
|
79
|
+
>>> metadata = ome_zarr_container.meta
|
|
80
80
|
>>> print(metadata) # markdown-exec: hide
|
|
81
81
|
```
|
|
82
82
|
The metadata object contains all the information about the image, for example, the channel labels:
|
|
@@ -85,6 +85,65 @@ Examples of the OME-Zarr metadata access:
|
|
|
85
85
|
>>> print(metadata.channels_meta.channel_labels) # markdown-exec: hide
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
## Modifying metadata
|
|
89
|
+
|
|
90
|
+
ngio provides methods to modify the image metadata, such as channel labels, colors, display windows, axes names, and units.
|
|
91
|
+
|
|
92
|
+
### Channel metadata
|
|
93
|
+
|
|
94
|
+
You can update channel labels, colors, and display windows:
|
|
95
|
+
|
|
96
|
+
=== "Channel Labels"
|
|
97
|
+
Update the labels (names) of the channels:
|
|
98
|
+
```python
|
|
99
|
+
>>> ome_zarr_container.set_channel_labels(["DAPI", "GFP", "RFP"])
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
=== "Channel Colors"
|
|
103
|
+
Update the display colors of the channels (hex format):
|
|
104
|
+
```python
|
|
105
|
+
>>> ome_zarr_container.set_channel_colors(["0000FF", "00FF00", "FF0000"])
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
=== "Channel Windows"
|
|
109
|
+
Update the display windows (start/end values) for each channel:
|
|
110
|
+
```python
|
|
111
|
+
>>> ome_zarr_container.set_channel_windows([(0, 255), (0, 1000), (0, 500)])
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
=== "Channel Windows from Percentiles"
|
|
115
|
+
Automatically compute display windows based on data percentiles:
|
|
116
|
+
```python
|
|
117
|
+
>>> ome_zarr_container.set_channel_windows_with_percentiles(percentiles=(0.1, 99.9))
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Axes metadata
|
|
121
|
+
|
|
122
|
+
You can update the axes names and units:
|
|
123
|
+
|
|
124
|
+
=== "Axes Names"
|
|
125
|
+
Rename the axes in the metadata:
|
|
126
|
+
```python
|
|
127
|
+
>>> ome_zarr_container.set_axes_names(["t", "c", "z", "y", "x"])
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
=== "Axes Units"
|
|
131
|
+
Set the space and time units:
|
|
132
|
+
```python
|
|
133
|
+
>>> ome_zarr_container.set_axes_units(space_unit="micrometer", time_unit="second")
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Image name
|
|
137
|
+
|
|
138
|
+
You can set the name of the image in the metadata:
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
>>> ome_zarr_container.set_name("My Processed Image")
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
!!! note
|
|
145
|
+
The `set_name` method only updates the metadata. It does not change the group name or file paths.
|
|
146
|
+
|
|
88
147
|
## Accessing images / labels / tables
|
|
89
148
|
|
|
90
149
|
To access images, labels, and tables, you can use the `get_image`, `get_label`, and `get_table` methods of the `OME-Zarr Container` object.
|
|
@@ -109,7 +168,7 @@ new_image = ome_zarr_container.derive_image(
|
|
|
109
168
|
"data/new_ome.zarr",
|
|
110
169
|
overwrite=True,
|
|
111
170
|
shape=(16, 128, 128),
|
|
112
|
-
|
|
171
|
+
pixelsize=0.65,
|
|
113
172
|
z_spacing=1.0
|
|
114
173
|
)
|
|
115
174
|
```
|
|
@@ -129,7 +188,7 @@ x = np.random.randint(0, 255, (16, 128, 128), dtype=np.uint8)
|
|
|
129
188
|
new_ome_zarr_image = create_ome_zarr_from_array(
|
|
130
189
|
store="random_ome.zarr",
|
|
131
190
|
array=x,
|
|
132
|
-
|
|
191
|
+
pixelsize=0.65,
|
|
133
192
|
z_spacing=1.0
|
|
134
193
|
)
|
|
135
194
|
```
|
|
@@ -142,7 +201,7 @@ from ngio import create_empty_ome_zarr
|
|
|
142
201
|
new_ome_zarr_image = create_empty_ome_zarr(
|
|
143
202
|
store="empty_ome.zarr",
|
|
144
203
|
shape=(16, 128, 128),
|
|
145
|
-
|
|
204
|
+
pixelsize=0.65,
|
|
146
205
|
z_spacing=1.0
|
|
147
206
|
)
|
|
148
207
|
```
|
|
@@ -137,7 +137,7 @@ To read or write a specific region of the image defined in world coordinates, yo
|
|
|
137
137
|
|
|
138
138
|
```pycon exec="true" source="console" session="get_started"
|
|
139
139
|
>>> from ngio import Roi
|
|
140
|
-
>>> roi = Roi(x
|
|
140
|
+
>>> roi = Roi.from_values(slices={"x": (34.1, 321.6), "y": (10, 330)}, name=None) # Define a ROI in world coordinates
|
|
141
141
|
>>> image.get_roi_as_numpy(roi) # Get the image data in the ROI as a numpy array
|
|
142
142
|
>>> print(image.get_roi_as_numpy(roi).shape) # markdown-exec: hide
|
|
143
143
|
```
|
|
@@ -35,17 +35,19 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
|
|
|
35
35
|
cmap_array[0] = 0
|
|
36
36
|
cmap = ListedColormap(cmap_array)
|
|
37
37
|
image_3 = ome_zarr_container.get_image(path="3")
|
|
38
|
-
image_data = image_3.
|
|
38
|
+
image_data = image_3.get_as_numpy(c=0)
|
|
39
39
|
image_data = np.squeeze(image_data)
|
|
40
40
|
roi = roi_table.get("FOV_1")
|
|
41
|
-
roi = roi.
|
|
41
|
+
roi = roi.to_pixel(pixel_size=image_3.pixel_size)
|
|
42
|
+
x_slice = roi.get("x")
|
|
43
|
+
y_slice = roi.get("y")
|
|
42
44
|
#label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
|
|
43
|
-
#label_data = label_3.
|
|
45
|
+
#label_data = label_3.get_as_numpy()
|
|
44
46
|
#label_data = np.squeeze(label_data)
|
|
45
47
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
46
48
|
ax.set_title("FOV_1 ROI")
|
|
47
49
|
ax.imshow(image_data, cmap='gray')
|
|
48
|
-
ax.add_patch(Rectangle((
|
|
50
|
+
ax.add_patch(Rectangle((x_slice.start, y_slice.start), x_slice.length, y_slice.length, edgecolor='red', facecolor='none', lw=2))
|
|
49
51
|
#ax.imshow(label_data, cmap=cmap, alpha=0.6)
|
|
50
52
|
# make sure the roi is centered
|
|
51
53
|
ax.axis('off')
|
|
@@ -58,7 +60,7 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
|
|
|
58
60
|
ROIs can be used to slice the image data:
|
|
59
61
|
```pycon exec="true" source="console" session="get_started"
|
|
60
62
|
>>> roi = roi_table.get("FOV_1")
|
|
61
|
-
>>> roi_data = image.
|
|
63
|
+
>>> roi_data = image.get_roi_as_numpy(roi)
|
|
62
64
|
>>> roi_data.shape
|
|
63
65
|
>>> print(roi_data.shape) # markdown-exec: hide
|
|
64
66
|
```
|
|
@@ -76,10 +78,10 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
|
|
|
76
78
|
cmap = ListedColormap(cmap_array)
|
|
77
79
|
roi = roi_table.get("FOV_1")
|
|
78
80
|
image_3 = ome_zarr_container.get_image(path="3")
|
|
79
|
-
image_data = image_3.
|
|
81
|
+
image_data = image_3.get_roi_as_numpy(roi, c=0)
|
|
80
82
|
image_data = np.squeeze(image_data)
|
|
81
83
|
#label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
|
|
82
|
-
#label_data = label_3.
|
|
84
|
+
#label_data = label_3.get_as_numpy()
|
|
83
85
|
#label_data = np.squeeze(label_data)
|
|
84
86
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
85
87
|
ax.set_title("FOV_1 ROI")
|
|
@@ -104,7 +106,7 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
|
|
|
104
106
|
ROIs can be used to slice the image data:
|
|
105
107
|
```pycon exec="true" source="console" session="get_started"
|
|
106
108
|
>>> roi = masking_table.get_label(100)
|
|
107
|
-
>>> roi_data = image.
|
|
109
|
+
>>> roi_data = image.get_roi_as_numpy(roi)
|
|
108
110
|
>>> roi_data.shape
|
|
109
111
|
>>> print(roi_data.shape) # markdown-exec: hide
|
|
110
112
|
```
|
|
@@ -122,10 +124,10 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
|
|
|
122
124
|
cmap = ListedColormap(cmap_array)
|
|
123
125
|
roi = masking_table.get_label(100)
|
|
124
126
|
image_3 = ome_zarr_container.get_image(path="2")
|
|
125
|
-
image_data = image_3.
|
|
127
|
+
image_data = image_3.get_roi_as_numpy(roi, c=0)
|
|
126
128
|
image_data = np.squeeze(image_data)
|
|
127
129
|
label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
|
|
128
|
-
label_data = label_3.
|
|
130
|
+
label_data = label_3.get_roi_as_numpy(roi)
|
|
129
131
|
label_data = np.squeeze(label_data)
|
|
130
132
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
131
133
|
ax.set_title("Label 1 ROI")
|
|
@@ -156,7 +158,7 @@ Tables (differently from Images and Labels) can be purely in memory objects, and
|
|
|
156
158
|
```pycon exec="true" source="console" session="get_started"
|
|
157
159
|
>>> from ngio.tables import RoiTable
|
|
158
160
|
>>> from ngio import Roi
|
|
159
|
-
>>> roi = Roi(x
|
|
161
|
+
>>> roi = Roi.from_values(slices={"x": (0, 128), "y": (0, 128)}, name="FOV_1")
|
|
160
162
|
>>> roi_table = RoiTable(rois=[roi])
|
|
161
163
|
>>> print(roi_table) # markdown-exec: hide
|
|
162
164
|
```
|
|
@@ -30,10 +30,10 @@ Let's create a masked image from the `nuclei` label:
|
|
|
30
30
|
|
|
31
31
|
Since the `MaskedImage` is a subclass of `Image`, we can use all the methods available for `Image` objects.
|
|
32
32
|
|
|
33
|
-
The two most notable exceptions are the `
|
|
33
|
+
The two most notable exceptions are the `get_roi_as_numpy` (or `get_roi_as_dask`) and `set_roi` which now instead of requiring a `roi` object, require an integer `label`.
|
|
34
34
|
|
|
35
35
|
```pycon exec="true" source="console" session="masked_images"
|
|
36
|
-
>>> roi_data = masked_image.
|
|
36
|
+
>>> roi_data = masked_image.get_roi_as_numpy(label=1009, c=0)
|
|
37
37
|
>>> roi_data.shape
|
|
38
38
|
>>> print(roi_data.shape) # markdown-exec: hide
|
|
39
39
|
```
|
|
@@ -50,7 +50,7 @@ cmap_array = np.random.rand(1000, 3)
|
|
|
50
50
|
cmap_array[0] = 0
|
|
51
51
|
cmap = ListedColormap(cmap_array)
|
|
52
52
|
|
|
53
|
-
image_data = masked_image.
|
|
53
|
+
image_data = masked_image.get_roi_as_numpy(label=1009, c=0)
|
|
54
54
|
image_data = np.squeeze(image_data)
|
|
55
55
|
|
|
56
56
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
@@ -68,13 +68,13 @@ Additionally we can used the `zoom_factor` argument to get more context around t
|
|
|
68
68
|
For example we can zoom out the ROI by a factor of `2`:
|
|
69
69
|
|
|
70
70
|
```pycon exec="true" source="console" session="masked_images"
|
|
71
|
-
>>> roi_data = masked_image.
|
|
71
|
+
>>> roi_data = masked_image.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
|
|
72
72
|
>>> roi_data.shape
|
|
73
73
|
>>> print(roi_data.shape) # markdown-exec: hide
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
```python exec="1" html="1" session="masked_images"
|
|
77
|
-
image_data = masked_image.
|
|
77
|
+
image_data = masked_image.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
|
|
78
78
|
image_data = np.squeeze(image_data)
|
|
79
79
|
|
|
80
80
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
@@ -90,7 +90,7 @@ print(buffer.getvalue())
|
|
|
90
90
|
|
|
91
91
|
## Masked operations
|
|
92
92
|
|
|
93
|
-
In addition to the `
|
|
93
|
+
In addition to the `get_roi_as_numpy` method, the `MaskedImage` class also provides a masked operation method that allows you to perform reading and writing only on the masked pixels.
|
|
94
94
|
|
|
95
95
|
For these operations we can use the `get_roi_masked` and `set_roi_masked` methods.
|
|
96
96
|
For example, we can use the `get_roi_masked` method to get the masked data for a specific label:
|
|
@@ -123,7 +123,7 @@ We can also use the `set_roi_masked` method to set the masked data for a specifi
|
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
```python exec="1" html="1" session="masked_images"
|
|
126
|
-
masked_data = masked_image.
|
|
126
|
+
masked_data = masked_image.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
|
|
127
127
|
masked_data = np.squeeze(masked_data)
|
|
128
128
|
fig, ax = plt.subplots(figsize=(8, 4))
|
|
129
129
|
ax.set_title("Masked Label 1009 ROI - After setting")
|
|
@@ -28,11 +28,11 @@ Ngio's mission is to streamline working with OME-Zarr files by providing a simpl
|
|
|
28
28
|
## Getting Started
|
|
29
29
|
|
|
30
30
|
Refer to the [Getting Started](getting_started/0_quickstart.md) guide to integrate ngio into your workflows. We also provide a collection of [Tutorials](tutorials/image_processing.ipynb) to help you get up and running quickly.
|
|
31
|
-
For more advanced usage and API documentation, see our [API Reference](api/
|
|
31
|
+
For more advanced usage and API documentation, see our [API Reference](api/ome_zarr_container.md).
|
|
32
32
|
|
|
33
33
|
## Supported OME-Zarr versions
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Ngio supports OME-Zarr v0.4 and v0.5, with Zarr v2 and v3 storage formats.
|
|
36
36
|
|
|
37
37
|
## Development Status
|
|
38
38
|
|
|
@@ -51,7 +51,6 @@ Currently, ngio only supports OME-Zarr v0.4. Support for version 0.5 and higher
|
|
|
51
51
|
|
|
52
52
|
### Upcoming Features
|
|
53
53
|
|
|
54
|
-
- Support for OME-Zarr v0.5 and Zarr v3 (via `zarr-python` v3)
|
|
55
54
|
- Enhanced performance optimizations (parallel iterators, optimized io strategies)
|
|
56
55
|
|
|
57
56
|
## Contributors
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"ome_zarr = create_ome_zarr_from_array(\n",
|
|
43
43
|
" store=\"./data/human_mitosis.zarr\",\n",
|
|
44
44
|
" array=skimage.data.human_mitosis(),\n",
|
|
45
|
-
"
|
|
45
|
+
" pixelsize=0.1, # Just a guess\n",
|
|
46
46
|
")\n",
|
|
47
47
|
"ome_zarr"
|
|
48
48
|
]
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"name": "python",
|
|
94
94
|
"nbconvert_exporter": "python",
|
|
95
95
|
"pygments_lexer": "ipython3",
|
|
96
|
-
"version": "3.11.
|
|
96
|
+
"version": "3.11.14"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"nbformat": 4,
|