ngio 0.3.1__py3-none-any.whl → 0.3.2__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.
ngio/common/_roi.py CHANGED
@@ -57,6 +57,7 @@ class Roi(BaseModel):
57
57
  x_length=_to_raster(self.x_length, pixel_size.x, dim_x),
58
58
  y_length=_to_raster(self.y_length, pixel_size.y, dim_y),
59
59
  z_length=_to_raster(self.z_length, pixel_size.z, dim_z),
60
+ **self.model_extra,
60
61
  )
61
62
 
62
63
  def zoom(self, zoom_factor: float = 1) -> "Roi":
@@ -94,6 +95,7 @@ class RoiPixels(BaseModel):
94
95
  y_length=_to_world(self.y_length, pixel_size.y),
95
96
  z_length=_to_world(self.z_length, pixel_size.z),
96
97
  unit=pixel_size.space_unit,
98
+ **self.model_extra,
97
99
  )
98
100
 
99
101
  def to_slices(self) -> dict[str, slice]:
ngio/hcs/_plate.py CHANGED
@@ -27,6 +27,7 @@ from ngio.ome_zarr_meta import (
27
27
  )
28
28
  from ngio.tables import (
29
29
  ConditionTable,
30
+ DefaultTableBackend,
30
31
  FeatureTable,
31
32
  GenericRoiTable,
32
33
  MaskingRoiTable,
@@ -944,7 +945,7 @@ class OmeZarrPlate:
944
945
  self,
945
946
  name: str,
946
947
  table: Table,
947
- backend: TableBackend = "anndata",
948
+ backend: TableBackend = DefaultTableBackend,
948
949
  overwrite: bool = False,
949
950
  ) -> None:
950
951
  """Add a table to the image."""
@@ -23,6 +23,7 @@ from ngio.ome_zarr_meta.ngio_specs import (
23
23
  )
24
24
  from ngio.tables import (
25
25
  ConditionTable,
26
+ DefaultTableBackend,
26
27
  FeatureTable,
27
28
  GenericRoiTable,
28
29
  MaskingRoiTable,
@@ -501,7 +502,7 @@ class OmeZarrContainer:
501
502
  self,
502
503
  name: str,
503
504
  table: Table,
504
- backend: TableBackend = "anndata",
505
+ backend: TableBackend = DefaultTableBackend,
505
506
  overwrite: bool = False,
506
507
  ) -> None:
507
508
  """Add a table to the image."""
@@ -831,7 +832,7 @@ def create_ome_zarr_from_array(
831
832
  axes_names=axes_names,
832
833
  name=name,
833
834
  chunks=chunks,
834
- dtype=array.dtype,
835
+ dtype=str(array.dtype),
835
836
  overwrite=overwrite,
836
837
  version=version,
837
838
  )
ngio/tables/__init__.py CHANGED
@@ -15,6 +15,7 @@ from ngio.tables._tables_container import (
15
15
  open_tables_container,
16
16
  )
