ngio 0.2.7__tar.gz → 0.2.8__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 (206) hide show
  1. {ngio-0.2.7 → ngio-0.2.8}/PKG-INFO +1 -1
  2. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_channels.py +28 -2
  3. {ngio-0.2.7 → ngio-0.2.8}/.copier-answers.yml +0 -0
  4. {ngio-0.2.7 → ngio-0.2.8}/.gitattributes +0 -0
  5. {ngio-0.2.7 → ngio-0.2.8}/.github/ISSUE_TEMPLATE.md +0 -0
  6. {ngio-0.2.7 → ngio-0.2.8}/.github/TEST_FAIL_TEMPLATE.md +0 -0
  7. {ngio-0.2.7 → ngio-0.2.8}/.github/dependabot.yml +0 -0
  8. {ngio-0.2.7 → ngio-0.2.8}/.github/scripts/download_data.sh +0 -0
  9. {ngio-0.2.7 → ngio-0.2.8}/.github/workflows/build_docs.yml +0 -0
  10. {ngio-0.2.7 → ngio-0.2.8}/.github/workflows/ci.yml +0 -0
  11. {ngio-0.2.7 → ngio-0.2.8}/.gitignore +0 -0
  12. {ngio-0.2.7 → ngio-0.2.8}/.pre-commit-config.yaml +0 -0
  13. {ngio-0.2.7 → ngio-0.2.8}/LICENSE +0 -0
  14. {ngio-0.2.7 → ngio-0.2.8}/README.md +0 -0
  15. {ngio-0.2.7 → ngio-0.2.8}/_typos.toml +0 -0
  16. {ngio-0.2.7 → ngio-0.2.8}/docs/api/common.md +0 -0
  17. {ngio-0.2.7 → ngio-0.2.8}/docs/api/hcs.md +0 -0
  18. {ngio-0.2.7 → ngio-0.2.8}/docs/api/images.md +0 -0
  19. {ngio-0.2.7 → ngio-0.2.8}/docs/api/ngio.md +0 -0
  20. {ngio-0.2.7 → ngio-0.2.8}/docs/api/tables.md +0 -0
  21. {ngio-0.2.7 → ngio-0.2.8}/docs/api/utils.md +0 -0
  22. {ngio-0.2.7 → ngio-0.2.8}/docs/code_of_conduct.md +0 -0
  23. {ngio-0.2.7 → ngio-0.2.8}/docs/contributing.md +0 -0
  24. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/0_quickstart.md +0 -0
  25. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/1_ome_zarr_containers.md +0 -0
  26. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/2_images.md +0 -0
  27. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/3_tables.md +0 -0
  28. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/4_masked_images.md +0 -0
  29. {ngio-0.2.7 → ngio-0.2.8}/docs/getting_started/5_hcs.md +0 -0
  30. {ngio-0.2.7 → ngio-0.2.8}/docs/index.md +0 -0
  31. {ngio-0.2.7 → ngio-0.2.8}/docs/tutorials/feature_extraction.ipynb +0 -0
  32. {ngio-0.2.7 → ngio-0.2.8}/docs/tutorials/hcs_processing.ipynb +0 -0
  33. {ngio-0.2.7 → ngio-0.2.8}/docs/tutorials/image_processing.ipynb +0 -0
  34. {ngio-0.2.7 → ngio-0.2.8}/docs/tutorials/image_segmentation.ipynb +0 -0
  35. {ngio-0.2.7 → ngio-0.2.8}/mkdocs.yml +0 -0
  36. {ngio-0.2.7 → ngio-0.2.8}/pyproject.toml +0 -0
  37. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/__init__.py +0 -0
  38. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/__init__.py +0 -0
  39. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_array_pipe.py +0 -0
  40. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_axes_transforms.py +0 -0
  41. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_common_types.py +0 -0
  42. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_dimensions.py +0 -0
  43. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_masking_roi.py +0 -0
  44. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_pyramid.py +0 -0
  45. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_roi.py +0 -0
  46. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_slicer.py +0 -0
  47. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/common/_zoom.py +0 -0
  48. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/hcs/__init__.py +0 -0
  49. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/hcs/plate.py +0 -0
  50. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/__init__.py +0 -0
  51. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/abstract_image.py +0 -0
  52. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/create.py +0 -0
  53. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/image.py +0 -0
  54. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/label.py +0 -0
  55. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/masked_image.py +0 -0
  56. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/images/ome_zarr_container.py +0 -0
  57. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/__init__.py +0 -0
  58. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/_meta_handlers.py +0 -0
  59. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/__init__.py +0 -0
  60. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_axes.py +0 -0
  61. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_dataset.py +0 -0
  62. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +0 -0
  63. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +0 -0
  64. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/ngio_specs/_pixel_size.py +0 -0
  65. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/v04/__init__.py +0 -0
  66. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/v04/_custom_models.py +0 -0
  67. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/ome_zarr_meta/v04/_v04_spec_utils.py +0 -0
  68. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/__init__.py +0 -0
  69. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/_validators.py +0 -0
  70. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/__init__.py +0 -0
  71. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_abstract_backend.py +0 -0
  72. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_anndata_utils.py +0 -0
  73. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_anndata_v1.py +0 -0
  74. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_csv_v1.py +0 -0
  75. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_json_v1.py +0 -0
  76. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_table_backends.py +0 -0
  77. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/backends/_utils.py +0 -0
  78. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/tables_container.py +0 -0
  79. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/v1/__init__.py +0 -0
  80. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/v1/_feature_table.py +0 -0
  81. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/v1/_generic_table.py +0 -0
  82. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/tables/v1/_roi_table.py +0 -0
  83. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/__init__.py +0 -0
  84. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/_datasets.py +0 -0
  85. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/_errors.py +0 -0
  86. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/_fractal_fsspec_store.py +0 -0
  87. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/_logger.py +0 -0
  88. {ngio-0.2.7 → ngio-0.2.8}/src/ngio/utils/_zarr_utils.py +0 -0
  89. {ngio-0.2.7 → ngio-0.2.8}/tests/conftest.py +0 -0
  90. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/.zattrs +0 -0
  91. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/.zgroup +0 -0
  92. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/0/.zarray +0 -0
  93. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/1/.zarray +0 -0
  94. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zattrs +0 -0
  95. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/.zgroup +0 -0
  96. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zattrs +0 -0
  97. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/.zgroup +0 -0
  98. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/0/.zarray +0 -0
  99. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_c1yx.zarr/labels/label/1/.zarray +0 -0
  100. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/.zattrs +0 -0
  101. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/.zgroup +0 -0
  102. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/0/.zarray +0 -0
  103. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/1/.zarray +0 -0
  104. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/.zattrs +0 -0
  105. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/.zgroup +0 -0
  106. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zattrs +0 -0
  107. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/label/.zgroup +0 -0
  108. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/label/0/.zarray +0 -0
  109. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_cyx.zarr/labels/label/1/.zarray +0 -0
  110. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/.zattrs +0 -0
  111. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/.zgroup +0 -0
  112. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/0/.zarray +0 -0
  113. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/1/.zarray +0 -0
  114. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/.zattrs +0 -0
  115. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/.zgroup +0 -0
  116. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zattrs +0 -0
  117. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/label/.zgroup +0 -0
  118. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/label/0/.zarray +0 -0
  119. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_czyx.zarr/labels/label/1/.zarray +0 -0
  120. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/.zattrs +0 -0
  121. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/.zgroup +0 -0
  122. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/0/.zarray +0 -0
  123. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/1/.zarray +0 -0
  124. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zattrs +0 -0
  125. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/.zgroup +0 -0
  126. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zattrs +0 -0
  127. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/.zgroup +0 -0
  128. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/0/.zarray +0 -0
  129. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tcyx.zarr/labels/label/1/.zarray +0 -0
  130. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/.zattrs +0 -0
  131. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/.zgroup +0 -0
  132. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/0/.zarray +0 -0
  133. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/1/.zarray +0 -0
  134. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zattrs +0 -0
  135. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/.zgroup +0 -0
  136. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zattrs +0 -0
  137. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/.zgroup +0 -0
  138. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/0/.zarray +0 -0
  139. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tczyx.zarr/labels/label/1/.zarray +0 -0
  140. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/.zattrs +0 -0
  141. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/.zgroup +0 -0
  142. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/0/.zarray +0 -0
  143. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/1/.zarray +0 -0
  144. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/.zattrs +0 -0
  145. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/.zgroup +0 -0
  146. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zattrs +0 -0
  147. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/label/.zgroup +0 -0
  148. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/label/0/.zarray +0 -0
  149. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tyx.zarr/labels/label/1/.zarray +0 -0
  150. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/.zattrs +0 -0
  151. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/.zgroup +0 -0
  152. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/0/.zarray +0 -0
  153. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/1/.zarray +0 -0
  154. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zattrs +0 -0
  155. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/.zgroup +0 -0
  156. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zattrs +0 -0
  157. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/.zgroup +0 -0
  158. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/0/.zarray +0 -0
  159. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_tzyx.zarr/labels/label/1/.zarray +0 -0
  160. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/.zattrs +0 -0
  161. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/.zgroup +0 -0
  162. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/0/.zarray +0 -0
  163. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/1/.zarray +0 -0
  164. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/.zattrs +0 -0
  165. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/.zgroup +0 -0
  166. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zattrs +0 -0
  167. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/label/.zgroup +0 -0
  168. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/label/0/.zarray +0 -0
  169. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_yx.zarr/labels/label/1/.zarray +0 -0
  170. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/.zattrs +0 -0
  171. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/.zgroup +0 -0
  172. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/0/.zarray +0 -0
  173. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/1/.zarray +0 -0
  174. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/.zattrs +0 -0
  175. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/.zgroup +0 -0
  176. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zattrs +0 -0
  177. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/label/.zgroup +0 -0
  178. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/label/0/.zarray +0 -0
  179. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/images/test_image_zyx.zarr/labels/label/1/.zarray +0 -0
  180. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/meta/base_ome_zarr_image_meta.json +0 -0
  181. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/meta/base_ome_zarr_image_meta_wrong_axis_order.json +0 -0
  182. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/meta/base_ome_zarr_label_meta.json +0 -0
  183. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/meta/base_ome_zarr_well_meta.json +0 -0
  184. {ngio-0.2.7 → ngio-0.2.8}/tests/data/v04/meta/ome_zarr_well_path_normalization_meta.json +0 -0
  185. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/common/test_dimensions.py +0 -0
  186. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/common/test_pyramid.py +0 -0
  187. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/common/test_roi.py +0 -0
  188. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/hcs/test_plate.py +0 -0
  189. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/hcs/test_well.py +0 -0
  190. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/images/test_create.py +0 -0
  191. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/images/test_images.py +0 -0
  192. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/images/test_masked_images.py +0 -0
  193. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/images/test_omezarr_container.py +0 -0
  194. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/ome_zarr_meta/test_image_handler.py +0 -0
  195. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/ome_zarr_meta/test_unit_ngio_specs.py +0 -0
  196. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/ome_zarr_meta/test_unit_v04_utils.py +0 -0
  197. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_backends.py +0 -0
  198. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_backends_utils.py +0 -0
  199. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_feature_table.py +0 -0
  200. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_generic_table.py +0 -0
  201. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_masking_roi_table_v1.py +0 -0
  202. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_roi_table_v1.py +0 -0
  203. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_table_group.py +0 -0
  204. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/tables/test_validators.py +0 -0
  205. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/utils/test_download_datasets.py +0 -0
  206. {ngio-0.2.7 → ngio-0.2.8}/tests/unit/utils/test_zarr_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngio
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: Next Generation file format IO
5
5
  Project-URL: homepage, https://github.com/lorenzocerrone/ngio
