ngio 0.2.0b2__py3-none-any.whl → 0.2.1__py3-none-any.whl

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.
@@ -12,7 +12,7 @@ from typing import Generic, Literal, TypeVar
12
12
  import pandas as pd
13
13
  from pydantic import BaseModel
14
14
 
15
- from ngio.common import WorldCooROI
15
+ from ngio.common import Roi
16
16
  from ngio.tables._validators import validate_columns
17
17
  from ngio.tables.backends import ImplementedTableBackends
18
18
  from ngio.utils import NgioValueError, ZarrGroupHandler
@@ -37,7 +37,7 @@ TRANSLATION_COLUMNS = ["translation_x", "translation_y", "translation_z"]
37
37
  OPTIONAL_COLUMNS = ORIGIN_COLUMNS + TRANSLATION_COLUMNS
38
38
 
39
39
 
40
- def _dataframe_to_rois(dataframe: pd.DataFrame) -> dict[str, WorldCooROI]:
40
+ def _dataframe_to_rois(dataframe: pd.DataFrame) -> dict[str, Roi]:
41
41
  """Convert a DataFrame to a WorldCooROI object."""
42
42
  rois = {}
43
43
  for key, row in dataframe.iterrows():
@@ -47,7 +47,7 @@ def _dataframe_to_rois(dataframe: pd.DataFrame) -> dict[str, WorldCooROI]:
47
47
  translation = {col: row.get(col, None) for col in TRANSLATION_COLUMNS}
48
48
  translation = dict(filter(lambda x: x[1] is not None, translation.items()))
49
49
 