17
17
  from ngio.tables.backends import (
18
+ DefaultTableBackend,
18
19
  ImplementedTableBackends,
19
20
  TableBackend,
20
21
  TableBackendProtocol,
@@ -23,6 +24,7 @@ from ngio.tables.v1._generic_table import GenericTable
23
24
 
24
25
  __all__ = [
25
26
  "ConditionTable",
27
+ "DefaultTableBackend",
26
28
  "FeatureTable",
27
29
  "GenericRoiTable",
28
30
  "GenericTable",
@@ -10,6 +10,7 @@ from anndata import AnnData
10
10
 
11
11
  from ngio.tables.backends import (
12
12
  BackendMeta,
13
+ DefaultTableBackend,
13
14
  ImplementedTableBackends,
14
15
  TableBackend,
15
16
  TableBackendProtocol,
@@ -203,7 +204,7 @@ class AbstractBaseTable(ABC):
203
204
  def set_backend(
204
205
  self,
205
206
  handler: ZarrGroupHandler | None = None,
206
- backend: TableBackend = "anndata",
207
+ backend: TableBackend = DefaultTableBackend,
207
208
  ) -> None:
208
209
  """Set the backend of the table."""
209
210
  if handler is None:
@@ -8,6 +8,7 @@ import polars as pl
8
8
 
9
9
  from ngio.tables.backends import (
10
10
  BackendMeta,
11
+ DefaultTableBackend,
11
12
  TableBackend,
12
13
  TabularData,
13
14
  )
@@ -90,7 +91,7 @@ class Table(Protocol):
90
91
  def set_backend(
91
92
  self,
92
93
  handler: ZarrGroupHandler | None = None,
93
- backend: TableBackend = "anndata",
94
+ backend: TableBackend = DefaultTableBackend,
94
95
  ) -> None:
95
96
  """Set the backend store and path for the table.
96
97
 
@@ -314,7 +315,7 @@ class TablesContainer:
314
315
  self,
315
316
  name: str,
316
317
  table: Table,
317
- backend: TableBackend = "anndata",
318
+ backend: TableBackend = DefaultTableBackend,
318
319
  overwrite: bool = False,
319
320
  ) -> None:
320
321
  """Add a table to the group."""
@@ -406,7 +407,7 @@ def open_table_as(
406
407
  def write_table(
407
408
  store: StoreOrGroup,
408
409
  table: Table,
409
- backend: TableBackend = "anndata",
410
+ backend: TableBackend = DefaultTableBackend,
410
411
  cache: bool = False,
411
412
  mode: AccessModeLiteral = "a",
412
413
  parallel_safe: bool = False,
@@ -6,6 +6,7 @@ from ngio.tables.backends._csv import CsvTableBackend
6
6
  from ngio.tables.backends._json import JsonTableBackend
7
7
  from ngio.tables.backends._parquet import ParquetTableBackend
8
8
  from ngio.tables.backends._table_backends import (
9
+ DefaultTableBackend,
9
10
  ImplementedTableBackends,
10
11
  TableBackend,
11
12
  TableBackendProtocol,
@@ -32,6 +33,7 @@ __all__ = [
32
33
  "AnnDataBackend",
33
34
  "BackendMeta",
34
35
  "CsvTableBackend",
36
+ "DefaultTableBackend",
35
37
  "ImplementedTableBackends",
36
38
  "JsonTableBackend",
37
39
  "ParquetTableBackend",
@@ -19,7 +19,7 @@ from ngio.utils import NgioValueError, ZarrGroupHandler
19
19
  class BackendMeta(BaseModel):
20
20
  """Metadata for the backend."""
21
21
 
22
- backend: str = "anndata"
22
+ backend: str = "anndata_v1"
23
23
  index_key: str | None = None
24
24
  index_type: Literal["int", "str"] | None = None
25
25
 
@@ -223,3 +223,4 @@ ImplementedTableBackends().add_backend(
223
223
  )
224
224
 
225
225
  TableBackend = Literal["anndata", "json", "csv", "parquet"] | str | TableBackendProtocol
226
+ DefaultTableBackend = "anndata_v1"
@@ -47,11 +47,20 @@ REQUIRED_COLUMNS = [
47
47
  ORIGIN_COLUMNS = [
48
48
  "x_micrometer_original",
49
49
  "y_micrometer_original",
50
+ "z_micrometer_original",
50
51
  ]
51
52
 
52
53
  TRANSLATION_COLUMNS = ["translation_x", "translation_y", "translation_z"]
53
54
 
54
- PLATE_COLUMNS = ["plate_name", "row", "column", "path", "acquisition"]
55
+ PLATE_COLUMNS = [
56
+ "plate_name",
57
+ "row",
58
+ "column",
59
+ "path_in_well",
60
+ "path_in_plate",
61
+ "acquisition_id",
62
+ "acquisition_name",
63
+ ]
55
64
 
56
65
  INDEX_COLUMNS = [
57
66
  "FieldIndex",
@@ -390,7 +399,8 @@ class MaskingRoiTableV1(GenericRoiTableV1):
390
399
  meta = MaskingRoiTableV1Meta()
391
400
 
392
401
  if reference_label is not None:
393
- meta.region = RegionMeta(path=reference_label)
402
+ path = f"../labels/{reference_label}"
403
+ meta.region = RegionMeta(path=path)
394
404
 
395
405
  if meta.index_key is None:
396
406
  meta.index_key = "label"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngio
3
- Version: 0.3.1
3
+ Version: 0.3.2
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
@@ -6,19 +6,19 @@ ngio/common/_common_types.py,sha256=OkAYNSNjZkixL1MI-HPBVuXamheFBr862uJ4PvTxmhk,
6
6
  ngio/common/_dimensions.py,sha256=UV2XulWaROb3Y2f4fv27ZkTIu-MoS53U26aDkrv-_lk,3900
7
7
  ngio/common/_masking_roi.py,sha256=-o6meGP17iTXEbkO9aGh1VX2drkc2laIcRJvCy_pRRM,4919
8
8
  ngio/common/_pyramid.py,sha256=SJzPauuduuqcm9B7nFCJhMTzIg6Knjsnp4CY4lN61Is,7411
9
- ngio/common/_roi.py,sha256=dq1iVT8-G_zWuxcYWJeHfviBSbPgsyKUcDL3Vg6jx6I,5122
9
+ ngio/common/_roi.py,sha256=xJZ3vSusxhM1wXOizyjPbgzYhneva4IlhaWQc13Kuk4,5186
10
10
  ngio/common/_slicer.py,sha256=AKpwXRncOmF9nhjKYma0C_41WqAgSv860beKGx-aw-0,3075
11
11
  ngio/common/_table_ops.py,sha256=ToNR7F053l1dubVv-gvBD-523T10HnE2UzqeU2BuNy8,15494
12
12
  ngio/common/_zoom.py,sha256=KsURa5VuixmpbAAY5-6obmuQV8vfiHKZqBxZDXvchpM,5473
13
13
  ngio/hcs/__init__.py,sha256=G8j9vD-liLeB_UeGtKYIgshWvJnUA6ks9GwjvWBLdHs,357
14
- ngio/hcs/_plate.py,sha256=Z8M3slG5t16MYvPwvAzj-e9O4yAswWZp7_EDBlAxiHc,44225
14
+ ngio/hcs/_plate.py,sha256=o8g4WkbFPABV8mBRqyVLbLrKhwFvsf94LwwcBZac_7A,44260
15
15
  ngio/images/__init__.py,sha256=PlYvbHOMvZLDgn_PeGrytOEU3e_-AO8GWpRjEqoX_Gw,536
16
16
  ngio/images/_abstract_image.py,sha256=8PNQPZjiDz-pcTFXSJAVw7nUr4yL_iRwqDEUTKkAnp0,10266
17
17
  ngio/images/_create.py,sha256=XYn30m_2OSZeHHASYHc3eK9u_gZIYy9wo6mGdRGaq5c,9473
18
18
  ngio/images/_image.py,sha256=B9MTk3Cei-FBR4jbhSujTSNcKM_ySape28yXR_JlY0A,17980
19
19
  ngio/images/_label.py,sha256=Q1vPrXDcjJ7Gdd0wDz6NCVYQLNe1Ae6YDI4iK0oq31s,10557
20
20
  ngio/images/_masked_image.py,sha256=sd6aQetNVwtDkwUvKX-lssQyHzt5m-CYZL8ZFkwDSn8,8533
21
- ngio/images/_ome_zarr_container.py,sha256=hRx_8CPtFpxQUcprTT4_k5L5pjMUJ6t4wJaYr1tyljw,31181
21
+ ngio/images/_ome_zarr_container.py,sha256=CygzzFMYFT35ztLSPKe6iKLzCtgCnVWk8M9xOj6Tc5U,31221
22
22
  ngio/ome_zarr_meta/__init__.py,sha256=oZ8PEsWM7U0KwzpsnvVfX9k4UfuTz5sZ8B6B9eY5hyY,1193
23
23
  ngio/ome_zarr_meta/_meta_handlers.py,sha256=ctknNDT8jxwyvxQf9on5gW31H1tRRsnneO38GT2UXoE,25880
24
24
  ngio/ome_zarr_meta/ngio_specs/__init__.py,sha256=05NQukZG0nNvjzf8AKWGu7PhjhQcImGSAOK3D3Bg-Js,1786
@@ -31,31 +31,31 @@ ngio/ome_zarr_meta/ngio_specs/_pixel_size.py,sha256=5TT8250XdCKUnk3OwZeyXIMNFKOg
31
31
  ngio/ome_zarr_meta/v04/__init__.py,sha256=dJRzzxyYc81kf-0Hip_bqvbdManaM8XTdQX2meWyCSs,583
32
32
  ngio/ome_zarr_meta/v04/_custom_models.py,sha256=5GxiDERvLuvq4QvApcA6EiKLS6hLFX1R0R_9rSaa85A,530
33
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
34
+ ngio/tables/__init__.py,sha256=_BV3sclNMLITu_J8_3DkkUrCB6Kro0HzeWLDCD1ivKM,877
35
+ ngio/tables/_abstract_table.py,sha256=rwGa47TzbFmosucBWVfFq6JEXtgGvOdUVtU9DIelV88,8204
36
+ ngio/tables/_tables_container.py,sha256=w1rT_5kMh23OHXpFJI3edTH1-tul0YLIYY6x5lMn2k4,12173
37
+ ngio/tables/backends/__init__.py,sha256=nQZVazwTL1IHU08gL-BZcFZd7Cehhbc_AsJ3t3XSps0,1577
38
+ ngio/tables/backends/_abstract_backend.py,sha256=tsbHzSPTX88fiCbVc8khXv5aN68ck6HKG8r5OHkY3S8,7457
39
39
  ngio/tables/backends/_anndata.py,sha256=8RX2NO15CLxys3p6gw54Nd-_0WATU4WBlNndX06wvzI,2587
40
40
  ngio/tables/backends/_anndata_utils.py,sha256=DBWIcR0btnH-DIvDvzlcnMXoYhhtXc9DstryiOP0Qsg,3122
41
41
  ngio/tables/backends/_csv.py,sha256=Ev61D-AUKo4LIhXRmWPJgYbHI7eQdxiajQR574DevEM,932
42
42
  ngio/tables/backends/_json.py,sha256=1ZsEuXDJm1rOZV_KjFm8CB0qhv7L1W7L2EGWPf4q_p0,3137
43
43
  ngio/tables/backends/_non_zarr_backends.py,sha256=SvPPhT6n5TrKUOyV1mNcdHQK49huZ5lwR8EVe9MdydM,7254
44
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
45
+ ngio/tables/backends/_table_backends.py,sha256=QUS59VU395966AEul2SNJQAzklSitvISL0wnZTKWZa0,7267
46
46
  ngio/tables/backends/_utils.py,sha256=tJBSWN6OhO_1ybxl4vT2l3ImB028Fb6h0vaitPRcr8A,19668
47
47
  ngio/tables/v1/__init__.py,sha256=Wr1_9RZFpaN8FYMTnxT9Yjkw4AS7y9FMWailmB_uj5g,617
48
48
  ngio/tables/v1/_condition_table.py,sha256=IMU3sds8wrKGqU-C20HbpFCVGZX1L_V7Sh8f7CHB_x0,1781
49
49
  ngio/tables/v1/_feature_table.py,sha256=n9uMHwoBh-_dlOhUXCFbmAjXFVXncNCR3SjE2qzXI68,3821
50
50
  ngio/tables/v1/_generic_table.py,sha256=1ktJHeuv7U1g5Z8PFUuTkCjOzcYMQd8xegKHKUedJB8,1240
51
- ngio/tables/v1/_roi_table.py,sha256=Q1dBQqPvxqBOqatGzYTAbxmgEnEkBawpSbCL38YBnE0,13456
51
+ ngio/tables/v1/_roi_table.py,sha256=DgXhp-DHTeEJwzSsSRSlnPghjMhYGa3IGSpwTt5LKZU,13603
52
52
  ngio/utils/__init__.py,sha256=r3nuLWgp6-cQlS4ODjYSBrfgdTLkCOVke9jKbn1NpkA,1129
53
53
  ngio/utils/_datasets.py,sha256=EdYJHIifpRou4f43dIuiKsdxe4K6FaeS4f1_e_EYrcI,1727
54
54
  ngio/utils/_errors.py,sha256=pKQ12LUjQLYE1nUawemA5h7HsgznjaSvV1n2PQU33N0,759
55
55
  ngio/utils/_fractal_fsspec_store.py,sha256=RdcCFOgHexRKX9zZvJV5RI-5OPc7VOPS6q_IeRxm24I,1548
56
56
  ngio/utils/_logger.py,sha256=HIuqD_2ShfFGDswBddcouStbKfL0Vz_ah8cAIFGhbS8,888
57
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,,
58
+ ngio-0.3.2.dist-info/METADATA,sha256=lTCmsFw4q7EZUvjlH6aSpnqVDnUnP025vdUrp1o7pyY,5868
59
+ ngio-0.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
60
+ ngio-0.3.2.dist-info/licenses/LICENSE,sha256=UgN_a1QCeNh9rZWfz-wORQFxE3elQzLWPQaoK6N6fxQ,1502
61
+ ngio-0.3.2.dist-info/RECORD,,
File without changes