6
6
  Project-URL: repository, https://github.com/lorenzocerrone/ngio
@@ -9,7 +9,7 @@ from enum import Enum
9
9
  from typing import Any, TypeVar
10
10
 
11
11
  import numpy as np
12
- from pydantic import BaseModel, ConfigDict, Field, field_validator
12
+ from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
13
13
 
14
14
  from ngio.utils import NgioValidationError, NgioValueError
15
15
 
@@ -124,7 +124,6 @@ class ChannelVisualisation(BaseModel):
124
124
  model_config = ConfigDict(extra="allow", frozen=True)
125
125
 
126
126
  @field_validator("color", mode="after")
127
- @classmethod
128
127
  def validate_color(cls, value: str | NgioColors) -> str:
129
128
  """Color validator.
130
129
 
@@ -145,6 +144,33 @@ class ChannelVisualisation(BaseModel):
145
144
  else:
146
145
  raise NgioValueError(f"Invalid color {value}.")
147
146
 
147
+ @model_validator(mode="before")
148
+ def check_start_end(cls, data):
149
+ """Check that the start and end values are valid.
150
+
151
+ If the start and end values are equal, set the end value to start + 1
152
+ """
153
+ start = data.get("start", None)
154
+ end = data.get("end", None)
155
+ if start is None or end is None:
156
+ return data
157
+ if abs(end - start) < 1e-6:
158
+ data["end"] = start + 1
159
+ return data
160
+
161
+ @model_validator(mode="after")
162
+ def check_model(self) -> "ChannelVisualisation":
163
+ """Check that the start and end values are within the min and max values."""
164
+ if self.start < self.min or self.start > self.max:
165
+ raise NgioValidationError(
166
+ f"Start value {self.start} is out of range [{self.min}, {self.max}]"
167
+ )
168
+ if self.end < self.min or self.end > self.max:
169
+ raise NgioValidationError(
170
+ f"End value {self.end} is out of range [{self.min}, {self.max}]"
171
+ )
172
+ return self
173
+
148
174
  @classmethod
149
175
  def default_init(
150
176
  cls,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes