ngio 0.5.0__tar.gz → 0.5.0a2__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.
Files changed (544) hide show
  1. {ngio-0.5.0 → ngio-0.5.0a2}/.github/workflows/build_docs.yml +6 -5
  2. {ngio-0.5.0 → ngio-0.5.0a2}/.github/workflows/ci.yml +4 -5
  3. {ngio-0.5.0 → ngio-0.5.0a2}/.gitignore +1 -5
  4. {ngio-0.5.0 → ngio-0.5.0a2}/CHANGELOG.md +5 -84
  5. {ngio-0.5.0 → ngio-0.5.0a2}/PKG-INFO +4 -11
  6. ngio-0.5.0a2/docs/api/ngio/ngio.md +3 -0
  7. ngio-0.5.0a2/docs/changelog.md +5 -0
  8. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/0_quickstart.md +1 -1
  9. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/1_ome_zarr_containers.md +6 -65
  10. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/2_images.md +1 -1
  11. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/3_tables.md +11 -13
  12. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/4_masked_images.md +7 -7
  13. {ngio-0.5.0 → ngio-0.5.0a2}/docs/index.md +3 -2
  14. {ngio-0.5.0 → ngio-0.5.0a2}/docs/tutorials/create_ome_zarr.ipynb +2 -2
  15. {ngio-0.5.0 → ngio-0.5.0a2}/docs/tutorials/feature_extraction.ipynb +1 -8
  16. {ngio-0.5.0 → ngio-0.5.0a2}/docs/tutorials/hcs_exploration.ipynb +1 -8
  17. {ngio-0.5.0 → ngio-0.5.0a2}/docs/tutorials/image_processing.ipynb +1 -8
  18. {ngio-0.5.0 → ngio-0.5.0a2}/docs/tutorials/image_segmentation.ipynb +8 -1
  19. {ngio-0.5.0 → ngio-0.5.0a2}/pyproject.toml +4 -18
  20. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/__init__.py +2 -5
  21. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/common/__init__.py +6 -11
  22. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/common/_masking_roi.py +54 -34
  23. ngio-0.5.0a2/src/ngio/common/_pyramid.py +283 -0
  24. ngio-0.5.0a2/src/ngio/common/_roi.py +387 -0
  25. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_feature.py +3 -3
  26. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_rois_utils.py +11 -10
  27. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/hcs/_plate.py +60 -132
  28. ngio-0.5.0a2/src/ngio/images/_abstract_image.py +587 -0
  29. ngio-0.5.0a2/src/ngio/images/_create.py +287 -0
  30. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/images/_create_synt_container.py +42 -39
  31. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/images/_image.py +250 -516
  32. ngio-0.5.0a2/src/ngio/images/_label.py +342 -0
  33. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/images/_masked_image.py +2 -2
  34. ngio-0.5.0a2/src/ngio/images/_ome_zarr_container.py +1021 -0
  35. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_io_pipes.py +9 -9
  36. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_io_pipes_masked.py +7 -7
  37. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_io_pipes_roi.py +6 -6
  38. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_io_pipes_types.py +3 -3
  39. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_match_shape.py +8 -6
  40. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_ops_slices_utils.py +5 -8
  41. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/__init__.py +18 -29
  42. ngio-0.5.0a2/src/ngio/ome_zarr_meta/_meta_handlers.py +828 -0
  43. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +0 -4
  44. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +51 -152
  45. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +22 -13
  46. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +91 -129
  47. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +68 -57
  48. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/v04/__init__.py +1 -5
  49. ngio-0.5.0/src/ngio/ome_zarr_meta/v04/_v04_spec.py → ngio-0.5.0a2/src/ngio/ome_zarr_meta/v04/_v04_spec_utils.py +85 -54
  50. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/v05/__init__.py +1 -5
  51. ngio-0.5.0/src/ngio/ome_zarr_meta/v05/_v05_spec.py → ngio-0.5.0a2/src/ngio/ome_zarr_meta/v05/_v05_spec_utils.py +87 -64
  52. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/resources/__init__.py +1 -1
  53. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/resources/resource_model.py +1 -1
  54. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/_tables_container.py +11 -62
  55. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_anndata.py +8 -58
  56. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_anndata_utils.py +6 -1
  57. ngio-0.5.0a2/src/ngio/tables/backends/_csv.py +35 -0
  58. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_json.py +13 -10
  59. ngio-0.5.0a2/src/ngio/tables/backends/_non_zarr_backends.py +196 -0
  60. ngio-0.5.0a2/src/ngio/tables/backends/_parquet.py +47 -0
  61. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/v1/_roi_table.py +24 -41
  62. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/__init__.py +12 -6
  63. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/_datasets.py +0 -6
  64. ngio-0.5.0a2/src/ngio/utils/_logger.py +50 -0
  65. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/_zarr_utils.py +58 -167
  66. {ngio-0.5.0 → ngio-0.5.0a2}/tests/conftest.py +6 -12
  67. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +86 -0
  68. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +3 -0
  69. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +27 -0
  70. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +27 -0
  71. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +5 -0
  72. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +3 -0
  73. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +59 -0
  74. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +3 -0
  75. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +25 -0
  76. ngio-0.5.0a2/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +25 -0
  77. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/.zattrs +79 -0
  78. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/.zgroup +3 -0
  79. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +25 -0
  80. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +25 -0
  81. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +5 -0
  82. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +3 -0
  83. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +52 -0
  84. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +3 -0
  85. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +23 -0
  86. ngio-0.5.0a2/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +23 -0
  87. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/.zattrs +86 -0
  88. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/.zgroup +3 -0
  89. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +27 -0
  90. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +27 -0
  91. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +5 -0
  92. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +3 -0
  93. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +59 -0
  94. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +3 -0
  95. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +25 -0
  96. ngio-0.5.0a2/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +25 -0
  97. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +86 -0
  98. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +3 -0
  99. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +27 -0
  100. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +27 -0
  101. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +5 -0
  102. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +3 -0
  103. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +59 -0
  104. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +3 -0
  105. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +25 -0
  106. ngio-0.5.0a2/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +25 -0
  107. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +93 -0
  108. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +3 -0
  109. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +29 -0
  110. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +29 -0
  111. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +5 -0
  112. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +3 -0
  113. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +66 -0
  114. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +3 -0
  115. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +27 -0
  116. ngio-0.5.0a2/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +27 -0
  117. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/.zattrs +68 -0
  118. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/.zgroup +3 -0
  119. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +25 -0
  120. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +25 -0
  121. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +5 -0
  122. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +3 -0
  123. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +59 -0
  124. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +3 -0
  125. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +25 -0
  126. ngio-0.5.0a2/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +25 -0
  127. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +75 -0
  128. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +3 -0
  129. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +27 -0
  130. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +27 -0
  131. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +5 -0
  132. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +3 -0
  133. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +66 -0
  134. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +3 -0
  135. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +27 -0
  136. ngio-0.5.0a2/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +27 -0
  137. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/.zattrs +61 -0
  138. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/.zgroup +3 -0
  139. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/0/.zarray +23 -0
  140. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/1/.zarray +23 -0
  141. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +5 -0
  142. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +3 -0
  143. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +52 -0
  144. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +3 -0
  145. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +23 -0
  146. ngio-0.5.0a2/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +23 -0
  147. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/.zattrs +68 -0
  148. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/.zgroup +3 -0
  149. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +25 -0
  150. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +25 -0
  151. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +5 -0
  152. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +3 -0
  153. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +59 -0
  154. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +3 -0
  155. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +25 -0
  156. ngio-0.5.0a2/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +25 -0
  157. ngio-0.5.0a2/tests/unit/common/test_roi.py +201 -0
  158. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/common/test_transforms.py +2 -2
  159. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/hcs/test_plate.py +3 -60
  160. ngio-0.5.0a2/tests/unit/images/test_create.py +140 -0
  161. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/images/test_images.py +11 -55
  162. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/images/test_omezarr_container.py +16 -125
  163. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/iterators/test_iterators.py +44 -82
  164. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/ome_zarr_meta/test_image_handler.py +4 -4
  165. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/ome_zarr_meta/test_unit_ngio_specs.py +54 -54
  166. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/ome_zarr_meta/test_unit_v04_utils.py +14 -6
  167. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_backends.py +1 -1
  168. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_masking_roi_table_v1.py +24 -6
  169. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_roi_table_v1.py +32 -8
  170. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/utils/test_zarr_utils.py +0 -60
  171. ngio-0.5.0/docs/api/ngio/ngio.md +0 -17
  172. ngio-0.5.0/docs/changelog.md +0 -3
  173. ngio-0.5.0/src/ngio/common/_pyramid.py +0 -507
  174. ngio-0.5.0/src/ngio/common/_roi.py +0 -315
  175. ngio-0.5.0/src/ngio/images/_abstract_image.py +0 -1091
  176. ngio-0.5.0/src/ngio/images/_create_utils.py +0 -406
  177. ngio-0.5.0/src/ngio/images/_label.py +0 -419
  178. ngio-0.5.0/src/ngio/images/_ome_zarr_container.py +0 -1424
  179. ngio-0.5.0/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -512
  180. ngio-0.5.0/src/ngio/tables/backends/_csv.py +0 -19
  181. ngio-0.5.0/src/ngio/tables/backends/_parquet.py +0 -19
  182. ngio-0.5.0/src/ngio/tables/backends/_py_arrow_backends.py +0 -222
  183. ngio-0.5.0/tests/create_test_data.py +0 -78
  184. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -86
  185. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -3
  186. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -27
  187. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/0/.zattrs +0 -1
  188. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -27
  189. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/1/.zattrs +0 -1
  190. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -5
  191. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -3
  192. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -59
  193. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -3
  194. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -25
  195. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zattrs +0 -1
  196. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -25
  197. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zattrs +0 -1
  198. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/.zattrs +0 -5
  199. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/.zgroup +0 -3
  200. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zattrs +0 -7
  201. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/.zgroup +0 -3
  202. ngio-0.5.0/tests/data/v04/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -2
  203. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -79
  204. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -3
  205. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -25
  206. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/0/.zattrs +0 -1
  207. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -25
  208. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/1/.zattrs +0 -1
  209. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -5
  210. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -3
  211. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -52
  212. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -3
  213. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -23
  214. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zattrs +0 -1
  215. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -23
  216. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zattrs +0 -1
  217. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/.zattrs +0 -5
  218. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/.zgroup +0 -3
  219. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  220. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  221. ngio-0.5.0/tests/data/v04/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -2
  222. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -86
  223. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -3
  224. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -27
  225. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/0/.zattrs +0 -1
  226. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -27
  227. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/1/.zattrs +0 -1
  228. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -5
  229. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -3
  230. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -59
  231. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -3
  232. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -25
  233. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zattrs +0 -1
  234. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -25
  235. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zattrs +0 -1
  236. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/.zattrs +0 -5
  237. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/.zgroup +0 -3
  238. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  239. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  240. ngio-0.5.0/tests/data/v04/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -2
  241. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -98
  242. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -3
  243. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -27
  244. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/0/.zattrs +0 -1
  245. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -27
  246. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/1/.zattrs +0 -1
  247. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -5
  248. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -3
  249. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -59
  250. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -3
  251. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -25
  252. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zattrs +0 -1
  253. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -25
  254. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zattrs +0 -1
  255. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/.zattrs +0 -5
  256. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/.zgroup +0 -3
  257. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  258. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  259. ngio-0.5.0/tests/data/v04/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -2
  260. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -93
  261. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -3
  262. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -29
  263. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/0/.zattrs +0 -1
  264. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -29
  265. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/1/.zattrs +0 -1
  266. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -5
  267. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -3
  268. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -66
  269. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -3
  270. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -27
  271. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zattrs +0 -1
  272. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -27
  273. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zattrs +0 -1
  274. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/.zattrs +0 -5
  275. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/.zgroup +0 -3
  276. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  277. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  278. ngio-0.5.0/tests/data/v04/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -2
  279. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -68
  280. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -3
  281. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -25
  282. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/0/.zattrs +0 -1
  283. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -25
  284. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/1/.zattrs +0 -1
  285. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -5
  286. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -3
  287. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -59
  288. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -3
  289. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -25
  290. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zattrs +0 -1
  291. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -25
  292. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zattrs +0 -1
  293. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/.zattrs +0 -5
  294. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/.zgroup +0 -3
  295. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  296. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  297. ngio-0.5.0/tests/data/v04/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -2
  298. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -75
  299. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -3
  300. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -27
  301. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/0/.zattrs +0 -1
  302. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -27
  303. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/1/.zattrs +0 -1
  304. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -5
  305. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -3
  306. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -66
  307. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -3
  308. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -27
  309. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zattrs +0 -1
  310. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -27
  311. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zattrs +0 -1
  312. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/.zattrs +0 -5
  313. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/.zgroup +0 -3
  314. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  315. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  316. ngio-0.5.0/tests/data/v04/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -2
  317. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -61
  318. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -3
  319. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -23
  320. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/0/.zattrs +0 -1
  321. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -23
  322. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/1/.zattrs +0 -1
  323. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -5
  324. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -3
  325. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -52
  326. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -3
  327. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -23
  328. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zattrs +0 -1
  329. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -23
  330. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zattrs +0 -1
  331. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/.zattrs +0 -5
  332. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/.zgroup +0 -3
  333. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zattrs +0 -7
  334. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/.zgroup +0 -3
  335. ngio-0.5.0/tests/data/v04/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -2
  336. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -68
  337. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -3
  338. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -25
  339. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/0/.zattrs +0 -1
  340. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -25
  341. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/1/.zattrs +0 -1
  342. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -5
  343. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -3
  344. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -59
  345. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -3
  346. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -25
  347. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zattrs +0 -1
  348. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -25
  349. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zattrs +0 -1
  350. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/.zattrs +0 -5
  351. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/.zgroup +0 -3
  352. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zattrs +0 -7
  353. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/.zgroup +0 -3
  354. ngio-0.5.0/tests/data/v04/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -2
  355. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/0/zarr.json +0 -52
  356. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/1/zarr.json +0 -52
  357. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/0/zarr.json +0 -44
  358. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/1/zarr.json +0 -44
  359. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/label/zarr.json +0 -65
  360. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/labels/zarr.json +0 -9
  361. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/table.csv +0 -2
  362. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/well_ROI_table/zarr.json +0 -11
  363. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/tables/zarr.json +0 -9
  364. ngio-0.5.0/tests/data/v05/images/test_image_c1yx.zarr/zarr.json +0 -92
  365. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/0/zarr.json +0 -49
  366. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/1/zarr.json +0 -49
  367. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/0/zarr.json +0 -42
  368. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/1/zarr.json +0 -42
  369. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/label/zarr.json +0 -58
  370. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/labels/zarr.json +0 -9
  371. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/table.csv +0 -2
  372. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  373. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/tables/zarr.json +0 -9
  374. ngio-0.5.0/tests/data/v05/images/test_image_cyx.zarr/zarr.json +0 -85
  375. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/0/zarr.json +0 -52
  376. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/1/zarr.json +0 -52
  377. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/0/zarr.json +0 -44
  378. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/1/zarr.json +0 -44
  379. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/label/zarr.json +0 -65
  380. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/labels/zarr.json +0 -9
  381. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/table.csv +0 -2
  382. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  383. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/tables/zarr.json +0 -9
  384. ngio-0.5.0/tests/data/v05/images/test_image_czyx.zarr/zarr.json +0 -92
  385. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/0/zarr.json +0 -52
  386. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/1/zarr.json +0 -52
  387. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/0/zarr.json +0 -44
  388. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/1/zarr.json +0 -44
  389. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/label/zarr.json +0 -65
  390. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/labels/zarr.json +0 -9
  391. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/table.csv +0 -2
  392. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  393. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/tables/zarr.json +0 -9
  394. ngio-0.5.0/tests/data/v05/images/test_image_tcyx.zarr/zarr.json +0 -104
  395. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/0/zarr.json +0 -55
  396. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/1/zarr.json +0 -55
  397. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/0/zarr.json +0 -46
  398. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/1/zarr.json +0 -46
  399. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/label/zarr.json +0 -72
  400. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/labels/zarr.json +0 -9
  401. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/table.csv +0 -2
  402. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  403. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/tables/zarr.json +0 -9
  404. ngio-0.5.0/tests/data/v05/images/test_image_tczyx.zarr/zarr.json +0 -99
  405. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/0/zarr.json +0 -49
  406. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/1/zarr.json +0 -49
  407. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/0/zarr.json +0 -44
  408. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/1/zarr.json +0 -44
  409. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/label/zarr.json +0 -65
  410. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/labels/zarr.json +0 -9
  411. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/table.csv +0 -2
  412. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  413. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/tables/zarr.json +0 -9
  414. ngio-0.5.0/tests/data/v05/images/test_image_tyx.zarr/zarr.json +0 -74
  415. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/0/zarr.json +0 -52
  416. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/1/zarr.json +0 -52
  417. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/0/zarr.json +0 -46
  418. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/1/zarr.json +0 -46
  419. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/label/zarr.json +0 -72
  420. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/labels/zarr.json +0 -9
  421. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/table.csv +0 -2
  422. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  423. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/tables/zarr.json +0 -9
  424. ngio-0.5.0/tests/data/v05/images/test_image_tzyx.zarr/zarr.json +0 -81
  425. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/0/zarr.json +0 -46
  426. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/1/zarr.json +0 -46
  427. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/0/zarr.json +0 -42
  428. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/1/zarr.json +0 -42
  429. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/label/zarr.json +0 -58
  430. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/labels/zarr.json +0 -9
  431. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/table.csv +0 -2
  432. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/well_ROI_table/zarr.json +0 -11
  433. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/tables/zarr.json +0 -9
  434. ngio-0.5.0/tests/data/v05/images/test_image_yx.zarr/zarr.json +0 -67
  435. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/0/zarr.json +0 -49
  436. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/1/zarr.json +0 -49
  437. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/0/zarr.json +0 -44
  438. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/1/zarr.json +0 -44
  439. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/label/zarr.json +0 -65
  440. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/labels/zarr.json +0 -9
  441. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/table.csv +0 -2
  442. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/well_ROI_table/zarr.json +0 -11
  443. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/tables/zarr.json +0 -9
  444. ngio-0.5.0/tests/data/v05/images/test_image_zyx.zarr/zarr.json +0 -74
  445. ngio-0.5.0/tests/stores/conftest.py +0 -160
  446. ngio-0.5.0/tests/stores/test_http_store.py +0 -80
  447. ngio-0.5.0/tests/stores/test_local_store.py +0 -54
  448. ngio-0.5.0/tests/stores/test_memory_store.py +0 -54
  449. ngio-0.5.0/tests/stores/test_s3_store.py +0 -88
  450. ngio-0.5.0/tests/stores/utils.py +0 -168
  451. ngio-0.5.0/tests/unit/common/test_roi.py +0 -279
  452. ngio-0.5.0/tests/unit/images/test_create.py +0 -296
  453. {ngio-0.5.0 → ngio-0.5.0a2}/.copier-answers.yml +0 -0
  454. {ngio-0.5.0 → ngio-0.5.0a2}/.gitattributes +0 -0
  455. {ngio-0.5.0 → ngio-0.5.0a2}/.github/ISSUE_TEMPLATE.md +0 -0
  456. {ngio-0.5.0 → ngio-0.5.0a2}/.github/TEST_FAIL_TEMPLATE.md +0 -0
  457. {ngio-0.5.0 → ngio-0.5.0a2}/.github/dependabot.yml +0 -0
  458. {ngio-0.5.0 → ngio-0.5.0a2}/.github/pull_request_template.md +0 -0
  459. {ngio-0.5.0 → ngio-0.5.0a2}/.pre-commit-config.yaml +0 -0
  460. {ngio-0.5.0 → ngio-0.5.0a2}/LICENSE +0 -0
  461. {ngio-0.5.0 → ngio-0.5.0a2}/README.md +0 -0
  462. {ngio-0.5.0 → ngio-0.5.0a2}/_typos.toml +0 -0
  463. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/hcs.md +0 -0
  464. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/images.md +0 -0
  465. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/iterators.md +0 -0
  466. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/common.md +0 -0
  467. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/hcs.md +0 -0
  468. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/images.md +0 -0
  469. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/io_pipes.md +0 -0
  470. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/iterators.md +0 -0
  471. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/tables.md +0 -0
  472. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/transforms.md +0 -0
  473. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ngio/utils.md +0 -0
  474. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/ome_zarr_container.md +0 -0
  475. {ngio-0.5.0 → ngio-0.5.0a2}/docs/api/tables.md +0 -0
  476. {ngio-0.5.0 → ngio-0.5.0a2}/docs/code_of_conduct.md +0 -0
  477. {ngio-0.5.0 → ngio-0.5.0a2}/docs/contributing.md +0 -0
  478. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/5_hcs.md +0 -0
  479. {ngio-0.5.0 → ngio-0.5.0a2}/docs/getting_started/6_iterators.md +0 -0
  480. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/backend.md +0 -0
  481. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/overview.md +0 -0
  482. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/condition_table.md +0 -0
  483. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/custom_table.md +0 -0
  484. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/feature_table.md +0 -0
  485. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/generic_table.md +0 -0
  486. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/masking_roi_table.md +0 -0
  487. {ngio-0.5.0 → ngio-0.5.0a2}/docs/table_specs/table_types/roi_table.md +0 -0
  488. {ngio-0.5.0 → ngio-0.5.0a2}/mkdocs.yml +0 -0
  489. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/common/_dimensions.py +0 -0
  490. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/common/_synt_images_utils.py +0 -0
  491. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/common/_zoom.py +0 -0
  492. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/__init__.py +0 -0
  493. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/__init__.py +0 -0
  494. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_abstract_iterator.py +0 -0
  495. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_image_processing.py +0 -0
  496. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_mappers.py +0 -0
  497. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/experimental/iterators/_segmentation.py +0 -0
  498. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/hcs/__init__.py +0 -0
  499. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/images/__init__.py +0 -0
  500. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/images/_table_ops.py +0 -0
  501. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/__init__.py +0 -0
  502. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_ops_axes.py +0 -0
  503. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_ops_slices.py +0 -0
  504. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_ops_transforms.py +0 -0
  505. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/io_pipes/_zoom_transform.py +0 -0
  506. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +0 -0
  507. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
  508. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/v04/_custom_models.py +0 -0
  509. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/ome_zarr_meta/v05/_custom_models.py +0 -0
  510. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/mask.png +0 -0
  511. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/nuclei.png +0 -0
  512. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/resources/20200812-CardiomyocyteDifferentiation14-Cycle1_B03/raw.jpg +0 -0
  513. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/__init__.py +0 -0
  514. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/_abstract_table.py +0 -0
  515. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/__init__.py +0 -0
  516. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_abstract_backend.py +0 -0
  517. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_table_backends.py +0 -0
  518. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/backends/_utils.py +0 -0
  519. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/v1/__init__.py +0 -0
  520. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/v1/_condition_table.py +0 -0
  521. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/v1/_feature_table.py +0 -0
  522. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/tables/v1/_generic_table.py +0 -0
  523. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/transforms/__init__.py +0 -0
  524. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/transforms/_zoom.py +0 -0
  525. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/_cache.py +0 -0
  526. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/_errors.py +0 -0
  527. {ngio-0.5.0 → ngio-0.5.0a2}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
  528. {ngio-0.5.0 → ngio-0.5.0a2}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
  529. {ngio-0.5.0 → ngio-0.5.0a2}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
  530. {ngio-0.5.0 → ngio-0.5.0a2}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
  531. {ngio-0.5.0 → ngio-0.5.0a2}/tests/data/v04/meta/base_ome_zarr_well_meta.json +0 -0
  532. {ngio-0.5.0 → ngio-0.5.0a2}/tests/data/v04/meta/ome_zarr_well_path_normalization_meta.json +0 -0
  533. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/common/test_dimensions.py +0 -0
  534. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/common/test_pyramid.py +0 -0
  535. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/hcs/test_well.py +0 -0
  536. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/images/test_masked_images.py +0 -0
  537. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/images/test_table_ops.py +0 -0
  538. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/io_pipes/test_axes_ops.py +0 -0
  539. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/io_pipes/test_slicing_ops.py +0 -0
  540. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_backends_utils.py +0 -0
  541. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_feature_table.py +0 -0
  542. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_generic_table.py +0 -0
  543. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/tables/test_table_group.py +0 -0
  544. {ngio-0.5.0 → ngio-0.5.0a2}/tests/unit/utils/test_download_datasets.py +0 -0
