ngio 0.3.0a0__py3-none-any.whl → 0.3.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.
Files changed (36) hide show
  1. ngio/common/_array_pipe.py +50 -27
  2. ngio/common/_table_ops.py +1 -1
  3. ngio/hcs/__init__.py +1 -1
  4. ngio/hcs/{plate.py → _plate.py} +27 -12
  5. ngio/images/__init__.py +3 -3
  6. ngio/images/{image.py → _image.py} +26 -21
  7. ngio/images/{label.py → _label.py} +6 -4
  8. ngio/images/{masked_image.py → _masked_image.py} +2 -2
  9. ngio/images/{ome_zarr_container.py → _ome_zarr_container.py} +59 -24
  10. ngio/ome_zarr_meta/_meta_handlers.py +16 -8
  11. ngio/ome_zarr_meta/ngio_specs/_axes.py +4 -7
  12. ngio/ome_zarr_meta/ngio_specs/_channels.py +41 -29
  13. ngio/tables/__init__.py +7 -2
  14. ngio/tables/{abstract_table.py → _abstract_table.py} +5 -4
  15. ngio/tables/{tables_container.py → _tables_container.py} +42 -29
  16. ngio/tables/backends/__init__.py +6 -4
  17. ngio/tables/backends/_abstract_backend.py +1 -1
  18. ngio/tables/backends/{_anndata_v1.py → _anndata.py} +1 -1
  19. ngio/tables/backends/{_csv_v1.py → _csv.py} +2 -2
  20. ngio/tables/backends/{_json_v1.py → _json.py} +1 -1
  21. ngio/tables/backends/{_parquet_v1.py → _parquet.py} +2 -2
  22. ngio/tables/backends/_table_backends.py +41 -17
  23. ngio/tables/v1/__init__.py +12 -3
  24. ngio/tables/v1/_condition_table.py +8 -4
  25. ngio/tables/v1/_feature_table.py +11 -13
  26. ngio/tables/v1/_generic_table.py +14 -3
  27. ngio/tables/v1/_roi_table.py +11 -7
  28. ngio/utils/_fractal_fsspec_store.py +1 -1
  29. {ngio-0.3.0a0.dist-info → ngio-0.3.1.dist-info}/METADATA +69 -35
  30. ngio-0.3.1.dist-info/RECORD +61 -0
  31. ngio-0.3.0a0.dist-info/RECORD +0 -61
  32. /ngio/images/{abstract_image.py → _abstract_image.py} +0 -0
  33. /ngio/images/{create.py → _create.py} +0 -0
  34. /ngio/tables/backends/{_non_zarr_backends_v1.py → _non_zarr_backends.py} +0 -0
  35. {ngio-0.3.0a0.dist-info → ngio-0.3.1.dist-info}/WHEEL +0 -0
  36. {ngio-0.3.0a0.dist-info → ngio-0.3.1.dist-info}/licenses/LICENSE +0 -0
@@ -6,21 +6,14 @@ https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/
6
6
 
7
7
  from typing import Literal
8
8
 
9
- from pydantic import BaseModel
9
+ from pydantic import BaseModel, Field
10
10
 
11
- from ngio.tables.abstract_table import AbstractBaseTable
12
- from ngio.tables.backends import BackendMeta, TableBackendProtocol, TabularData
11
+ from ngio.tables._abstract_table import AbstractBaseTable
12
+ from ngio.tables.backends import BackendMeta, TableBackend, TabularData
13
13
  from ngio.utils import NgioValueError
14
14
  from ngio.utils._zarr_utils import ZarrGroupHandler
15
15
 
16
16
 
17
- class GenericTableMeta(BackendMeta):
18
- """Metadata for the ROI table."""
19
-
20
- fractal_table_version: str | None = None
21
- type: str | None = None
22
-
23
-
24
17
  class RegionMeta(BaseModel):
25
18
  """Metadata for the region."""
26
19
 
@@ -30,12 +23,17 @@ class RegionMeta(BaseModel):
30
23
  class FeatureTableMeta(BackendMeta):
31
24
  """Metadata for the ROI table."""
32
25
 
33
- fractal_table_version: Literal["1"] = "1"
26
+ table_version: Literal["1"] = "1"
34
27
  type: Literal["feature_table"] = "feature_table"
35
28
  region: RegionMeta | None = None
36
- instance_key: str = "label"
29
+ instance_key: str = "label" # Legacy field, kept for compatibility
30
+ # Backend metadata
37
31
  index_key: str | None = "label"
38
32
  index_type: Literal["int", "str"] | None = "int"