50
- roi = WorldCooROI(
50
+ roi = Roi(
51
51
  name=str(key),
52
52
  x=row["x_micrometer"],
53
53
  y=row["y_micrometer"],
@@ -63,7 +63,7 @@ def _dataframe_to_rois(dataframe: pd.DataFrame) -> dict[str, WorldCooROI]:
63
63
  return rois
64
64
 
65
65
 
66
- def _rois_to_dataframe(rois: dict[str, WorldCooROI], index_key: str) -> pd.DataFrame:
66
+ def _rois_to_dataframe(rois: dict[str, Roi], index_key: str) -> pd.DataFrame:
67
67
  """Convert a list of WorldCooROI objects to a DataFrame."""
68
68
  data = []
69
69
  for roi in rois.values():
@@ -124,7 +124,7 @@ class _GenericRoiTableV1(Generic[_roi_meta]):
124
124
  _meta: _roi_meta
125
125
 
126
126
  def __init__(
127
- self, meta: _roi_meta | None = None, rois: Iterable[WorldCooROI] | None = None
127
+ self, meta: _roi_meta | None = None, rois: Iterable[Roi] | None = None
128
128
  ) -> None:
129
129
  """Create a new ROI table."""
130
130
  if meta is None:
@@ -225,13 +225,13 @@ class _GenericRoiTableV1(Generic[_roi_meta]):
225
225
  self._meta.backend = backend_name
226
226
  self._table_backend = backend
227
227
 
228
- def rois(self) -> list[WorldCooROI]:
228
+ def rois(self) -> list[Roi]:
229
229
  """List all ROIs in the table."""
230
230
  return list(self._rois.values())
231
231
 
232
- def add(self, roi: WorldCooROI | Iterable[WorldCooROI]) -> None:
232
+ def add(self, roi: Roi | Iterable[Roi]) -> None:
233
233
  """Append ROIs to the current table."""
234
- if isinstance(roi, WorldCooROI):
234
+ if isinstance(roi, Roi):
235
235
  roi = [roi]
236
236
 
237
237
  for _roi in roi:
@@ -266,10 +266,15 @@ class RoiTableV1(_GenericRoiTableV1[RoiTableV1Meta]):
266
266
  https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/
267
267
  """
268
268
 
269
- def __init__(self, rois: Iterable[WorldCooROI] | None = None) -> None:
269
+ def __init__(self, rois: Iterable[Roi] | None = None) -> None:
270
270
  """Create a new ROI table."""
271
271
  super().__init__(RoiTableV1Meta(), rois)
272
272
 
273
+ def __repr__(self) -> str:
274
+ """Return a string representation of the table."""
275
+ prop = f"num_rois={len(self._rois)}"
276
+ return f"RoiTableV1({prop})"
277
+
273
278
  @staticmethod
274
279
  def type() -> Literal["roi_table"]:
275
280
  """Return the type of the table."""
@@ -290,14 +295,14 @@ class RoiTableV1(_GenericRoiTableV1[RoiTableV1Meta]):
290
295
  """Return the metadata type of the table."""
291
296
  return RoiTableV1Meta
292
297
 
293
- def get(self, roi_name: str) -> WorldCooROI:
298
+ def get(self, roi_name: str) -> Roi:
294
299
  """Get an ROI from the table."""
295
300
  if roi_name not in self._rois:
296
301
  raise NgioValueError(f"ROI {roi_name} not found in the table.")
297
302
  return self._rois[roi_name]
298
303
 
299
304
 
300
- class MaskingROITableV1(_GenericRoiTableV1[MaskingRoiTableV1Meta]):
305
+ class MaskingRoiTableV1(_GenericRoiTableV1[MaskingRoiTableV1Meta]):
301
306
  """Class to handle fractal ROI tables.
302
307
 
303
308
  To know more about the ROI table format, please refer to the
@@ -307,7 +312,7 @@ class MaskingROITableV1(_GenericRoiTableV1[MaskingRoiTableV1Meta]):
307
312
 
308
313
  def __init__(
309
314
  self,
310
- rois: Iterable[WorldCooROI] | None = None,
315
+ rois: Iterable[Roi] | None = None,
311
316
  reference_label: str | None = None,
312
317
  ) -> None:
313
318
  """Create a new ROI table."""
@@ -316,6 +321,13 @@ class MaskingROITableV1(_GenericRoiTableV1[MaskingRoiTableV1Meta]):
316
321
  meta.region = RegionMeta(path=reference_label)
317
322
  super().__init__(meta, rois)
318
323
 
324
+ def __repr__(self) -> str:
325
+ """Return a string representation of the table."""
326
+ prop = f"num_rois={len(self._rois)}"
327
+ if self.reference_label is not None:
328
+ prop += f", reference_label={self.reference_label}"
329
+ return f"MaskingRoiTableV1({prop})"
330
+
319
331
  @staticmethod
320
332
  def type() -> Literal["masking_roi_table"]:
321
333
  """Return the type of the table."""
@@ -336,7 +348,17 @@ class MaskingROITableV1(_GenericRoiTableV1[MaskingRoiTableV1Meta]):
336
348
  """Return the metadata type of the table."""
337
349
  return MaskingRoiTableV1Meta
338
350
 
339
- def get(self, label: int) -> WorldCooROI:
351
+ @property
352
+ def reference_label(self) -> str | None:
353
+ """Return the reference label."""
354
+ path = self._meta.region
355
+ if path is None:
356
+ return None
357
+ path = path.path
358
+ path = path.split("/")[-1]
359
+ return path
360
+
361
+ def get(self, label: int) -> Roi:
340
362
  """Get an ROI from the table."""
341
363
  _label = str(label)
342
364
  if _label not in self._rois:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngio
3
- Version: 0.2.0b2
3
+ Version: 0.2.1
4
4
  Summary: Next Generation file format IO
5
5
  Project-URL: homepage, https://github.com/lorenzocerrone/ngio
6
6
  Project-URL: repository, https://github.com/lorenzocerrone/ngio
@@ -41,6 +41,8 @@ Requires-Dist: rich; extra == 'dev'
41
41
  Requires-Dist: ruff; extra == 'dev'
42
42
  Requires-Dist: scikit-image; extra == 'dev'
43
43
  Provides-Extra: docs
44
+ Requires-Dist: markdown-exec[ansi]; extra == 'docs'
45
+ Requires-Dist: matplotlib; extra == 'docs'
44
46
  Requires-Dist: mike; extra == 'docs'
45
47
  Requires-Dist: mkdocs; extra == 'docs'
46
48
  Requires-Dist: mkdocs-autorefs; extra == 'docs'
@@ -49,7 +51,9 @@ Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == 'docs'
49
51
  Requires-Dist: mkdocs-jupyter; extra == 'docs'
50
52
  Requires-Dist: mkdocs-material; extra == 'docs'
51
53
  Requires-Dist: mkdocstrings[python]; extra == 'docs'
54
+ Requires-Dist: rich; extra == 'docs'
52
55
  Requires-Dist: scikit-image; extra == 'docs'
56
+ Requires-Dist: tabulate; extra == 'docs'
53
57
  Provides-Extra: test
54
58
  Requires-Dist: pytest; extra == 'test'
55
59
  Requires-Dist: pytest-cov; extra == 'test'
@@ -61,7 +65,7 @@ Description-Content-Type: text/markdown
61
65
  [![License](https://img.shields.io/pypi/l/ngio.svg?color=green)](https://github.com/lorenzocerrone/ngio/raw/main/LICENSE)
62
66
  [![PyPI](https://img.shields.io/pypi/v/ngio.svg?color=green)](https://pypi.org/project/ngio)
63
67
  [![Python Version](https://img.shields.io/pypi/pyversions/ngio.svg?color=green)](https://python.org)
64
- [![CI](https://github.com/lorenzocerrone/ngio/actions/workflows/ci.yml/badge.svg)](https://github.com/fractal-analytics-platform/ngio/actions/workflows/ci.yml)
68
+ [![CI](https://github.com/fractal-analytics-platform/ngio/actions/workflows/ci.yml/badge.svg)](https://github.com/fractal-analytics-platform/ngio/actions/workflows/ci.yml)
65
69
  [![codecov](https://codecov.io/gh/fractal-analytics-platform/ngio/graph/badge.svg?token=FkmF26FZki)](https://codecov.io/gh/fractal-analytics-platform/ngio)
66
70
 
67
71
  NGIO is a Python library to streamline OME-Zarr image analysis workflows.
@@ -69,9 +73,9 @@ NGIO is a Python library to streamline OME-Zarr image analysis workflows.
69
73
  **Main Goals:**
70
74
 
71
75
  - Abstract object base API for handling OME-Zarr files
72
- - Powefull iterators for processing data using common access patterns
76
+ - Powerful iterators for processing data using common access patterns
73
77
  - Tight integration with [Fractal's Table Fractal](https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/)
74
- - Validate OME-Zarr files
78
+ - Validation of OME-Zarr files
75
79
 
76
80
  To get started, check out the [Getting Started](https://fractal-analytics-platform.github.io/ngio/getting-started/) guide. Or checkout our [Documentation](https://fractal-analytics-platform.github.io/ngio/)
77
81
 
@@ -91,7 +95,7 @@ To get started, check out the [Getting Started](https://fractal-analytics-platfo
91
95
  | Basic Iterators | Ongoing | End-September | Read and Write Iterators for common access patterns |
92
96
  | Base Documentation | ✅ | End-September | API Documentation and Examples |
93
97
  | Beta Ready Testing | ✅ | End-September | Beta Testing; Library is ready for testing, but the API is not stable |
94
- | Streaming from Fractal | Ongoing | December | Ngio can stream ome-zarr from fractal |
98
+ | Streaming from Fractal | Ongoing | December | Ngio can stream OME-Zarr from fractal |
95
99
  | Mask Iterators | Ongoing | Early 2025 | Iterators over Masked Tables |
96
100
  | Advanced Iterators | Not started | mid-2025 | Iterators for advanced access patterns |
97
101
  | Parallel Iterators | Not started | mid-2025 | Concurrent Iterators for parallel read and write |
@@ -0,0 +1,54 @@
1
+ ngio/__init__.py,sha256=KpQB2ZvLou_PLs6Q0JG7qeQ50kkEA5ddr7otAO4PCDM,1053
2
+ ngio/common/__init__.py,sha256=tMKp1eZzGfpdKDkpfHn0iVzSO11dmp-RZARpuxoGGQk,1351
3
+ ngio/common/_array_pipe.py,sha256=we3gZLhgUsiPQwPQqg_XVkyG_9EpQ2xoe0L_nOALDho,7828
4
+ ngio/common/_axes_transforms.py,sha256=kWU0M5erNmgWBXdu5LNv-tLW3jqkT00MMYX7cz-kyHs,2035
5
+ ngio/common/_common_types.py,sha256=OkAYNSNjZkixL1MI-HPBVuXamheFBr862uJ4PvTxmhk,129
6
+ ngio/common/_dimensions.py,sha256=UV2XulWaROb3Y2f4fv27ZkTIu-MoS53U26aDkrv-_lk,3900
7
+ ngio/common/_masking_roi.py,sha256=-o6meGP17iTXEbkO9aGh1VX2drkc2laIcRJvCy_pRRM,4919
8
+ ngio/common/_pyramid.py,sha256=8xTFnrKcldYXSnBqcVtH1E6hzS9_et8NdoPo8zfTCjc,7308
9
+ ngio/common/_roi.py,sha256=L2QVKGNkYC3E6rYlO82UilfF8AuWrwtCJIIptccp8H4,5096
10
+ ngio/common/_slicer.py,sha256=AKpwXRncOmF9nhjKYma0C_41WqAgSv860beKGx-aw-0,3075
11
+ ngio/common/_zoom.py,sha256=KsURa5VuixmpbAAY5-6obmuQV8vfiHKZqBxZDXvchpM,5473
12
+ ngio/hcs/__init__.py,sha256=3cLg-R-a5bv-JCt9e_0a7vfUNbZKCPt0VYAm8qqSfh4,190
13
+ ngio/hcs/plate.py,sha256=PEIs4Z1cwhFuopuyE5FvafUO213yH0xtmgu35u1JntY,14365
14
+ ngio/images/__init__.py,sha256=DYbXAdBgPxyjBRdJrWvU0UnBRI0gUMmx9KaJ-Bucvz4,533
15
+ ngio/images/abstract_image.py,sha256=ND3Kqfi-tKBVEKcSmEjOYMKhtrcILPC-L7MW2ktPqK0,9921
16
+ ngio/images/create.py,sha256=UBEWj5leIeKyiSc86k-FCU2JpppEbVR6i5g5e3lKvXY,9805
17
+ ngio/images/image.py,sha256=FlriIM-fxzJMW0Te6D0CfglO5-5rAeeegWFFl-rqDlg,15248
18
+ ngio/images/label.py,sha256=12KoLkhr74jHg313KKjlhMHwWa-7zZJdb8wpJSCvarQ,9489
19
+ ngio/images/masked_image.py,sha256=IBo8x2jHyXBXn7ORo8fSiwBPjV_1JOTb_vatjKNxbJ0,8531
20
+ ngio/images/ome_zarr_container.py,sha256=pVhVaHQOyNK7SqPym1d8hLXsv6y3meDtKeEsQODiyn4,27419
21
+ ngio/ome_zarr_meta/__init__.py,sha256=sDrVZRRL9cZCfLUwLoGV2behimsYXqY7oHHu5wCMvQ4,1130
22
+ ngio/ome_zarr_meta/_meta_handlers.py,sha256=BLvYt5PONYrWkEb2XgEiAXR_OX9rfeX_C0eEqen0jQA,25549
23
+ ngio/ome_zarr_meta/ngio_specs/__init__.py,sha256=ev8RPyx3MVaUghawnmU-gIm7Pr0jwb7-_w2OuuozYPw,1584
24
+ ngio/ome_zarr_meta/ngio_specs/_axes.py,sha256=zgAE0-2DHzJfqGqBhyjY7y_6qAgDLdV9iuWz-YsHe9Y,16682
25
+ ngio/ome_zarr_meta/ngio_specs/_channels.py,sha256=ufZuYuTO5PJA1vcBrNAcuZCMgIEwF57buPloTHIzB1Q,14082
26
+ ngio/ome_zarr_meta/ngio_specs/_dataset.py,sha256=xT4GY2mdIsm6nAP8bXRj5E9-P6rS-iwzcXT_o3pZajo,4696
27
+ ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py,sha256=M8kgNVUc7Ef5MOj9IR0eZhG_Tk7q4xf7-WknWvi-mzU,11709
28
+ ngio/ome_zarr_meta/ngio_specs/_ngio_image.py,sha256=l0eQVavO8g1Amm7AjCP6CCSaPOOkKyfa_yb3pFef6WU,16743
29
+ ngio/ome_zarr_meta/ngio_specs/_pixel_size.py,sha256=QZy94THDBkeLgOtN6o_jF3oXSewRxdM2E7ZTSBTo7RU,3878
30
+ ngio/ome_zarr_meta/v04/__init__.py,sha256=dJRzzxyYc81kf-0Hip_bqvbdManaM8XTdQX2meWyCSs,583
31
+ ngio/ome_zarr_meta/v04/_v04_spec_utils.py,sha256=rLPKeYkOYQDI2urSBGKfhi45angK0_QhdB_3LAYrN0o,15863
32
+ ngio/tables/__init__.py,sha256=gxvNvAgLePgrngOm06H5qU50Axc6boeIs5iCfrmqTi0,609
33
+ ngio/tables/_validators.py,sha256=RzF09YrlUSb-xdVlosuU-_BaLswtvhpduHfzLaWu2mY,6468
34
+ ngio/tables/tables_container.py,sha256=elOTjpRuC_zsRuZmGeBWfMl2y6OLp2g6FmOe__xLsWE,9845
35
+ ngio/tables/backends/__init__.py,sha256=NlOXmZXDA1kOCVONUyo_aqSjdMHmfqk-3xuKBLXpaUM,217
36
+ ngio/tables/backends/_abstract_backend.py,sha256=JlaHqLjDm2uVnXFWxsHMojNeKo3leg6uauzoFMSF5O4,2256
37
+ ngio/tables/backends/_anndata_utils.py,sha256=zo85K0bwgyQKBj8hQASfOSWugdd4BPUTyT6_tRO58fI,6917
38
+ ngio/tables/backends/_anndata_v1.py,sha256=hhEwoBybWFDHqajOk_JEazniYmhAlCehOYTtmcYJfyY,2615
39
+ ngio/tables/backends/_json_v1.py,sha256=9ZC0d_tMiiugm-VXDL3sRFfESzSnnY9kAtSxoXYV-dY,1910
40
+ ngio/tables/backends/_table_backends.py,sha256=XXtnZqVDbMqFkbUkHbf9IBNz4teCouLpa5fWgEgVtfg,3269
41
+ ngio/tables/v1/__init__.py,sha256=XWi6f_KbjbX45Ku-7uymJRSTVWyFAPAAEp_TXDeZV4s,314
42
+ ngio/tables/v1/_feature_table.py,sha256=mR8BwvZfkUT42mQuS0KACW7fTqcsIl6Ckiwg-1UEGpY,5865
43
+ ngio/tables/v1/_generic_table.py,sha256=jVW0vv0HMPXZjuP_uAvz-rPsvLQhjo3RfSa2Y9vdg1o,5679
44
+ ngio/tables/v1/_roi_table.py,sha256=oE898CUh0ZbtnFXiM05T6VwTwRguv-aVYKkBmSx0Kj0,11296
45
+ ngio/utils/__init__.py,sha256=r3nuLWgp6-cQlS4ODjYSBrfgdTLkCOVke9jKbn1NpkA,1129
46
+ ngio/utils/_datasets.py,sha256=EdYJHIifpRou4f43dIuiKsdxe4K6FaeS4f1_e_EYrcI,1727
47
+ ngio/utils/_errors.py,sha256=pKQ12LUjQLYE1nUawemA5h7HsgznjaSvV1n2PQU33N0,759
48
+ ngio/utils/_fractal_fsspec_store.py,sha256=7qoGLiLi8JQFh9Ej_z5WNwQQuWrujb0f6p9nj8ocsS8,548
49
+ ngio/utils/_logger.py,sha256=HIuqD_2ShfFGDswBddcouStbKfL0Vz_ah8cAIFGhbS8,888
50
+ ngio/utils/_zarr_utils.py,sha256=r075cNpr-JHZ1PaDHX1KlENIGMvLf-WTTYwpODACWm4,12924
51
+ ngio-0.2.1.dist-info/METADATA,sha256=MM8H2PMJSbt9QO6J7g4o2Q-_ieAKaYKIZA_SGiJ8_yw,5170
52
+ ngio-0.2.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
53
+ ngio-0.2.1.dist-info/licenses/LICENSE,sha256=UgN_a1QCeNh9rZWfz-wORQFxE3elQzLWPQaoK6N6fxQ,1502
54
+ ngio-0.2.1.dist-info/RECORD,,
@@ -1,54 +0,0 @@
1
- ngio/__init__.py,sha256=8-5UcDEIPVIM3mk4GqyBJNteQo0WZNOox1-F6UJoHjg,1001
2
- ngio/common/__init__.py,sha256=4MLD3Xgr6-I6NwGoY7pa5qQfbfEobFCW3KvLybYcgOc,1373
3
- ngio/common/_array_pipe.py,sha256=TTdSGJp8eFFycfme_gtdSKk9vcu-A--PhpP4qSi7N40,7840
4
- ngio/common/_axes_transforms.py,sha256=kWU0M5erNmgWBXdu5LNv-tLW3jqkT00MMYX7cz-kyHs,2035
5
- ngio/common/_common_types.py,sha256=OkAYNSNjZkixL1MI-HPBVuXamheFBr862uJ4PvTxmhk,129
6
- ngio/common/_dimensions.py,sha256=UV2XulWaROb3Y2f4fv27ZkTIu-MoS53U26aDkrv-_lk,3900
7
- ngio/common/_masking_roi.py,sha256=WSlFwoLH4Rjh0AJFFNa2FtFNfs5NB0exgzGb3Gy5K0s,4951
8
- ngio/common/_pyramid.py,sha256=8xTFnrKcldYXSnBqcVtH1E6hzS9_et8NdoPo8zfTCjc,7308
9
- ngio/common/_roi.py,sha256=PIxiMarPZwIjqcd1P4aUpwZttvaTQscqXOS7xJCxz7Y,5181
10
- ngio/common/_slicer.py,sha256=AKpwXRncOmF9nhjKYma0C_41WqAgSv860beKGx-aw-0,3075
11
- ngio/common/_zoom.py,sha256=KsURa5VuixmpbAAY5-6obmuQV8vfiHKZqBxZDXvchpM,5473
12
- ngio/hcs/__init__.py,sha256=9YNmtHgCKhYSjmAE2-YVg5BycH-5cQGAE9xFrxxWo8c,188
13
- ngio/hcs/plate.py,sha256=b-EHns-OGQF_RXEa-GDzP2TJFqpRFc0rBKdgf4l7MwU,12409
14
- ngio/images/__init__.py,sha256=aijqG14eyqVgHtnlcKVNx37FRfT6QvKt8V6bwBpX_r8,526
15
- ngio/images/abstract_image.py,sha256=zA1LAZNAuBmZwInUhL33NiFLsCtfyEhI-4XPIRQgCIg,8770
16
- ngio/images/create.py,sha256=wQfoB9pmQkHFFYE3WNbhgQt36XhoTopGcPGcEXTNI-0,9764
17
- ngio/images/image.py,sha256=BL9TINwYrT2_HdkhCKoRcfy7XqiiwEIVQvHDFkF8ZWc,15246
18
- ngio/images/label.py,sha256=gvVuRUsrDBk-EpsuUMepC4M5hYPb5yTVvWwozaLM7-g,9333
19
- ngio/images/masked_image.py,sha256=4YYVqf8OtIp-wWGVGUKMHMTqod4p4F7ZyWrsUIXMjEs,7905
20
- ngio/images/omezarr_container.py,sha256=80bqjl3Km7lAp0p_eKOpslgCY1UEj-7kM8M67THUZHo,26469
21
- ngio/ome_zarr_meta/__init__.py,sha256=EfBX9ppb_wliSIcVb4NBDt3dFVldeIJ0h9tY9HELRY4,1075
22
- ngio/ome_zarr_meta/_meta_handlers.py,sha256=BLvYt5PONYrWkEb2XgEiAXR_OX9rfeX_C0eEqen0jQA,25549
23
- ngio/ome_zarr_meta/ngio_specs/__init__.py,sha256=ZpghXfbq0r-YJklD7J76BRMTlzEIAJFzneYlsosdyTY,1548
24
- ngio/ome_zarr_meta/ngio_specs/_axes.py,sha256=zgAE0-2DHzJfqGqBhyjY7y_6qAgDLdV9iuWz-YsHe9Y,16682
25
- ngio/ome_zarr_meta/ngio_specs/_channels.py,sha256=ufZuYuTO5PJA1vcBrNAcuZCMgIEwF57buPloTHIzB1Q,14082
26
- ngio/ome_zarr_meta/ngio_specs/_dataset.py,sha256=xT4GY2mdIsm6nAP8bXRj5E9-P6rS-iwzcXT_o3pZajo,4696
27
- ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py,sha256=YQlobPYU7vbo9fShHQyCfzLlDUlP-mprAivay6W4-A0,11610
28
- ngio/ome_zarr_meta/ngio_specs/_ngio_image.py,sha256=6bJNONxf1UbpxF635Dckm7RTG11zY0EWyRNtQAUkBYw,17004
29
- ngio/ome_zarr_meta/ngio_specs/_pixel_size.py,sha256=QZy94THDBkeLgOtN6o_jF3oXSewRxdM2E7ZTSBTo7RU,3878
30
- ngio/ome_zarr_meta/v04/__init__.py,sha256=dJRzzxyYc81kf-0Hip_bqvbdManaM8XTdQX2meWyCSs,583
31
- ngio/ome_zarr_meta/v04/_v04_spec_utils.py,sha256=G4GGarkktjdsIzHUhaoZEL69-r-ZLpLz6y5TDVsN4W0,15939
32
- ngio/tables/__init__.py,sha256=Mu3P8D-AtAxv9l4vUo-UJPfTYkgvB5A8qpOh3gMWX4E,609
33
- ngio/tables/_validators.py,sha256=RzF09YrlUSb-xdVlosuU-_BaLswtvhpduHfzLaWu2mY,6468
34
- ngio/tables/tables_container.py,sha256=FXp-s_zKqbMcBFh4515kbSdxYaFK1ULE2Pf0pzlnpEE,9845
35
- ngio/tables/backends/__init__.py,sha256=NlOXmZXDA1kOCVONUyo_aqSjdMHmfqk-3xuKBLXpaUM,217
36
- ngio/tables/backends/_abstract_backend.py,sha256=JlaHqLjDm2uVnXFWxsHMojNeKo3leg6uauzoFMSF5O4,2256
37
- ngio/tables/backends/_anndata_utils.py,sha256=zo85K0bwgyQKBj8hQASfOSWugdd4BPUTyT6_tRO58fI,6917
38
- ngio/tables/backends/_anndata_v1.py,sha256=hhEwoBybWFDHqajOk_JEazniYmhAlCehOYTtmcYJfyY,2615
39
- ngio/tables/backends/_json_v1.py,sha256=9ZC0d_tMiiugm-VXDL3sRFfESzSnnY9kAtSxoXYV-dY,1910
40
- ngio/tables/backends/_table_backends.py,sha256=XXtnZqVDbMqFkbUkHbf9IBNz4teCouLpa5fWgEgVtfg,3269
41
- ngio/tables/v1/__init__.py,sha256=VtS1RUiPn_jHa__IUsGGzXSYsG0O1V0fpVR6xCOSFHY,314
42
- ngio/tables/v1/_feature_table.py,sha256=yO1fWUfEM5nTSU6vx4QEwSY3MsgB8zZyr6Ui0fwc16w,5161
43
- ngio/tables/v1/_generic_table.py,sha256=NcDWa6NI7LQplSVPOn0HG5CjrILTf0ZKZ1i_E-H5LJM,5279
44
- ngio/tables/v1/_roi_table.py,sha256=GanlVPcmtFn5mzQYQi3-ldDLAdxPdC92NAvtvezp5Ps,10674
45
- ngio/utils/__init__.py,sha256=r3nuLWgp6-cQlS4ODjYSBrfgdTLkCOVke9jKbn1NpkA,1129
46
- ngio/utils/_datasets.py,sha256=EdYJHIifpRou4f43dIuiKsdxe4K6FaeS4f1_e_EYrcI,1727
47
- ngio/utils/_errors.py,sha256=pKQ12LUjQLYE1nUawemA5h7HsgznjaSvV1n2PQU33N0,759
48
- ngio/utils/_fractal_fsspec_store.py,sha256=7qoGLiLi8JQFh9Ej_z5WNwQQuWrujb0f6p9nj8ocsS8,548
49
- ngio/utils/_logger.py,sha256=HIuqD_2ShfFGDswBddcouStbKfL0Vz_ah8cAIFGhbS8,888
50
- ngio/utils/_zarr_utils.py,sha256=r075cNpr-JHZ1PaDHX1KlENIGMvLf-WTTYwpODACWm4,12924
51
- ngio-0.2.0b2.dist-info/METADATA,sha256=SodMO8zwsdyChCR4SG_Om5K2LkxGGEt9Ud14pMzVGQI,4982
52
- ngio-0.2.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
53
- ngio-0.2.0b2.dist-info/licenses/LICENSE,sha256=UgN_a1QCeNh9rZWfz-wORQFxE3elQzLWPQaoK6N6fxQ,1502
54
- ngio-0.2.0b2.dist-info/RECORD,,
File without changes