@@ -3,6 +3,7 @@ name: Build Docs
3
3
  on:
4
4
  push:
5
5
  branches:
6
+ - dev
6
7
  - main
7
8
  tags:
8
9
  - "v*"
@@ -37,16 +38,16 @@ jobs:
37
38
  run: |
38
39
  git config --local user.email "github-actions[bot]@users.noreply.github.com"
39
40
  git config --local user.name "github-actions[bot]"
40
-
41
+
41
42
  - name: Restore shared data cache
42
43
  id: cache-data
43
- uses: actions/cache@v5
44
+ uses: actions/cache@v4
44
45
  with:
45
46
  path: data/
46
47
  key: "${{ runner.os }}-data-${{ hashFiles('tests/conftest.py') }}"
47
48
  restore-keys: |
48
49
  "${{ runner.os }}-data-"
49
-
50
+
50
51
  - name: Deploy docs
51
52
  run: |
52
53
  VERSION=$(echo $GITHUB_REF | sed 's/refs\/tags\///' | sed 's/refs\/heads\///')
@@ -58,8 +59,8 @@ jobs:
58
59
  mike set-default --push stable
59
60
  echo "Deployed stable version $VERSION (stable)"
60
61
 
61
- elif [[ $GITHUB_REF == refs/heads/main ]]; then
62
+ elif [[ $GITHUB_REF == refs/heads/dev ]]; then
62
63
  mike deploy --push dev
63
64
  mike set-default --push dev
64
- echo "Deployed development version (dev) from main"
65
+ echo "Deployed development version (dev)"
65
66
  fi
@@ -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", "3.14"]
36
+ python-version: ["3.11", "3.12", "3.13"]
37
37
  platform: [ubuntu-latest, macos-latest, windows-latest]
38
38
 
39
39
  steps:
@@ -51,10 +51,10 @@ jobs:
51
51
  python -m pip install -U pip
52
52
  # if running a cron job, we add the --pre flag to test against pre-releases
53
53
  python -m pip install .[test] ${{ github.event_name == 'schedule' && '--pre' || '' }}
54
-
54
+
55
55
  - name: Restore shared data cache
56
56
  id: cache-data
57
- uses: actions/cache@v5
57
+ uses: actions/cache@v4
58
58
  with:
59
59
  path: data/
60
60
  key: "${{ runner.os }}-data-${{ hashFiles('tests/conftest.py') }}"
@@ -79,7 +79,6 @@ jobs:
79
79
  update_existing: true
80
80
 
81
81
  - name: Coverage
82
- if: success() && matrix.platform == 'ubuntu-latest'
83
82
  uses: codecov/codecov-action@v5
84
83
  with:
85
84
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -119,4 +118,4 @@ jobs:
119
118
  - uses: softprops/action-gh-release@v2