33
+ # Columns optional types
34
+ categorical_columns: list[str] = Field(default_factory=list)
35
+ measurement_columns: list[str] = Field(default_factory=list)
36
+ metadata_columns: list[str] = Field(default_factory=list)
39
37
 
40
38
 
41
39
  class FeatureTableV1(AbstractBaseTable):
@@ -85,7 +83,7 @@ class FeatureTableV1(AbstractBaseTable):
85
83
  def from_handler(
86
84
  cls,
87
85
  handler: ZarrGroupHandler,
88
- backend: str | TableBackendProtocol | None = None,
86
+ backend: TableBackend | None = None,
89
87
  ) -> "FeatureTableV1":
90
88
  return cls._from_handler(
91
89
  handler=handler,
@@ -1,10 +1,21 @@
1
1
  """Implementation of a generic table class."""
2
2
 
3
- from ngio.tables.abstract_table import AbstractBaseTable
4
- from ngio.tables.backends import BackendMeta, TableBackendProtocol
3
+ from ngio.tables._abstract_table import AbstractBaseTable
4
+ from ngio.tables.backends import BackendMeta, TableBackend
5
5
  from ngio.utils import ZarrGroupHandler
6
6
 
7
7
 
8
+ class GenericTableMeta(BackendMeta):
9
+ """Metadata for the generic table.
10
+
11
+ This is used to store metadata for a generic table.
12
+ It does not have a specific definition.
13
+ """
14
+
15
+ table_version: str | None = "1"
16
+ type: str | None = "generic_table"
17
+
18
+
8
19
  class GenericTable(AbstractBaseTable):
9
20
  """Class to a non-specific table.
10
21
 
@@ -29,7 +40,7 @@ class GenericTable(AbstractBaseTable):
29
40
  def from_handler(
30
41
  cls,
31
42
  handler: ZarrGroupHandler,
32
- backend: str | TableBackendProtocol | None = None,
43
+ backend: TableBackend | None = None,
33
44
  ) -> "GenericTable":
34
45
  return cls._from_handler(
35
46
  handler=handler,
@@ -13,12 +13,16 @@ import pandas as pd
13
13
  from pydantic import BaseModel
14
14
 
15
15
  from ngio.common import Roi
16
- from ngio.tables.abstract_table import (
16
+ from ngio.tables._abstract_table import (
17
17
  AbstractBaseTable,
18
- TableBackendProtocol,
19
18
  TabularData,
20
19
  )
21
- from ngio.tables.backends import BackendMeta, convert_to_pandas, normalize_pandas_df
20
+ from ngio.tables.backends import (
21
+ BackendMeta,
22
+ TableBackend,
23
+ convert_to_pandas,
24
+ normalize_pandas_df,
25
+ )
22
26
  from ngio.utils import (
23
27
  NgioTableValidationError,
24
28
  NgioValueError,
@@ -302,7 +306,7 @@ class GenericRoiTableV1(AbstractBaseTable):
302
306
  class RoiTableV1Meta(BackendMeta):
303
307
  """Metadata for the ROI table."""
304
308
 
305
- fractal_table_version: Literal["1"] = "1"
309
+ table_version: Literal["1"] = "1"
306
310
  type: Literal["roi_table"] = "roi_table"
307
311
  index_key: str | None = "FieldIndex"
308
312
  index_type: Literal["str", "int"] | None = "str"
@@ -334,7 +338,7 @@ class RoiTableV1(GenericRoiTableV1):
334
338
  def from_handler(
335
339
  cls,
336
340
  handler: ZarrGroupHandler,
337
- backend: str | TableBackendProtocol | None = None,
341
+ backend: TableBackend | None = None,
338
342
  ) -> "RoiTableV1":
339
343
  table = cls._from_handler(
340
344
  handler=handler,
@@ -358,7 +362,7 @@ class RegionMeta(BaseModel):
358
362
  class MaskingRoiTableV1Meta(BackendMeta):
359
363
  """Metadata for the ROI table."""
360
364
 
361
- fractal_table_version: Literal["1"] = "1"
365
+ table_version: Literal["1"] = "1"
362
366
  type: Literal["masking_roi_table"] = "masking_roi_table"
363
367
  region: RegionMeta | None = None
364
368
  instance_key: str = "label"
@@ -409,7 +413,7 @@ class MaskingRoiTableV1(GenericRoiTableV1):
409
413
  def from_handler(
410
414
  cls,
411
415
  handler: ZarrGroupHandler,
412
- backend: str | TableBackendProtocol | None = None,
416
+ backend: TableBackend | None = None,
413
417
  ) -> "MaskingRoiTableV1":
414
418
  table = cls._from_handler(
415
419
  handler=handler,
@@ -37,6 +37,6 @@ def fractal_fsspec_store(
37
37
  raise NgioValueError(
38
38
  f"Store {url} can not be read. Possible problems are: \n"
39
39
  "- The url does not exist. \n"
40
- f"- The url is not a valid .zarr. \n"
40
+ "- The url is not a valid .zarr. \n"
41
41
  )
42
42
  return store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngio
3
- Version: 0.3.0a0
3
+ Version: 0.3.1
4
4
  Summary: Next Generation file format IO
5
5
  Project-URL: homepage, https://github.com/fractal-analytics-platform/ngio
6
6
  Project-URL: repository, https://github.com/fractal-analytics-platform/ngio
@@ -50,6 +50,7 @@ Requires-Dist: mkdocs; extra == 'docs'
50
50
  Requires-Dist: mkdocs-autorefs; extra == 'docs'
51
51
  Requires-Dist: mkdocs-git-committers-plugin-2; extra == 'docs'
52
52
  Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == 'docs'
53
+ Requires-Dist: mkdocs-include-markdown-plugin; extra == 'docs'
53
54
  Requires-Dist: mkdocs-jupyter; extra == 'docs'
54
55
  Requires-Dist: mkdocs-material; extra == 'docs'
55
56
  Requires-Dist: mkdocstrings[python]; extra == 'docs'
@@ -62,7 +63,7 @@ Requires-Dist: pytest-cov; extra == 'test'
62
63
  Requires-Dist: scikit-image; extra == 'test'
63
64
  Description-Content-Type: text/markdown
64
65
 
65
- # NGIO - Next Generation file format IO
66
+ # Ngio - Next Generation file format IO
66
67
 
67
68
  [![License](https://img.shields.io/pypi/l/ngio.svg?color=green)](https://github.com/lorenzocerrone/ngio/raw/main/LICENSE)
68
69
  [![PyPI](https://img.shields.io/pypi/v/ngio.svg?color=green)](https://pypi.org/project/ngio)
@@ -70,36 +71,69 @@ Description-Content-Type: text/markdown
70
71
  [![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)
71
72
  [![codecov](https://codecov.io/gh/fractal-analytics-platform/ngio/graph/badge.svg?token=FkmF26FZki)](https://codecov.io/gh/fractal-analytics-platform/ngio)
72
73
 
73
- NGIO is a Python library to streamline OME-Zarr image analysis workflows.
74
-
75
- **Main Goals:**
76
-
77
- - Abstract object base API for handling OME-Zarr files
78
- - Powerful iterators for processing data using common access patterns
79
- - Tight integration with [Fractal's Table Fractal](https://fractal-analytics-platform.github.io/fractal-tasks-core/tables/)
80
- - Validation of OME-Zarr files
81
-
82
- 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/)
83
-
84
- ## 🚧 Ngio is Under active Development 🚧
85
-
86
- ### Roadmap
87
-
88
- | Feature | Status | ETA | Description |
89
- |---------|--------|-----|-------------|
90
- | Metadata Handling | | | Read, Write, Validate OME-Zarr Metadata (0.4 supported, 0.5 ready) |
91
- | OME-Zarr Validation | ✅ | | Validate OME-Zarr files for compliance with the OME-Zarr Specification + Compliance between Metadata and Data |
92
- | Base Image Handling | ✅ | | Load data from OME-Zarr files, retrieve basic metadata, and write data |
93
- | ROI Handling | | | Common ROI models |
94
- | Label Handling | ✅ | Mid-September | Based on Image Handling |
95
- | Table Validation | ✅ | Mid-September | Validate Table fractal V1 + Compliance between Metadata and Data |
96
- | Table Handling | ✅ | Mid-September | Read, Write ROI, Features, and Masked Tables |
97
- | Basic Iterators | Ongoing | End-September | Read and Write Iterators for common access patterns |
98
- | Base Documentation | ✅ | End-September | API Documentation and Examples |
99
- | Beta Ready Testing | ✅ | End-September | Beta Testing; Library is ready for testing, but the API is not stable |
100
- | Streaming from Fractal | Ongoing | December | Ngio can stream OME-Zarr from fractal |
101
- | Mask Iterators | Ongoing | Early 2025 | Iterators over Masked Tables |
102
- | Advanced Iterators | Not started | mid-2025 | Iterators for advanced access patterns |
103
- | Parallel Iterators | Not started | mid-2025 | Concurrent Iterators for parallel read and write |
104
- | Full Documentation | Not started | 2025 | Complete Documentation |
105
- | Release 1.0 (Commitment to API) | Not started | 2025 | API is stable; breaking changes will be avoided |
74
+ ngio is a Python library designed to simplify bioimage analysis workflows, offering an intuitive interface for working with OME-Zarr files.
75
+
76
+ ## What is Ngio?
77
+
78
+ Ngio is built for the [OME-Zarr](https://ngff.openmicroscopy.org/) file format, a modern, cloud-optimized format for biological imaging data. OME-Zarr stores large, multi-dimensional microscopy images and metadata in an efficient and scalable way.
79
+
80
+ Ngio's mission is to streamline working with OME-Zarr files by providing a simple, object-based API for opening, exploring, and manipulating OME-Zarr images and high-content screening (HCS) plates. It also offers comprehensive support for labels, tables and regions of interest (ROIs), making it easy to extract and analyze specific regions in your data.
81
+
82
+ ## Key Features
83
+
84
+ ### 📊 Simple Object-Based API
85
+
86
+ - Easily open, explore, and manipulate OME-Zarr images and HCS plates
87
+ - Create and derive new images and labels with minimal boilerplate code
88
+
89
+ ### 🔍 Rich Tables and Regions of Interest (ROI) Support
90
+
91
+ - Extract and analyze specific regions of interest
92
+ - Tight integration with [Tabular Data](https://fractal-analytics-platform.github.io/ngio/stable/table_specs/overview/)
93
+
94
+ ### 🔄 Scalable Data Processing (Coming Soon)
95
+
96
+ - Powerful iterators for processing data at scale
97
+ - Efficient memory management for large datasets
98
+
99
+ ## Installation
100
+
101
+ You can install ngio via pip:
102
+
103
+ ```bash
104
+ pip install ngio
105
+ ```
106
+
107
+ To get started check out the [Quickstart Guide](https://fractal-analytics-platform.github.io/ngio/stable/getting_started/0_quickstart/).
108
+
109
+ ## Supported OME-Zarr versions
110
+
111
+ Currently, ngio only supports OME-Zarr v0.4. Support for version 0.5 and higher is planned for future releases.
112
+
113
+ ## Development Status
114
+
115
+ !!! warning
116
+ Ngio is under active development and is not yet stable. The API is subject to change, and bugs and breaking changes are expected.
117
+ We follow [Semantic Versioning](https://semver.org/). Which means for 0.x releases potentially breaking changes can be introduced in minor releases.
118
+
119
+ ### Available Features
120
+
121
+ - ✅ OME-Zarr metadata handling and validation
122
+ - ✅ Image and label access across pyramid levels
123
+ - ✅ ROI and table support
124
+ - ✅ Streaming from remote sources
125
+ - ✅ Documentation and examples
126
+
127
+ ### Upcoming Features
128
+
129
+ - Advanced image processing iterators
130
+ - Parallel processing capabilities
131
+ - Support for OME-Zarr v0.5 and Zarr v3
132
+
133
+ ## Contributors
134
+
135
+ Ngio is developed at the [BioVisionCenter](https://www.biovisioncenter.uzh.ch/en.html), University of Zurich, by [@lorenzocerrone](https://github.com/lorenzocerrone) and [@jluethi](https://github.com/jluethi).
136
+
137
+ ## License
138
+
139
+ Ngio is released under the BSD-3-Clause License. See [LICENSE](https://github.com/fractal-analytics-platform/ngio/blob/main/LICENSE) for details.
@@ -0,0 +1,61 @@
1
+ ngio/__init__.py,sha256=zce-RIfRhkiFyfKwO6s7A1-9ZCD3n6RuVuW3GeRj_VA,1309
2
+ ngio/common/__init__.py,sha256=BttXCAV2ks6_oXVDfapk1Lvlxp4J0ffX7-FXR3LL1BM,1834
3
+ ngio/common/_array_pipe.py,sha256=mvBsOtNSow9S6bSPMJ0288gCqQFYffGnaTTLyuB2XHw,8641
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=SJzPauuduuqcm9B7nFCJhMTzIg6Knjsnp4CY4lN61Is,7411
9
+ ngio/common/_roi.py,sha256=dq1iVT8-G_zWuxcYWJeHfviBSbPgsyKUcDL3Vg6jx6I,5122
10
+ ngio/common/_slicer.py,sha256=AKpwXRncOmF9nhjKYma0C_41WqAgSv860beKGx-aw-0,3075
11
+ ngio/common/_table_ops.py,sha256=ToNR7F053l1dubVv-gvBD-523T10HnE2UzqeU2BuNy8,15494
12
+ ngio/common/_zoom.py,sha256=KsURa5VuixmpbAAY5-6obmuQV8vfiHKZqBxZDXvchpM,5473
13
+ ngio/hcs/__init__.py,sha256=G8j9vD-liLeB_UeGtKYIgshWvJnUA6ks9GwjvWBLdHs,357
14
+ ngio/hcs/_plate.py,sha256=Z8M3slG5t16MYvPwvAzj-e9O4yAswWZp7_EDBlAxiHc,44225
15
+ ngio/images/__init__.py,sha256=PlYvbHOMvZLDgn_PeGrytOEU3e_-AO8GWpRjEqoX_Gw,536
16
+ ngio/images/_abstract_image.py,sha256=8PNQPZjiDz-pcTFXSJAVw7nUr4yL_iRwqDEUTKkAnp0,10266
17
+ ngio/images/_create.py,sha256=XYn30m_2OSZeHHASYHc3eK9u_gZIYy9wo6mGdRGaq5c,9473
18
+ ngio/images/_image.py,sha256=B9MTk3Cei-FBR4jbhSujTSNcKM_ySape28yXR_JlY0A,17980
19
+ ngio/images/_label.py,sha256=Q1vPrXDcjJ7Gdd0wDz6NCVYQLNe1Ae6YDI4iK0oq31s,10557
20
+ ngio/images/_masked_image.py,sha256=sd6aQetNVwtDkwUvKX-lssQyHzt5m-CYZL8ZFkwDSn8,8533
21
+ ngio/images/_ome_zarr_container.py,sha256=hRx_8CPtFpxQUcprTT4_k5L5pjMUJ6t4wJaYr1tyljw,31181
22
+ ngio/ome_zarr_meta/__init__.py,sha256=oZ8PEsWM7U0KwzpsnvVfX9k4UfuTz5sZ8B6B9eY5hyY,1193
23
+ ngio/ome_zarr_meta/_meta_handlers.py,sha256=ctknNDT8jxwyvxQf9on5gW31H1tRRsnneO38GT2UXoE,25880
24
+ ngio/ome_zarr_meta/ngio_specs/__init__.py,sha256=05NQukZG0nNvjzf8AKWGu7PhjhQcImGSAOK3D3Bg-Js,1786
25
+ ngio/ome_zarr_meta/ngio_specs/_axes.py,sha256=tHtx6NfBgDcCgDk9CosjIjw1KZJ2qi0i_eoLgrdiEWw,16681
26
+ ngio/ome_zarr_meta/ngio_specs/_channels.py,sha256=Jwys1yYC8q6_gIaJ52KcKcTP7hzqVjBE-VlVQvJurCs,15394
27
+ ngio/ome_zarr_meta/ngio_specs/_dataset.py,sha256=hY8ogPPxvCgVg6k02t3zUr24lasYrvnxBd1iPEigdG4,5892
28
+ ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py,sha256=uh345KQmEQtslIyMmLK9sB-NbjPYxi0Y9FuYIFhd3Rc,17465
29
+ ngio/ome_zarr_meta/ngio_specs/_ngio_image.py,sha256=8E38Mgw-l0Ff1nkmCJIzo64G_paAVhM8xktUS_V5egY,17960
30
+ ngio/ome_zarr_meta/ngio_specs/_pixel_size.py,sha256=5TT8250XdCKUnk3OwZeyXIMNFKOg_jx4NnoCo9RLsXI,4079
31
+ ngio/ome_zarr_meta/v04/__init__.py,sha256=dJRzzxyYc81kf-0Hip_bqvbdManaM8XTdQX2meWyCSs,583
32
+ ngio/ome_zarr_meta/v04/_custom_models.py,sha256=5GxiDERvLuvq4QvApcA6EiKLS6hLFX1R0R_9rSaa85A,530
33
+ ngio/ome_zarr_meta/v04/_v04_spec_utils.py,sha256=05tEr2eEP_XVIfBMOAWLT7lzJV4KS5eYrpK8l94tn3w,15876
34
+ ngio/tables/__init__.py,sha256=rJGcyQUlHQb_ZbeMM9ICD8_mhTE2X9H5nKp0J-z9tMM,825
35
+ ngio/tables/_abstract_table.py,sha256=naAeDsPTVjDUOnAxj_57UWXApg_nyWCsWdZ0f7bm740,8169
36
+ ngio/tables/_tables_container.py,sha256=a2NNExiP1HqFVJ6HPLn0nEkYHLdf2LONVz5OxoH7OkY,12118
37
+ ngio/tables/backends/__init__.py,sha256=tx97ZkK5kF_sAGU2kf_ZI9JxbOXn8GVjE0rUUq9h-QM,1525
38
+ ngio/tables/backends/_abstract_backend.py,sha256=jtai3AqcLNZyxYyK0rernbMtcwxWhWAahCS0fPlMNls,7454
39
+ ngio/tables/backends/_anndata.py,sha256=8RX2NO15CLxys3p6gw54Nd-_0WATU4WBlNndX06wvzI,2587
40
+ ngio/tables/backends/_anndata_utils.py,sha256=DBWIcR0btnH-DIvDvzlcnMXoYhhtXc9DstryiOP0Qsg,3122
41
+ ngio/tables/backends/_csv.py,sha256=Ev61D-AUKo4LIhXRmWPJgYbHI7eQdxiajQR574DevEM,932
42
+ ngio/tables/backends/_json.py,sha256=1ZsEuXDJm1rOZV_KjFm8CB0qhv7L1W7L2EGWPf4q_p0,3137
43
+ ngio/tables/backends/_non_zarr_backends.py,sha256=SvPPhT6n5TrKUOyV1mNcdHQK49huZ5lwR8EVe9MdydM,7254
44
+ ngio/tables/backends/_parquet.py,sha256=ic-p86h8lce8q9luBJGRzy6vxlWyJvA0-2l5cUD6OqY,1398
45
+ ngio/tables/backends/_table_backends.py,sha256=E4b1p_ZqRmEf3JK_Wp05r2J-q-PZQU_B1qFluBrjU9Q,7232
46
+ ngio/tables/backends/_utils.py,sha256=tJBSWN6OhO_1ybxl4vT2l3ImB028Fb6h0vaitPRcr8A,19668
47
+ ngio/tables/v1/__init__.py,sha256=Wr1_9RZFpaN8FYMTnxT9Yjkw4AS7y9FMWailmB_uj5g,617
48
+ ngio/tables/v1/_condition_table.py,sha256=IMU3sds8wrKGqU-C20HbpFCVGZX1L_V7Sh8f7CHB_x0,1781
49
+ ngio/tables/v1/_feature_table.py,sha256=n9uMHwoBh-_dlOhUXCFbmAjXFVXncNCR3SjE2qzXI68,3821
50
+ ngio/tables/v1/_generic_table.py,sha256=1ktJHeuv7U1g5Z8PFUuTkCjOzcYMQd8xegKHKUedJB8,1240
51
+ ngio/tables/v1/_roi_table.py,sha256=Q1dBQqPvxqBOqatGzYTAbxmgEnEkBawpSbCL38YBnE0,13456
52
+ ngio/utils/__init__.py,sha256=r3nuLWgp6-cQlS4ODjYSBrfgdTLkCOVke9jKbn1NpkA,1129
53
+ ngio/utils/_datasets.py,sha256=EdYJHIifpRou4f43dIuiKsdxe4K6FaeS4f1_e_EYrcI,1727
54
+ ngio/utils/_errors.py,sha256=pKQ12LUjQLYE1nUawemA5h7HsgznjaSvV1n2PQU33N0,759
55
+ ngio/utils/_fractal_fsspec_store.py,sha256=RdcCFOgHexRKX9zZvJV5RI-5OPc7VOPS6q_IeRxm24I,1548
56
+ ngio/utils/_logger.py,sha256=HIuqD_2ShfFGDswBddcouStbKfL0Vz_ah8cAIFGhbS8,888
57
+ ngio/utils/_zarr_utils.py,sha256=qOI-HL2HsfFLCj_yxsTR-aq4oHpSqS9KR13aEIvhGDY,13593
58
+ ngio-0.3.1.dist-info/METADATA,sha256=6KnWDNEe6TWTYu4kKvT9uJR6D6uikMu0W6VOgXoNXcw,5868
59
+ ngio-0.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
60
+ ngio-0.3.1.dist-info/licenses/LICENSE,sha256=UgN_a1QCeNh9rZWfz-wORQFxE3elQzLWPQaoK6N6fxQ,1502
61
+ ngio-0.3.1.dist-info/RECORD,,
@@ -1,61 +0,0 @@
1
- ngio/__init__.py,sha256=zce-RIfRhkiFyfKwO6s7A1-9ZCD3n6RuVuW3GeRj_VA,1309
2
- ngio/common/__init__.py,sha256=BttXCAV2ks6_oXVDfapk1Lvlxp4J0ffX7-FXR3LL1BM,1834
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=SJzPauuduuqcm9B7nFCJhMTzIg6Knjsnp4CY4lN61Is,7411
9
- ngio/common/_roi.py,sha256=dq1iVT8-G_zWuxcYWJeHfviBSbPgsyKUcDL3Vg6jx6I,5122
10
- ngio/common/_slicer.py,sha256=AKpwXRncOmF9nhjKYma0C_41WqAgSv860beKGx-aw-0,3075
11
- ngio/common/_table_ops.py,sha256=oTjCcecBOG_GJoLgJLgag6yl_nznThOKBKANQJow0h8,15493
12
- ngio/common/_zoom.py,sha256=KsURa5VuixmpbAAY5-6obmuQV8vfiHKZqBxZDXvchpM,5473
13
- ngio/hcs/__init__.py,sha256=5oAYT_454WGhms97kxo8gS4_rKHtFf_x-9uu8M_VeVM,356
14
- ngio/hcs/plate.py,sha256=kGttwZu9JY5maRnfyO1RcOxoxi5OTk-uST5mRU5BJbY,43749
15
- ngio/images/__init__.py,sha256=DYbXAdBgPxyjBRdJrWvU0UnBRI0gUMmx9KaJ-Bucvz4,533
16
- ngio/images/abstract_image.py,sha256=8PNQPZjiDz-pcTFXSJAVw7nUr4yL_iRwqDEUTKkAnp0,10266
17
- ngio/images/create.py,sha256=XYn30m_2OSZeHHASYHc3eK9u_gZIYy9wo6mGdRGaq5c,9473
18
- ngio/images/image.py,sha256=mKLIR2DGQUWtQbf3my2fh0bEPkbbsabUoge_XJPhfWE,17824
19
- ngio/images/label.py,sha256=qgbBHFPGYpUR2fHf1OiXZh4sn0FgCeeWwH1F4SrOM1c,10460
20
- ngio/images/masked_image.py,sha256=IBo8x2jHyXBXn7ORo8fSiwBPjV_1JOTb_vatjKNxbJ0,8531
21
- ngio/images/ome_zarr_container.py,sha256=a59d3AsKsANs7c7Ip7e734kSo4qV-Gsc_epxtGkS3Tk,30056
22
- ngio/ome_zarr_meta/__init__.py,sha256=oZ8PEsWM7U0KwzpsnvVfX9k4UfuTz5sZ8B6B9eY5hyY,1193
23
- ngio/ome_zarr_meta/_meta_handlers.py,sha256=BLvYt5PONYrWkEb2XgEiAXR_OX9rfeX_C0eEqen0jQA,25549
24
- ngio/ome_zarr_meta/ngio_specs/__init__.py,sha256=05NQukZG0nNvjzf8AKWGu7PhjhQcImGSAOK3D3Bg-Js,1786
25
- ngio/ome_zarr_meta/ngio_specs/_axes.py,sha256=Kqe9T7LWa_9o3UWS5uzALyyNluIhXxWhDGxWY4-GIo8,16707
26
- ngio/ome_zarr_meta/ngio_specs/_channels.py,sha256=2L-HM9K1Xu4qRI2MiXPqgCuHdCBRydEW1StThcqEuvY,15120
27
- ngio/ome_zarr_meta/ngio_specs/_dataset.py,sha256=hY8ogPPxvCgVg6k02t3zUr24lasYrvnxBd1iPEigdG4,5892
28
- ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py,sha256=uh345KQmEQtslIyMmLK9sB-NbjPYxi0Y9FuYIFhd3Rc,17465
29
- ngio/ome_zarr_meta/ngio_specs/_ngio_image.py,sha256=8E38Mgw-l0Ff1nkmCJIzo64G_paAVhM8xktUS_V5egY,17960
30
- ngio/ome_zarr_meta/ngio_specs/_pixel_size.py,sha256=5TT8250XdCKUnk3OwZeyXIMNFKOg_jx4NnoCo9RLsXI,4079
31
- ngio/ome_zarr_meta/v04/__init__.py,sha256=dJRzzxyYc81kf-0Hip_bqvbdManaM8XTdQX2meWyCSs,583
32
- ngio/ome_zarr_meta/v04/_custom_models.py,sha256=5GxiDERvLuvq4QvApcA6EiKLS6hLFX1R0R_9rSaa85A,530
33
- ngio/ome_zarr_meta/v04/_v04_spec_utils.py,sha256=05tEr2eEP_XVIfBMOAWLT7lzJV4KS5eYrpK8l94tn3w,15876
34
- ngio/tables/__init__.py,sha256=9-9atLClIQGkRFuECEg9AcmybHTAkQIpPg2jkL9hLyA,773
35
- ngio/tables/abstract_table.py,sha256=pG0Yg4kbA4JDqhyNj1nMDAv3MqquJjKwFuD52jk-6-w,8210
36
- ngio/tables/tables_container.py,sha256=FyuuRX7v0DCbTJ9a0vl0bMUM5cdjOC7Xhndp2JMweRo,12039
37
- ngio/tables/backends/__init__.py,sha256=QhqvPvGX1pmEIQHoVNpRj6OMYzsoiAHFJiMbc87Z54c,1499
38
- ngio/tables/backends/_abstract_backend.py,sha256=tsbHzSPTX88fiCbVc8khXv5aN68ck6HKG8r5OHkY3S8,7457
39
- ngio/tables/backends/_anndata_utils.py,sha256=DBWIcR0btnH-DIvDvzlcnMXoYhhtXc9DstryiOP0Qsg,3122
40
- ngio/tables/backends/_anndata_v1.py,sha256=6WIF4r7fweENdoLamt_B-Y9NFDw7n3HAxZ65jrCS16Q,2590
41
- ngio/tables/backends/_csv_v1.py,sha256=euWiqcvqaKhLuP_4ZiPPvOvWz3a3LKJdr00Nsh18ZEs,951
42
- ngio/tables/backends/_json_v1.py,sha256=mQsi47g5pevQU9ElM176QNpmMDzRrZBEqiRd0k78-yI,3153
43
- ngio/tables/backends/_non_zarr_backends_v1.py,sha256=SvPPhT6n5TrKUOyV1mNcdHQK49huZ5lwR8EVe9MdydM,7254
44
- ngio/tables/backends/_parquet_v1.py,sha256=FGrcZKsNoYTaq_I49v2hNemy-My5HrlmRuawo0fPXEI,1417
45
- ngio/tables/backends/_table_backends.py,sha256=Y_Hc-l4h3FixYf1MoaA1IoaojVWvefdHG7qP6Z1p4po,6492
46
- ngio/tables/backends/_utils.py,sha256=tJBSWN6OhO_1ybxl4vT2l3ImB028Fb6h0vaitPRcr8A,19668
47
- ngio/tables/v1/__init__.py,sha256=iFRO1oQKMJeSP2qOJiPkaySmqPnPvHSwrW30tPVYPuU,418
48
- ngio/tables/v1/_condition_table.py,sha256=Dc06AB9-bu3pqjE6BypfJ5exuFEryevQ-W85lCLlaMc,1793
49
- ngio/tables/v1/_feature_table.py,sha256=svQbCSfWSHlR2DQ8wPpb3yOJbCba9ywLpkb9N7S5CCw,3710
50
- ngio/tables/v1/_generic_table.py,sha256=VlgvUpghmhAx0l2kLH6ngye_K7FkgefpbVJ9x02XIvw,998
51
- ngio/tables/v1/_roi_table.py,sha256=3gXE60Uj1CJw04le9-QclCOCzv0w6UU9-PwUoaVNmpI,13490
52
- ngio/utils/__init__.py,sha256=r3nuLWgp6-cQlS4ODjYSBrfgdTLkCOVke9jKbn1NpkA,1129
53
- ngio/utils/_datasets.py,sha256=EdYJHIifpRou4f43dIuiKsdxe4K6FaeS4f1_e_EYrcI,1727
54
- ngio/utils/_errors.py,sha256=pKQ12LUjQLYE1nUawemA5h7HsgznjaSvV1n2PQU33N0,759
55
- ngio/utils/_fractal_fsspec_store.py,sha256=0PMqPRCw7CYdLPxsNtp_vMLXfiQVwqs5EWrn2YVEuvA,1549
56
- ngio/utils/_logger.py,sha256=HIuqD_2ShfFGDswBddcouStbKfL0Vz_ah8cAIFGhbS8,888
57
- ngio/utils/_zarr_utils.py,sha256=qOI-HL2HsfFLCj_yxsTR-aq4oHpSqS9KR13aEIvhGDY,13593
58
- ngio-0.3.0a0.dist-info/METADATA,sha256=FxmotsQBOZBxJrlxV9T9Ne_dcfd4apr2arZHV9OOixM,5241
59
- ngio-0.3.0a0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
60
- ngio-0.3.0a0.dist-info/licenses/LICENSE,sha256=UgN_a1QCeNh9rZWfz-wORQFxE3elQzLWPQaoK6N6fxQ,1502
61
- ngio-0.3.0a0.dist-info/RECORD,,
File without changes
File without changes
File without changes