ngio 0.5.0a1__py3-none-any.whl → 0.5.0a3__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 (48) hide show
  1. ngio/__init__.py +2 -2
  2. ngio/common/__init__.py +11 -6
  3. ngio/common/_masking_roi.py +12 -41
  4. ngio/common/_pyramid.py +218 -78
  5. ngio/common/_roi.py +257 -329
  6. ngio/experimental/iterators/_feature.py +3 -3
  7. ngio/experimental/iterators/_rois_utils.py +10 -11
  8. ngio/hcs/_plate.py +114 -123
  9. ngio/images/_abstract_image.py +417 -35
  10. ngio/images/_create_synt_container.py +36 -43
  11. ngio/images/_create_utils.py +423 -0
  12. ngio/images/_image.py +155 -177
  13. ngio/images/_label.py +144 -119
  14. ngio/images/_ome_zarr_container.py +361 -196
  15. ngio/io_pipes/_io_pipes.py +9 -9
  16. ngio/io_pipes/_io_pipes_masked.py +7 -7
  17. ngio/io_pipes/_io_pipes_roi.py +6 -6
  18. ngio/io_pipes/_io_pipes_types.py +3 -3
  19. ngio/io_pipes/_match_shape.py +5 -4
  20. ngio/io_pipes/_ops_slices_utils.py +8 -5
  21. ngio/ome_zarr_meta/__init__.py +15 -18
  22. ngio/ome_zarr_meta/_meta_handlers.py +334 -713
  23. ngio/ome_zarr_meta/ngio_specs/_axes.py +1 -0
  24. ngio/ome_zarr_meta/ngio_specs/_dataset.py +13 -22
  25. ngio/ome_zarr_meta/ngio_specs/_ngio_hcs.py +54 -61
  26. ngio/ome_zarr_meta/ngio_specs/_ngio_image.py +14 -68
  27. ngio/ome_zarr_meta/v04/__init__.py +1 -1
  28. ngio/ome_zarr_meta/v04/{_v04_spec_utils.py → _v04_spec.py} +16 -61
  29. ngio/ome_zarr_meta/v05/__init__.py +1 -1
  30. ngio/ome_zarr_meta/v05/{_v05_spec_utils.py → _v05_spec.py} +18 -61
  31. ngio/tables/_tables_container.py +25 -20
  32. ngio/tables/backends/_anndata.py +57 -8
  33. ngio/tables/backends/_anndata_utils.py +1 -6
  34. ngio/tables/backends/_csv.py +3 -19
  35. ngio/tables/backends/_json.py +10 -13
  36. ngio/tables/backends/_parquet.py +3 -31
  37. ngio/tables/backends/_py_arrow_backends.py +222 -0
  38. ngio/tables/v1/_roi_table.py +44 -27
  39. ngio/utils/__init__.py +6 -12
  40. ngio/utils/_cache.py +48 -0
  41. ngio/utils/_zarr_utils.py +285 -245
  42. {ngio-0.5.0a1.dist-info → ngio-0.5.0a3.dist-info}/METADATA +8 -4
  43. {ngio-0.5.0a1.dist-info → ngio-0.5.0a3.dist-info}/RECORD +45 -45
  44. {ngio-0.5.0a1.dist-info → ngio-0.5.0a3.dist-info}/WHEEL +1 -1
  45. ngio/images/_create.py +0 -283
  46. ngio/tables/backends/_non_zarr_backends.py +0 -196
  47. ngio/utils/_logger.py +0 -50
  48. {ngio-0.5.0a1.dist-info → ngio-0.5.0a3.dist-info}/licenses/LICENSE +0 -0
ngio/utils/_logger.py DELETED
@@ -1,50 +0,0 @@
1
- import logging
2
- import time
3
- from functools import cache
4
-
5
- from ngio.utils._errors import NgioValueError
6
-
7
- # Configure the logger
8
- ngio_logger = logging.getLogger("NgioLogger")
9
- ngio_logger.setLevel(logging.ERROR)
10
-
11
- # Set up a console handler with a custom format
12
- console_handler = logging.StreamHandler()
13
- formatter = logging.Formatter(
14
- "%(asctime)s - %(levelname)s - %(name)s - "
15
- "[%(module)s.%(funcName)s:%(lineno)d]: %(message)s"
16
- )
17
- console_handler.setFormatter(formatter)
18
-
19
- # Add the handler to the logger
20
- ngio_logger.addHandler(console_handler)
21
-
22
-
23
- def set_logger_level(level: str) -> None:
24
- """Set the logger level.
25
-
26
- Args:
27
- level: The level to set the logger to.
28
- Must be one of "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL".
29
- """
30
- if level not in ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]:
31
- raise NgioValueError(f"Invalid log level: {level}")
32
-
33
- ngio_logger.setLevel(level)
34
-
35
-
36
- @cache
37
- def _warn(message: str, ttl_hash: int) -> None:
38
- """Log a warning message with a time-to-live (TTL) hash."""
39
- ngio_logger.warning(message, stacklevel=3)
40
-
41
-
42
- def ngio_warn(message: str, cooldown: int = 2) -> None:
43
- """Log a warning message.
44
-
45
- Args:
46
- message: The warning message to log.
47
- cooldown: The cooldown period in seconds to avoid repeated logging.
48
- """
49
- ttl_hash = time.time() // cooldown
50
- _warn(message, ttl_hash)