120
119
  with:
121
120
  generate_release_notes: true
122
- files: "./dist/*"
121
+ files: './dist/*'
@@ -131,8 +131,4 @@ tests/_v01
131
131
  # Ignore locks
132
132
  *.lock
133
133
 
134
- benchmark/*
135
-
136
- # Agents files (for now let's not track them)
137
- AGENTS.md
138
- CLAUDE.md
134
+ benchmark/*
@@ -5,94 +5,15 @@
5
5
  ### Features
6
6
  - Add support for OME-NGFF v0.5
7
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.
8
+
9
+ ### API Changes
10
+
23
11
  - 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
12
  - 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
13
+ - 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
14
  `cache`.
27
15
  - 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.
16
+ ## [v0.4.6]
96
17
 
97
18
  ### Bug Fixes
98
19
  - Fix channel selection from `wavelength_id`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngio
3
- Version: 0.5.0
3
+ Version: 0.5.0a2
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,9 +13,8 @@ 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
17
16
  Classifier: Typing :: Typed
18
- Requires-Python: <3.15,>=3.11
17
+ Requires-Python: <3.14,>=3.11
19
18
  Requires-Dist: aiohttp
20
19
  Requires-Dist: anndata
21
20
  Requires-Dist: dask[array]<2025.11.0
@@ -23,7 +22,7 @@ Requires-Dist: dask[distributed]<2025.11.0
23
22
  Requires-Dist: filelock
24
23
  Requires-Dist: numpy
25
24
  Requires-Dist: ome-zarr-models
26
- Requires-Dist: pandas<3.0.0,>=1.2.0
25
+ Requires-Dist: pandas>=1.2.0
27
26
  Requires-Dist: pillow
28
27
  Requires-Dist: polars
29
28
  Requires-Dist: pooch
@@ -32,6 +31,7 @@ Requires-Dist: pydantic
32
31
  Requires-Dist: requests
33
32
  Requires-Dist: zarr>3
34
33
  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,7 +43,6 @@ 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'
47
46
  Provides-Extra: docs
48
47
  Requires-Dist: griffe-typingdoc; extra == 'docs'
49
48
  Requires-Dist: markdown-exec[ansi]; extra == 'docs'
@@ -58,17 +57,11 @@ Requires-Dist: mkdocs-jupyter; extra == 'docs'
58
57
  Requires-Dist: mkdocs-material; extra == 'docs'
59
58
  Requires-Dist: mkdocstrings[python]; extra == 'docs'
60
59
  Requires-Dist: rich; extra == 'docs'
61
- Requires-Dist: ruff; extra == 'docs'
62
60
  Requires-Dist: scikit-image; extra == 'docs'
63
61
  Requires-Dist: tabulate; extra == 'docs'
64
62
  Provides-Extra: test
65
- Requires-Dist: boto; extra == 'test'
66
- Requires-Dist: devtools; extra == 'test'
67
- Requires-Dist: moto[server]; extra == 'test'
68
63
  Requires-Dist: pytest; extra == 'test'
69
64
  Requires-Dist: pytest-cov; extra == 'test'
70
- Requires-Dist: pytest-httpserver; extra == 'test'
71
- Requires-Dist: s3fs; extra == 'test'
72
65
  Requires-Dist: scikit-image; extra == 'test'
73
66
  Description-Content-Type: text/markdown
74
67
 
@@ -0,0 +1,3 @@
1
+ # ngio API documentation
2
+
3
+ ::: ngio
@@ -0,0 +1,5 @@
1
+ {%
2
+ include-markdown "../CHANGELOG.md"
3
+ start="<!--intro-start-->"
4
+ end="<!--intro-end-->"
5
+ %}
@@ -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 Exploration](../tutorials/hcs_exploration.ipynb): Learn how to explore high-content screening data using ngio.
99
+ - [HCS Processing](../tutorials/hcs_processing.ipynb): Learn how to process 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.level_paths # Show the paths to all available images
62
- >>> print(ome_zarr_container.level_paths) # markdown-exec: hide
61
+ >>> ome_zarr_container.levels_paths # Show the paths to all available images
62
+ >>> print(ome_zarr_container.levels_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.meta
79
+ >>> metadata = ome_zarr_container.image_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,65 +85,6 @@ 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
-
147
88
  ## Accessing images / labels / tables
148
89
 
149
90
  To access images, labels, and tables, you can use the `get_image`, `get_label`, and `get_table` methods of the `OME-Zarr Container` object.
@@ -168,7 +109,7 @@ new_image = ome_zarr_container.derive_image(
168
109
  "data/new_ome.zarr",
169
110
  overwrite=True,
170
111
  shape=(16, 128, 128),
171
- pixelsize=0.65,
112
+ xy_pixelsize=0.65,
172
113
  z_spacing=1.0
173
114
  )
174
115
  ```
@@ -188,7 +129,7 @@ x = np.random.randint(0, 255, (16, 128, 128), dtype=np.uint8)
188
129
  new_ome_zarr_image = create_ome_zarr_from_array(
189
130
  store="random_ome.zarr",
190
131
  array=x,
191
- pixelsize=0.65,
132
+ xy_pixelsize=0.65,
192
133
  z_spacing=1.0
193
134
  )
194
135
  ```
@@ -201,7 +142,7 @@ from ngio import create_empty_ome_zarr
201
142
  new_ome_zarr_image = create_empty_ome_zarr(
202
143
  store="empty_ome.zarr",
203
144
  shape=(16, 128, 128),
204
- pixelsize=0.65,
145
+ xy_pixelsize=0.65,
205
146
  z_spacing=1.0
206
147
  )
207
148
  ```
@@ -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.from_values(slices={"x": (34.1, 321.6), "y": (10, 330)}, name=None) # Define a ROI in world coordinates
140
+ >>> roi = Roi(x=34.1, y=10, x_length=321.6, y_length=330) # 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,19 +35,17 @@ 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.get_as_numpy(c=0)
38
+ image_data = image_3.get_array(c=0)
39
39
  image_data = np.squeeze(image_data)
40
40
  roi = roi_table.get("FOV_1")
41
- roi = roi.to_pixel(pixel_size=image_3.pixel_size)
42
- x_slice = roi.get("x")
43
- y_slice = roi.get("y")
41
+ roi = roi.to_roi_pixels(pixel_size=image_3.pixel_size)
44
42
  #label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
45
- #label_data = label_3.get_as_numpy()
43
+ #label_data = label_3.get_array()
46
44
  #label_data = np.squeeze(label_data)
47
45
  fig, ax = plt.subplots(figsize=(8, 4))
48
46
  ax.set_title("FOV_1 ROI")
49
47
  ax.imshow(image_data, cmap='gray')
50
- ax.add_patch(Rectangle((x_slice.start, y_slice.start), x_slice.length, y_slice.length, edgecolor='red', facecolor='none', lw=2))
48
+ ax.add_patch(Rectangle((roi.x, roi.y), roi.x_length, roi.y_length, edgecolor='red', facecolor='none', lw=2))
51
49
  #ax.imshow(label_data, cmap=cmap, alpha=0.6)
52
50
  # make sure the roi is centered
53
51
  ax.axis('off')
@@ -60,7 +58,7 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
60
58
  ROIs can be used to slice the image data:
61
59
  ```pycon exec="true" source="console" session="get_started"
62
60
  >>> roi = roi_table.get("FOV_1")
63
- >>> roi_data = image.get_roi_as_numpy(roi)
61
+ >>> roi_data = image.get_roi(roi)
64
62
  >>> roi_data.shape
65
63
  >>> print(roi_data.shape) # markdown-exec: hide
66
64
  ```
@@ -78,10 +76,10 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
78
76
  cmap = ListedColormap(cmap_array)
79
77
  roi = roi_table.get("FOV_1")
80
78
  image_3 = ome_zarr_container.get_image(path="3")
81
- image_data = image_3.get_roi_as_numpy(roi, c=0)
79
+ image_data = image_3.get_roi(roi, c=0)
82
80
  image_data = np.squeeze(image_data)
83
81
  #label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
84
- #label_data = label_3.get_as_numpy()
82
+ #label_data = label_3.get_array()
85
83
  #label_data = np.squeeze(label_data)
86
84
  fig, ax = plt.subplots(figsize=(8, 4))
87
85
  ax.set_title("FOV_1 ROI")
@@ -106,7 +104,7 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
106
104
  ROIs can be used to slice the image data:
107
105
  ```pycon exec="true" source="console" session="get_started"
108
106
  >>> roi = masking_table.get_label(100)
109
- >>> roi_data = image.get_roi_as_numpy(roi)
107
+ >>> roi_data = image.get_roi(roi)
110
108
  >>> roi_data.shape
111
109
  >>> print(roi_data.shape) # markdown-exec: hide
112
110
  ```
@@ -124,10 +122,10 @@ Ngio supports three types of tables: `roi_table`, `feature_table`, and `masking_
124
122
  cmap = ListedColormap(cmap_array)
125
123
  roi = masking_table.get_label(100)
126
124
  image_3 = ome_zarr_container.get_image(path="2")
127
- image_data = image_3.get_roi_as_numpy(roi, c=0)
125
+ image_data = image_3.get_roi(roi, c=0)
128
126
  image_data = np.squeeze(image_data)
129
127
  label_3 = ome_zarr_container.get_label("nuclei", pixel_size=image_3.pixel_size)
130
- label_data = label_3.get_roi_as_numpy(roi)
128
+ label_data = label_3.get_roi(roi)
131
129
  label_data = np.squeeze(label_data)
132
130
  fig, ax = plt.subplots(figsize=(8, 4))
133
131
  ax.set_title("Label 1 ROI")
@@ -158,7 +156,7 @@ Tables (differently from Images and Labels) can be purely in memory objects, and
158
156
  ```pycon exec="true" source="console" session="get_started"
159
157
  >>> from ngio.tables import RoiTable
160
158
  >>> from ngio import Roi
161
- >>> roi = Roi.from_values(slices={"x": (0, 128), "y": (0, 128)}, name="FOV_1")
159
+ >>> roi = Roi(x=0, y=0, x_length=128, y_length=128, name="FOV_1")
162
160
  >>> roi_table = RoiTable(rois=[roi])
163
161
  >>> print(roi_table) # markdown-exec: hide
164
162
  ```
@@ -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 `get_roi_as_numpy` (or `get_roi_as_dask`) and `set_roi` which now instead of requiring a `roi` object, require an integer `label`.
33
+ The two most notable exceptions are the `get_roi` 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.get_roi_as_numpy(label=1009, c=0)
36
+ >>> roi_data = masked_image.get_roi(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.get_roi_as_numpy(label=1009, c=0)
53
+ image_data = masked_image.get_roi(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.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
71
+ >>> roi_data = masked_image.get_roi(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.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
77
+ image_data = masked_image.get_roi(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 `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.
93
+ In addition to the `get_roi` 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.get_roi_as_numpy(label=1009, c=0, zoom_factor=2)
126
+ masked_data = masked_image.get_roi(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/ome_zarr_container.md).
31
+ For more advanced usage and API documentation, see our [API Reference](api/ngio.md).
32
32
 
33
33
  ## Supported OME-Zarr versions
34
34
 
35
- Ngio supports OME-Zarr v0.4 and v0.5, with Zarr v2 and v3 storage formats.
35
+ Currently, ngio only supports OME-Zarr v0.4. Support for version 0.5 and higher is planned for future releases.
36
36
 
37
37
  ## Development Status
38
38
 
@@ -51,6 +51,7 @@ Ngio supports OME-Zarr v0.4 and v0.5, with Zarr v2 and v3 storage formats.
51
51
 
52
52
  ### Upcoming Features
53
53
 
54
+ - Support for OME-Zarr v0.5 and Zarr v3 (via `zarr-python` v3)
54
55
  - Enhanced performance optimizations (parallel iterators, optimized io strategies)
55
56
 
56
57
  ## 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
- " pixelsize=0.1, # Just a guess\n",
45
+ " xy_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.14"
96
+ "version": "3.11.13"
97
97
  }
98
98
  },
99
99
  "nbformat": 4,
@@ -142,13 +142,6 @@
142
142
  "source": [
143
143
  "ome_zarr.get_table(\"nuclei_regionprops\").lazy_frame.collect()"
144
144
  ]
145
- },
146
- {
147
- "cell_type": "code",
148
- "execution_count": null,
149
- "metadata": {},
150
- "outputs": [],
151
- "source": []
152
145
  }
153
146
  ],
154
147
  "metadata": {
@@ -167,7 +160,7 @@
167
160
  "name": "python",
168
161
  "nbconvert_exporter": "python",
169
162
  "pygments_lexer": "ipython3",
170
- "version": "3.11.14"
163
+ "version": "3.11.13"
171
164
  }
172
165
  },
173
166
  "nbformat": 4,
@@ -102,13 +102,6 @@
102
102
  "print(test_plate)\n",
103
103
  "print(f\"Rows: {test_plate.rows}, Columns: {test_plate.columns}\")"
104
104
  ]
105
- },
106
- {
107
- "cell_type": "code",
108
- "execution_count": null,
109
- "metadata": {},
110
- "outputs": [],
111
- "source": []
112
105
  }
113
106
  ],
114
107
  "metadata": {
@@ -127,7 +120,7 @@
127
120
  "name": "python",
128
121
  "nbconvert_exporter": "python",
129
122
  "pygments_lexer": "ipython3",
130
- "version": "3.11.14"
123
+ "version": "3.11.13"
131
124
  }
132
125
  },
133
126
  "nbformat": 4,
@@ -241,13 +241,6 @@
241
241
  "# No need to consolidate, the iterator takes care of that\n",
242
242
  "# after all the regions have been processed"
243
243
  ]
244
- },
245
- {
246
- "cell_type": "code",
247
- "execution_count": null,
248
- "metadata": {},
249
- "outputs": [],
250
- "source": []
251
244
  }
252
245
  ],
253
246
  "metadata": {
@@ -266,7 +259,7 @@
266
259
  "name": "python",
267
260
  "nbconvert_exporter": "python",
268
261
  "pygments_lexer": "ipython3",
269
- "version": "3.11.14"
262
+ "version": "3.11.13"
270
263
  }
271
264
  },
272
265
  "nbformat": 4,
@@ -240,6 +240,13 @@
240
240
  "plt.tight_layout()\n",
241
241
  "plt.show()"
242
242
  ]
243
+ },
244
+ {
245
+ "cell_type": "code",
246
+ "execution_count": null,
247
+ "metadata": {},
248
+ "outputs": [],
249
+ "source": []
243
250
  }
244
251
  ],
245
252
  "metadata": {
@@ -258,7 +265,7 @@
258
265
  "name": "python",
259
266
  "nbconvert_exporter": "python",
260
267
  "pygments_lexer": "ipython3",
261
- "version": "3.11.14"
268
+ "version": "3.11.13"
262
269
  }
263
270
  },
264
271
  "nbformat": 4,