careamics 0.0.5__py3-none-any.whl → 0.0.7__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.

Potentially problematic release.


This version of careamics might be problematic. Click here for more details.

Files changed (111) hide show
  1. careamics/__init__.py +17 -2
  2. careamics/careamist.py +4 -3
  3. careamics/cli/conf.py +1 -2
  4. careamics/cli/main.py +1 -2
  5. careamics/cli/utils.py +3 -3
  6. careamics/config/__init__.py +47 -25
  7. careamics/config/algorithms/__init__.py +15 -0
  8. careamics/config/algorithms/care_algorithm_model.py +38 -0
  9. careamics/config/algorithms/n2n_algorithm_model.py +30 -0
  10. careamics/config/algorithms/n2v_algorithm_model.py +29 -0
  11. careamics/config/algorithms/unet_algorithm_model.py +88 -0
  12. careamics/config/{vae_algorithm_model.py → algorithms/vae_algorithm_model.py} +14 -12
  13. careamics/config/architectures/__init__.py +1 -11
  14. careamics/config/architectures/architecture_model.py +3 -3
  15. careamics/config/architectures/lvae_model.py +6 -1
  16. careamics/config/architectures/unet_model.py +1 -0
  17. careamics/config/care_configuration.py +100 -0
  18. careamics/config/configuration.py +354 -0
  19. careamics/config/{configuration_factory.py → configuration_factories.py} +185 -57
  20. careamics/config/configuration_io.py +85 -0
  21. careamics/config/data/__init__.py +10 -0
  22. careamics/config/{data_model.py → data/data_model.py} +91 -186
  23. careamics/config/data/n2v_data_model.py +193 -0
  24. careamics/config/likelihood_model.py +1 -2
  25. careamics/config/n2n_configuration.py +101 -0
  26. careamics/config/n2v_configuration.py +266 -0
  27. careamics/config/nm_model.py +1 -2
  28. careamics/config/support/__init__.py +7 -7
  29. careamics/config/support/supported_algorithms.py +5 -4
  30. careamics/config/support/supported_architectures.py +0 -4
  31. careamics/config/transformations/__init__.py +10 -4
  32. careamics/config/transformations/transform_model.py +3 -3
  33. careamics/config/transformations/transform_unions.py +42 -0
  34. careamics/config/validators/__init__.py +12 -1
  35. careamics/config/validators/model_validators.py +84 -0
  36. careamics/config/validators/validator_utils.py +3 -3
  37. careamics/dataset/__init__.py +2 -2
  38. careamics/dataset/dataset_utils/__init__.py +3 -3
  39. careamics/dataset/dataset_utils/dataset_utils.py +4 -6
  40. careamics/dataset/dataset_utils/file_utils.py +9 -9
  41. careamics/dataset/dataset_utils/iterate_over_files.py +4 -3
  42. careamics/dataset/in_memory_dataset.py +11 -12
  43. careamics/dataset/iterable_dataset.py +4 -4
  44. careamics/dataset/iterable_pred_dataset.py +2 -1
  45. careamics/dataset/iterable_tiled_pred_dataset.py +2 -1
  46. careamics/dataset/patching/random_patching.py +11 -10
  47. careamics/dataset/patching/sequential_patching.py +26 -26
  48. careamics/dataset/patching/validate_patch_dimension.py +3 -3
  49. careamics/dataset/tiling/__init__.py +2 -2
  50. careamics/dataset/tiling/collate_tiles.py +3 -3
  51. careamics/dataset/tiling/lvae_tiled_patching.py +2 -1
  52. careamics/dataset/tiling/tiled_patching.py +11 -10
  53. careamics/file_io/__init__.py +5 -5
  54. careamics/file_io/read/__init__.py +1 -1
  55. careamics/file_io/read/get_func.py +2 -2
  56. careamics/file_io/write/__init__.py +2 -2
  57. careamics/lightning/__init__.py +5 -5
  58. careamics/lightning/callbacks/__init__.py +1 -1
  59. careamics/lightning/callbacks/prediction_writer_callback/__init__.py +3 -3
  60. careamics/lightning/callbacks/prediction_writer_callback/prediction_writer_callback.py +2 -1
  61. careamics/lightning/callbacks/prediction_writer_callback/write_strategy.py +2 -1
  62. careamics/lightning/callbacks/progress_bar_callback.py +3 -3
  63. careamics/lightning/lightning_module.py +11 -7
  64. careamics/lightning/train_data_module.py +36 -45
  65. careamics/losses/__init__.py +3 -3
  66. careamics/lvae_training/calibration.py +64 -57
  67. careamics/lvae_training/dataset/lc_dataset.py +2 -1
  68. careamics/lvae_training/dataset/multich_dataset.py +2 -2
  69. careamics/lvae_training/dataset/types.py +1 -1
  70. careamics/lvae_training/eval_utils.py +123 -128
  71. careamics/model_io/__init__.py +1 -1
  72. careamics/model_io/bioimage/__init__.py +1 -1
  73. careamics/model_io/bioimage/_readme_factory.py +1 -1
  74. careamics/model_io/bioimage/model_description.py +17 -17
  75. careamics/model_io/bmz_io.py +6 -17
  76. careamics/model_io/model_io_utils.py +9 -9
  77. careamics/models/layers.py +16 -16
  78. careamics/models/lvae/likelihoods.py +2 -0
  79. careamics/models/lvae/lvae.py +13 -4
  80. careamics/models/lvae/noise_models.py +280 -217
  81. careamics/models/lvae/stochastic.py +1 -0
  82. careamics/models/model_factory.py +2 -15
  83. careamics/models/unet.py +8 -8
  84. careamics/prediction_utils/__init__.py +1 -1
  85. careamics/prediction_utils/prediction_outputs.py +15 -15
  86. careamics/prediction_utils/stitch_prediction.py +6 -6
  87. careamics/transforms/__init__.py +5 -5
  88. careamics/transforms/compose.py +13 -13
  89. careamics/transforms/n2v_manipulate.py +3 -3
  90. careamics/transforms/pixel_manipulation.py +9 -9
  91. careamics/transforms/xy_random_rotate90.py +4 -4
  92. careamics/utils/__init__.py +5 -5
  93. careamics/utils/context.py +2 -1
  94. careamics/utils/logging.py +11 -10
  95. careamics/utils/metrics.py +25 -0
  96. careamics/utils/plotting.py +78 -0
  97. careamics/utils/torch_utils.py +7 -7
  98. {careamics-0.0.5.dist-info → careamics-0.0.7.dist-info}/METADATA +13 -11
  99. careamics-0.0.7.dist-info/RECORD +178 -0
  100. careamics/config/architectures/custom_model.py +0 -162
  101. careamics/config/architectures/register_model.py +0 -103
  102. careamics/config/configuration_model.py +0 -603
  103. careamics/config/fcn_algorithm_model.py +0 -152
  104. careamics/config/references/__init__.py +0 -45
  105. careamics/config/references/algorithm_descriptions.py +0 -132
  106. careamics/config/references/references.py +0 -39
  107. careamics/config/transformations/transform_union.py +0 -20
  108. careamics-0.0.5.dist-info/RECORD +0 -171
  109. {careamics-0.0.5.dist-info → careamics-0.0.7.dist-info}/WHEEL +0 -0
  110. {careamics-0.0.5.dist-info → careamics-0.0.7.dist-info}/entry_points.txt +0 -0
  111. {careamics-0.0.5.dist-info → careamics-0.0.7.dist-info}/licenses/LICENSE +0 -0
@@ -1,152 +0,0 @@
1
- """Module containing `FCNAlgorithmConfig` class."""
2
-
3
- from pprint import pformat
4
- from typing import Literal, Union
5
-
6
- from pydantic import BaseModel, ConfigDict, Field, model_validator
7
- from typing_extensions import Self
8
-
9
- from careamics.config.architectures import CustomModel, UNetModel
10
- from careamics.config.optimizer_models import LrSchedulerModel, OptimizerModel
11
-
12
-
13
- class FCNAlgorithmConfig(BaseModel):
14
- """Algorithm configuration.
15
-
16
- This Pydantic model validates the parameters governing the components of the
17
- training algorithm: which algorithm, loss function, model architecture, optimizer,
18
- and learning rate scheduler to use.
19
-
20
- Currently, we only support N2V, CARE, N2N and custom models. The `n2v` algorithm is
21
- only compatible with `n2v` loss and `UNet` architecture. The `custom` algorithm
22
- allows you to register your own architecture and select it using its name as
23
- `name` in the custom pydantic model.
24
-
25
- Attributes
26
- ----------
27
- algorithm : {"n2v", "care", "n2n", "custom"}
28
- Algorithm to use.
29
- loss : {"n2v", "mae", "mse"}
30
- Loss function to use.
31
- model : UNetModel or CustomModel
32
- Model architecture to use.
33
- optimizer : OptimizerModel, optional
34
- Optimizer to use.
35
- lr_scheduler : LrSchedulerModel, optional
36
- Learning rate scheduler to use.
37
-
38
- Raises
39
- ------
40
- ValueError
41
- Algorithm parameter type validation errors.
42
- ValueError
43
- If the algorithm, loss and model are not compatible.
44
-
45
- Examples
46
- --------
47
- Minimum example:
48
- >>> from careamics.config import FCNAlgorithmConfig
49
- >>> config_dict = {
50
- ... "algorithm": "n2v",
51
- ... "loss": "n2v",
52
- ... "model": {
53
- ... "architecture": "UNet",
54
- ... }
55
- ... }
56
- >>> config = FCNAlgorithmConfig(**config_dict)
57
- """
58
-
59
- # Pydantic class configuration
60
- model_config = ConfigDict(
61
- protected_namespaces=(), # allows to use model_* as a field name
62
- validate_assignment=True,
63
- extra="allow",
64
- )
65
-
66
- # Mandatory fields
67
- algorithm: Literal["n2v", "care", "n2n", "custom"]
68
- """Name of the algorithm, as defined in SupportedAlgorithm. Use `custom` for custom
69
- model architecture."""
70
-
71
- loss: Literal["n2v", "mae", "mse"]
72
- """Loss function to use, as defined in SupportedLoss."""
73
-
74
- model: Union[UNetModel, CustomModel] = Field(discriminator="architecture")
75
- """Model architecture to use, along with its parameters. Compatible architectures
76
- are defined in SupportedArchitecture, and their Pydantic models in
77
- `careamics.config.architectures`."""
78
- # TODO supported architectures are now all the architectures but does not warn users
79
- # of the compatibility with the algorithm
80
-
81
- # Optional fields
82
- optimizer: OptimizerModel = OptimizerModel()
83
- """Optimizer to use, defined in SupportedOptimizer."""
84
-
85
- lr_scheduler: LrSchedulerModel = LrSchedulerModel()
86
- """Learning rate scheduler to use, defined in SupportedLrScheduler."""
87
-
88
- @model_validator(mode="after")
89
- def algorithm_cross_validation(self: Self) -> Self:
90
- """Validate the algorithm model based on `algorithm`.
91
-
92
- N2V:
93
- - loss must be n2v
94
- - model must be a `UNetModel`
95
-
96
- Returns
97
- -------
98
- Self
99
- The validated model.
100
- """
101
- # N2V
102
- if self.algorithm == "n2v":
103
- # n2v is only compatible with the n2v loss
104
- if self.loss != "n2v":
105
- raise ValueError(
106
- f"Algorithm {self.algorithm} only supports loss `n2v`."
107
- )
108
-
109
- # n2v is only compatible with the UNet model
110
- if not isinstance(self.model, UNetModel):
111
- raise ValueError(
112
- f"Model for algorithm {self.algorithm} must be a `UNetModel`."
113
- )
114
-
115
- # n2v requires the number of input and output channels to be the same
116
- if self.model.in_channels != self.model.num_classes:
117
- raise ValueError(
118
- "N2V requires the same number of input and output channels. Make "
119
- "sure that `in_channels` and `num_classes` are the same."
120
- )
121
-
122
- if self.algorithm == "care" or self.algorithm == "n2n":
123
- if self.loss == "n2v":
124
- raise ValueError("Supervised algorithms do not support loss `n2v`.")
125
-
126
- if (self.algorithm == "custom") != (self.model.architecture == "custom"):
127
- raise ValueError(
128
- "Algorithm and model architecture must be both `custom` or not."
129
- )
130
-
131
- return self
132
-
133
- def __str__(self) -> str:
134
- """Pretty string representing the configuration.
135
-
136
- Returns
137
- -------
138
- str
139
- Pretty string.
140
- """
141
- return pformat(self.model_dump())
142
-
143
- @classmethod
144
- def get_compatible_algorithms(cls) -> list[str]:
145
- """Get the list of compatible algorithms.
146
-
147
- Returns
148
- -------
149
- list of str
150
- List of compatible algorithms.
151
- """
152
- return ["n2v", "care", "n2n"]
@@ -1,45 +0,0 @@
1
- """Module containing references to the algorithm used in CAREamics."""
2
-
3
- __all__ = [
4
- "N2V2Ref",
5
- "N2VRef",
6
- "StructN2VRef",
7
- "N2VDescription",
8
- "N2V2Description",
9
- "StructN2VDescription",
10
- "StructN2V2Description",
11
- "N2V",
12
- "N2V2",
13
- "STRUCT_N2V",
14
- "STRUCT_N2V2",
15
- "CUSTOM",
16
- "N2N",
17
- "CARE",
18
- "CAREDescription",
19
- "N2NDescription",
20
- "CARERef",
21
- "N2NRef",
22
- ]
23
-
24
- from .algorithm_descriptions import (
25
- CARE,
26
- CUSTOM,
27
- N2N,
28
- N2V,
29
- N2V2,
30
- STRUCT_N2V,
31
- STRUCT_N2V2,
32
- CAREDescription,
33
- N2NDescription,
34
- N2V2Description,
35
- N2VDescription,
36
- StructN2V2Description,
37
- StructN2VDescription,
38
- )
39
- from .references import (
40
- CARERef,
41
- N2NRef,
42
- N2V2Ref,
43
- N2VRef,
44
- StructN2VRef,
45
- )
@@ -1,132 +0,0 @@
1
- """Descriptions of the algorithms used in CAREmics."""
2
-
3
- from pydantic import BaseModel
4
-
5
- CUSTOM = "Custom"
6
- N2V = "Noise2Void"
7
- N2V2 = "N2V2"
8
- STRUCT_N2V = "StructN2V"
9
- STRUCT_N2V2 = "StructN2V2"
10
- N2N = "Noise2Noise"
11
- CARE = "CARE"
12
-
13
-
14
- N2V_DESCRIPTION = (
15
- "Noise2Void is a UNet-based self-supervised algorithm that "
16
- "uses blind-spot training to denoise images. In short, in every "
17
- "patches during training, random pixels are selected and their "
18
- "value replaced by a neighboring pixel value. The network is then "
19
- "trained to predict the original pixel value. The algorithm "
20
- "relies on the continuity of the signal (neighboring pixels have "
21
- "similar values) and the pixel-wise independence of the noise "
22
- "(the noise in a pixel is not correlated with the noise in "
23
- "neighboring pixels)."
24
- )
25
-
26
-
27
- class AlgorithmDescription(BaseModel):
28
- """Description of an algorithm.
29
-
30
- Attributes
31
- ----------
32
- description : str
33
- Description of the algorithm.
34
- """
35
-
36
- description: str
37
-
38
-
39
- class N2VDescription(AlgorithmDescription):
40
- """Description of Noise2Void.
41
-
42
- Attributes
43
- ----------
44
- description : str
45
- Description of Noise2Void.
46
- """
47
-
48
- description: str = N2V_DESCRIPTION
49
-
50
-
51
- class N2V2Description(AlgorithmDescription):
52
- """Description of N2V2.
53
-
54
- Attributes
55
- ----------
56
- description : str
57
- Description of N2V2.
58
- """
59
-
60
- description: str = (
61
- "N2V2 is a variant of Noise2Void. "
62
- + N2V_DESCRIPTION
63
- + "\nN2V2 introduces blur-pool layers and removed skip "
64
- "connections in the UNet architecture to remove checkboard "
65
- "artefacts, a common artefacts ocurring in Noise2Void."
66
- )
67
-
68
-
69
- class StructN2VDescription(AlgorithmDescription):
70
- """Description of StructN2V.
71
-
72
- Attributes
73
- ----------
74
- description : str
75
- Description of StructN2V.
76
- """
77
-
78
- description: str = (
79
- "StructN2V is a variant of Noise2Void. "
80
- + N2V_DESCRIPTION
81
- + "\nStructN2V uses a linear mask (horizontal or vertical) to replace "
82
- "the pixel values of neighbors of the masked pixels by a random "
83
- "value. Such masking allows removing 1D structured noise from the "
84
- "the images, the main failure case of the original N2V."
85
- )
86
-
87
-
88
- class StructN2V2Description(AlgorithmDescription):
89
- """Description of StructN2V2.
90
-
91
- Attributes
92
- ----------
93
- description : str
94
- Description of StructN2V2.
95
- """
96
-
97
- description: str = (
98
- "StructN2V2 is a a variant of Noise2Void that uses both "
99
- "structN2V and N2V2. "
100
- + N2V_DESCRIPTION
101
- + "\nStructN2V2 uses a linear mask (horizontal or vertical) to replace "
102
- "the pixel values of neighbors of the masked pixels by a random "
103
- "value. Such masking allows removing 1D structured noise from the "
104
- "the images, the main failure case of the original N2V."
105
- "\nN2V2 introduces blur-pool layers and removed skip connections in "
106
- "the UNet architecture to remove checkboard artefacts, a common "
107
- "artefacts ocurring in Noise2Void."
108
- )
109
-
110
-
111
- class N2NDescription(AlgorithmDescription):
112
- """Description of Noise2Noise.
113
-
114
- Attributes
115
- ----------
116
- description : str
117
- Description of Noise2Noise.
118
- """
119
-
120
- description: str = "Noise2Noise" # TODO
121
-
122
-
123
- class CAREDescription(AlgorithmDescription):
124
- """Description of CARE.
125
-
126
- Attributes
127
- ----------
128
- description : str
129
- Description of CARE.
130
- """
131
-
132
- description: str = "CARE" # TODO
@@ -1,39 +0,0 @@
1
- """References for the CAREamics algorithms."""
2
-
3
- from bioimageio.spec.generic.v0_3 import CiteEntry
4
-
5
- N2VRef = CiteEntry(
6
- text='Krull, A., Buchholz, T.O. and Jug, F., 2019. "Noise2Void - Learning '
7
- 'denoising from single noisy images". In Proceedings of the IEEE/CVF '
8
- "conference on computer vision and pattern recognition (pp. 2129-2137).",
9
- doi="10.1109/cvpr.2019.00223",
10
- )
11
-
12
- N2V2Ref = CiteEntry(
13
- text="Höck, E., Buchholz, T.O., Brachmann, A., Jug, F. and Freytag, A., "
14
- '2022. "N2V2 - Fixing Noise2Void checkerboard artifacts with modified '
15
- 'sampling strategies and a tweaked network architecture". In European '
16
- "Conference on Computer Vision (pp. 503-518).",
17
- doi="10.1007/978-3-031-25069-9_33",
18
- )
19
-
20
- StructN2VRef = CiteEntry(
21
- text="Broaddus, C., Krull, A., Weigert, M., Schmidt, U. and Myers, G., 2020."
22
- '"Removing structured noise with self-supervised blind-spot '
23
- 'networks". In 2020 IEEE 17th International Symposium on Biomedical '
24
- "Imaging (ISBI) (pp. 159-163).",
25
- doi="10.1109/isbi45749.2020.9098336",
26
- )
27
-
28
- N2NRef = CiteEntry(
29
- text="Lehtinen, J., Munkberg, J., Hasselgren, J., Laine, S., Karras, T., "
30
- 'Aittala, M. and Aila, T., 2018. "Noise2Noise: Learning image restoration '
31
- 'without clean data". arXiv preprint arXiv:1803.04189.',
32
- doi="10.48550/arXiv.1803.04189",
33
- )
34
-
35
- CARERef = CiteEntry(
36
- text='Weigert, Martin, et al. "Content-aware image restoration: pushing the '
37
- 'limits of fluorescence microscopy." Nature methods 15.12 (2018): 1090-1097.',
38
- doi="10.1038/s41592-018-0216-7",
39
- )
@@ -1,20 +0,0 @@
1
- """Type used to represent all transformations users can create."""
2
-
3
- from typing import Union
4
-
5
- from pydantic import Discriminator
6
- from typing_extensions import Annotated
7
-
8
- from .n2v_manipulate_model import N2VManipulateModel
9
- from .xy_flip_model import XYFlipModel
10
- from .xy_random_rotate90_model import XYRandomRotate90Model
11
-
12
- TRANSFORMS_UNION = Annotated[
13
- Union[
14
- XYFlipModel,
15
- XYRandomRotate90Model,
16
- N2VManipulateModel,
17
- ],
18
- Discriminator("name"), # used to tell the different transform models apart
19
- ]
20
- """Available transforms in CAREamics."""
@@ -1,171 +0,0 @@
1
- careamics/__init__.py,sha256=xBCerWN66hv3T7dRGiUYLflmbJtJt1HqbSg9JCWp8pY,391
2
- careamics/careamist.py,sha256=jwR-idgdejBiQK7dJ968BjPsH18y9HTfu4UcYES4SIw,37588
3
- careamics/conftest.py,sha256=Od4WcaaP0UP-XUMrFr_oo4e6c2hi_RvNbuaRTopwlmI,911
4
- careamics/py.typed,sha256=esB4cHc6c07uVkGtqf8at7ttEnprwRxwk8obY8Qumq4,187
5
- careamics/cli/__init__.py,sha256=LbM9bVtU1dy-khmdiIDXwvKy2v8wPBCEUuWqV_8rosA,106
6
- careamics/cli/conf.py,sha256=QuzGVTMHnqZqlnIqqNsgpcSgJUk0yNLr48hkKWiZF0E,13103
7
- careamics/cli/main.py,sha256=9b57xqiXchrHOw5_Ma0UZyD1hq3x2jslzL4HBIMvyvA,6593
8
- careamics/cli/utils.py,sha256=ndi6nVWenGCuikGSOcVTCoZQfU3RcAyuH5uUemQRK8M,667
9
- careamics/config/__init__.py,sha256=ywiA7k3OyDFlsRIPQ_4uc3yqzgEnxOtodD8V7OztB9Q,1188
10
- careamics/config/callback_model.py,sha256=EeYHqpMIPQwyNxLRzzX32Uncl5mZuB1bJO76RHpNymg,4555
11
- careamics/config/configuration_factory.py,sha256=RHe3RyAg0YMN3B_gvAzODzzXQvuMY3X-Yyi6FgjCqW4,30400
12
- careamics/config/configuration_model.py,sha256=xJkrtBoLwRZOdL0mmEq08lciP1JH7i40UQHSPpEs1iI,18878
13
- careamics/config/data_model.py,sha256=MOXnX6dmI-08b4H_43xOrnSlwdbCtO1UuI9YqOT8djA,15370
14
- careamics/config/fcn_algorithm_model.py,sha256=eBBjkoyavhvDJFTrjJDkNrWSP_-YaK0cy7qo0lCdBQ0,5105
15
- careamics/config/inference_model.py,sha256=UE_-ZmCX6LFCbDBOwyGnvuAboF_JNX2m2LcF0WiwgCI,6961
16
- careamics/config/likelihood_model.py,sha256=4R80kLqIzMf_7JN6RaojLiOudykqp-KM1CuJpET7dho,2288
17
- careamics/config/loss_model.py,sha256=yYcUBS90Qyon1MxeaHiVP3dJHPJFC0GUvWKGcAb3IHk,2036
18
- careamics/config/nm_model.py,sha256=xkQXrcXfMPAMpWoFCPRLyDfy4lP_-En4cAcOV4q21KI,4787
19
- careamics/config/optimizer_models.py,sha256=OWpTydRBBR8wt_af1mZHNNwvL_RtnRFopAOdgjzLo30,5750
20
- careamics/config/tile_information.py,sha256=c-_xrVPOgcnjiEzQ-9A_GhNPamObkMANbeHaRP29R-4,2059
21
- careamics/config/training_model.py,sha256=67_ipo_-LxhT4-WqAs40Sg8PjU--my43Qn3BhjvlXxM,3212
22
- careamics/config/vae_algorithm_model.py,sha256=4oPeEI2vWhkQLOseX4iSAY_uy4NkVaOIxiXl5Tbh_eo,4653
23
- careamics/config/architectures/__init__.py,sha256=VyuBIopbqpR0KPq6cAeX3qPCrlbY8ZB_rGXwa2ApNvc,447
24
- careamics/config/architectures/architecture_model.py,sha256=qqPpmkNLwTBC3nwOmXpl33UAvpDFsAxFRBw9MIsQgws,921
25
- careamics/config/architectures/custom_model.py,sha256=-ROcKn_Ai7SZqzQLoEUc2BLAalgjyvoOnyDKUiY_cp0,4876
26
- careamics/config/architectures/lvae_model.py,sha256=62_GTtrh5_K0ijpRFh8mz26aaPkXShqtDnhh_Z0TfCQ,7566
27
- careamics/config/architectures/register_model.py,sha256=lHH0aUPmXtI3Bq_76zkhg07_Yb_nOJZkZJLCC_G-rZM,2434
28
- careamics/config/architectures/unet_model.py,sha256=8F2KosNkrXUP2bxlm-D1mowS9x3GOjyXjsEo1Kf-05k,3497
29
- careamics/config/references/__init__.py,sha256=rZAQzmrciX5cNICcXaBH6sbE6N6L7_qYQUkasNy9y-c,763
30
- careamics/config/references/algorithm_descriptions.py,sha256=wR3hIoeg5eiUEPbwTxMpQYLTKQyRl_5naSDbBZOZESU,3541
31
- careamics/config/references/references.py,sha256=AXx08FJQxHb7SYOluCr_eQn_mbOris5dXqhKrCnhBTE,1573
32
- careamics/config/support/__init__.py,sha256=pKqk76kyBraiSC1SQos-cyiQwsfOLLkLuWj6Hw60LZ4,1041
33
- careamics/config/support/supported_activations.py,sha256=CqOWoziIK5jZZXJO7G7cGg3TTid1POqv8FXqxjXxyME,535
34
- careamics/config/support/supported_algorithms.py,sha256=Tt5PaV1mwSZdrc4XpW9M4-ofExoHnMgfebCSN6ns0AQ,953
35
- careamics/config/support/supported_architectures.py,sha256=f93cRyeBOu5rYzvYrvWPVpjyK54GhyVTzCT1GNSdhI8,494
36
- careamics/config/support/supported_data.py,sha256=T_mDiWLFMVji_EpjBABUObAJcnv-XBnqp9XUZP37Tdk,2902
37
- careamics/config/support/supported_loggers.py,sha256=ubSOkGoYabGbm_jmyc1R3eFcvcP-sHmuyiBi_d3_wLg,197
38
- careamics/config/support/supported_losses.py,sha256=2x5sZuxRbWJzodoL35I1mMYUUDMzk8UFiFdbyPwbJ4E,583
39
- careamics/config/support/supported_optimizers.py,sha256=_2XmwzYENB6xpTedyWHUdWuGcDzdlfEAJjzm_qI3yRM,1392
40
- careamics/config/support/supported_pixel_manipulations.py,sha256=rFiktUlvoFU7s1NAKEMqsXOzLw5eaw9GtCKUznvq6xc,432
41
- careamics/config/support/supported_struct_axis.py,sha256=alZMA5Y-BpDymLPUEd1zqVY0xMkgl9Rv1d4ujED6sco,424
42
- careamics/config/support/supported_transforms.py,sha256=ODvmoTywvJWG_5-SJJZu-X1FNtKGhkNWQc-t26IFZWI,311
43
- careamics/config/transformations/__init__.py,sha256=lW9DcsCfemnlcmECyw5Id28nIuwg1YPKWhGgdfzcv5s,493
44
- careamics/config/transformations/n2v_manipulate_model.py,sha256=Mdxc4J3vxe_dM2CIhmTwwGOIirQvrQXLoa2vRsTzoYI,1855
45
- careamics/config/transformations/normalize_model.py,sha256=1Rkk6IkF-7ytGU6HSzP-TpOi4RRWiQJ6fOd8zammXcg,1936
46
- careamics/config/transformations/transform_model.py,sha256=i7KAtSv4nah2H7uyJFKqg7RdKF68OHIPMNNvDo0HxGY,1000
47
- careamics/config/transformations/transform_union.py,sha256=3PnzsWlD2ymIgRPrUDZzPT9vMOVLVDtUcEorZTYx_-I,574
48
- careamics/config/transformations/xy_flip_model.py,sha256=zU-uZ1b1zNZWckbho3onN-B7BHKhN7jbgbNZyRQhv2s,1025
49
- careamics/config/transformations/xy_random_rotate90_model.py,sha256=6sYKmtCLvz0SV1qZgBSHUTH-CUjwvHnohq1HyPntbyE,894
50
- careamics/config/validators/__init__.py,sha256=iv0nVI0W7j9DxFPwh0DjRCzM9P8oLQn4Gwi5rfuFrrI,180
51
- careamics/config/validators/validator_utils.py,sha256=aNFzpBVbef3BZIt6MiNMVc2kW6MJDWqQgdYkFM8Gjig,2621
52
- careamics/dataset/__init__.py,sha256=NQSWdpQu6BhqGGHUYuOt1hXJrGUN1LPNCP1A8duMY84,547
53
- careamics/dataset/in_memory_dataset.py,sha256=7YRpbKg6nqrECDhaA88HNlstyTObQxTN9jPcNlE_aWE,9906
54
- careamics/dataset/in_memory_pred_dataset.py,sha256=VvwW5D8TjgO_kR8eZinP-9qepSiI6ZsUN7FZ0Rvc8Bs,2161
55
- careamics/dataset/in_memory_tiled_pred_dataset.py,sha256=DANmlnlV1ysXKdwGvmJoOYKcjlgoMhnSGSDRpeK79ZA,3552
56
- careamics/dataset/iterable_dataset.py,sha256=vHwkzoQs-CvbGHcGtvYMF52dO6zLau89A13xDOWSGUU,9770
57
- careamics/dataset/iterable_pred_dataset.py,sha256=2KC9C2hpZmhWSmo6w9Fhz0wjmbcsBlRy8QsYfO4dN2w,3740
58
- careamics/dataset/iterable_tiled_pred_dataset.py,sha256=uNpc_13vo9REvGYOLu7lBNDh813b_UqZ9x5c4Q_udDE,4533
59
- careamics/dataset/zarr_dataset.py,sha256=lojnK5bhiF1vyjuPtWXBrZ9sy5fT_rBvZJbbbnE-H_I,5665
60
- careamics/dataset/dataset_utils/__init__.py,sha256=b9r_2BcrXoHNq9chXfZvgINGwZRpWfUZ_p6vikB_Kxw,507
61
- careamics/dataset/dataset_utils/dataset_utils.py,sha256=zYNglet5lYKxIhTeOGG2K24oujC-m5zyYlwJcQcleVA,2662
62
- careamics/dataset/dataset_utils/file_utils.py,sha256=4Aq92wz9M7esrujDbOxw1WNoYLlEjBRa4sOzf2Aw61c,4070
63
- careamics/dataset/dataset_utils/iterate_over_files.py,sha256=TcX24NRt2cdM9gmmQV2f5ziwXxRne2-zePzz3DDFSMA,2871
64
- careamics/dataset/dataset_utils/running_stats.py,sha256=kWorioMH4S5uZj2cvUpjHB6cIUhMFa1XXwDQrrKIWdI,5752
65
- careamics/dataset/patching/__init__.py,sha256=7-s12oUAZNlMOwSkxSwbD7vojQINWYFzn_4qIJ87WBg,37
66
- careamics/dataset/patching/patching.py,sha256=deAxY34Iz-mguBlHQ-5EO4vRhPpR9I3LQ9onV1K_KqA,8858
67
- careamics/dataset/patching/random_patching.py,sha256=61sLxA4eJN5TIWBVIDZdJahS_CkclpM7Kc_VdPj91dU,6486
68
- careamics/dataset/patching/sequential_patching.py,sha256=_l3Q2uYIhjMJMaxDdSbHC9_2kRF9eLz-Xs3r9i7j3Nc,5903
69
- careamics/dataset/patching/validate_patch_dimension.py,sha256=sQQ0-4b4uu60MNKkoWv95KxQ80J7Ku0CEk0-kAXlKeI,2134
70
- careamics/dataset/tiling/__init__.py,sha256=XynyAz85hVfkLtrG0lrMr_aBQm_YEwfu5uFcXMGHlOA,190
71
- careamics/dataset/tiling/collate_tiles.py,sha256=OrPZ-n-V3uGOc_7CcPnyEJqdbEVDlTfJfWmZnyBZ-HA,978
72
- careamics/dataset/tiling/lvae_tiled_patching.py,sha256=AOS_1m1q74YhfLgWeUx1xkRNvgw1dq6Vi7yJhmMR-A0,12992
73
- careamics/dataset/tiling/tiled_patching.py,sha256=ouxUWvttzmTY310CuiR25IGNVWgksVQAXoN4IXSi_G0,5942
74
- careamics/file_io/__init__.py,sha256=vdIx5JV3JwoyOeWnY_0tY6aekwPFy_8hBqe0Yj-aOH8,334
75
- careamics/file_io/read/__init__.py,sha256=I2Ios3fOoe_7f1nYT88qt2hcl0107aJCvA8yPfdpVIA,259
76
- careamics/file_io/read/get_func.py,sha256=yGXD0rTFD7u70FR0axrQtWies0aYW3iQ6f0Wfcd8z-8,1394
77
- careamics/file_io/read/tiff.py,sha256=UMofW33rvByK9B1zYGhSrWAiAA3uQUV3OVK7cq9d0gQ,1359
78
- careamics/file_io/read/zarr.py,sha256=2jzREAnJDQSv0qmsL-v00BxmiZ_sp0ijq667LZSQ_hY,1685
79
- careamics/file_io/write/__init__.py,sha256=syy-e55OKPqa2Fn7G6szJrAmmJ4JUJyr4Y4ZSnKK0zg,283
80
- careamics/file_io/write/get_func.py,sha256=hyGHe1RX-lfa9QFAnwRCz_gS0NRiRnXEtg4Bdeh2Esc,1627
81
- careamics/file_io/write/tiff.py,sha256=tBGIgl-I1sMyBivgx-dOTBykXBODkgwPH8MT3_4KAE8,1050
82
- careamics/lightning/__init__.py,sha256=iS9dYpYrkjyeZfodcohc25rBTPzxj9l50iTb5Jv0j0o,588
83
- careamics/lightning/lightning_module.py,sha256=1VlPDefLbDZggzZ4lZ68s2xi-thwS1MGTtD37RBifT0,22466
84
- careamics/lightning/predict_data_module.py,sha256=JNwujK6QwObSx6P25ghpGl2f2gGT3KVgYMTlonZzH20,12745
85
- careamics/lightning/train_data_module.py,sha256=prgU3d_MTBsFXZM_XNaLeXuFeSmgrhVxDk2wJwaCzaM,28512
86
- careamics/lightning/callbacks/__init__.py,sha256=neTWqF6EbBRVf0FqtBkPHeGIR3j1yTk0OASraEVN0Pg,312
87
- careamics/lightning/callbacks/hyperparameters_callback.py,sha256=u45knOZHwoVHz6yYfrnERQuozT_SfZ1OrKP0QjeU4EM,1495
88
- careamics/lightning/callbacks/progress_bar_callback.py,sha256=8HvNSWZldixd6pjz0dLDo0apIbzTovv5smKmZ6tZQ8U,2444
89
- careamics/lightning/callbacks/prediction_writer_callback/__init__.py,sha256=tATV4kFZ8h4ZpN866URsf2vbEfY9HlHN4VALJcDySCY,548
90
- careamics/lightning/callbacks/prediction_writer_callback/file_path_utils.py,sha256=i4vGGiVLslafi-5iuvkAKzBgZ0BpwTTxSTo31oViFz4,1480
91
- careamics/lightning/callbacks/prediction_writer_callback/prediction_writer_callback.py,sha256=HGDyYLSak9puGEs42cI_08peAuOMaFyZaRkcpv_n0iY,8183
92
- careamics/lightning/callbacks/prediction_writer_callback/write_strategy.py,sha256=aqc6DDewD4n3tbLfqS4y-FfNKV9zy3-CZ0K2Mu16Mms,12567
93
- careamics/lightning/callbacks/prediction_writer_callback/write_strategy_factory.py,sha256=F1IpbNNgkv5eK8Xpqp7wqv2lsqEdP1wMRlBL7RBn93U,7114
94
- careamics/losses/__init__.py,sha256=4s73OlMCGJdNCVfOteJPyaPwflgIiu_fj3zpKLx7j6o,351
95
- careamics/losses/loss_factory.py,sha256=oPacrkwiabsmiW_r--IxX-XPRbzezZUvOuWKbUw5LiI,1518
96
- careamics/losses/fcn/__init__.py,sha256=kf92MKFGHr6upiztZVgWwtGPf734DZyub92Rn8uEq8o,18
97
- careamics/losses/fcn/losses.py,sha256=NdOz29hzJ7D26p13q-g0NWoYwNauIWrP2xWww6YPbB8,2360
98
- careamics/losses/lvae/__init__.py,sha256=0FNtMLHrOMfagtWkaBdz1NTjyf2y0QLgysxJv5jq5uw,19
99
- careamics/losses/lvae/loss_utils.py,sha256=QxzA2N1TglR4H0X0uyTWWytDagE1lA9IB_TK1lms3ao,2720
100
- careamics/losses/lvae/losses.py,sha256=wHT1dx04BZ_OI-_S7cFQ5hFmMetm6FSnuZfwZBBtIpY,17977
101
- careamics/lvae_training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- careamics/lvae_training/calibration.py,sha256=CvtmRC1s-2XHDjt1XG3RdHlPgCOaoCweJMKZYmDmgnU,6508
103
- careamics/lvae_training/eval_utils.py,sha256=RU1FYK9z1Hno6b6n7XyTTOu6An0MX0_6C8Og9FFqpyM,30949
104
- careamics/lvae_training/get_config.py,sha256=dwVfaQS7nzjQss0E1gGLUpQpjPcOWwLgIhbu3Z0I1rg,3068
105
- careamics/lvae_training/lightning_module.py,sha256=ryr7iHqCMzCl5esi6_gEcnKFDQkMrw0EXK9Zfgv1Nek,27186
106
- careamics/lvae_training/metrics.py,sha256=KTDAKhe3vh-YxzGibjtkIG2nnUyujbnwqX4xGwaRXwE,6718
107
- careamics/lvae_training/train_lvae.py,sha256=lJEBlBGdISVkZBcEnPNRYgJ7VbapYzZHRaFOrZ0xYGE,11080
108
- careamics/lvae_training/train_utils.py,sha256=e-d4QsF-li8MmAPkAmB1daHpkuU16nBTnQFZYqpTjn4,3567
109
- careamics/lvae_training/dataset/__init__.py,sha256=dvdHHaRA9ZfOt_uOnXkYyra2_b0Wsxs8qmrze6zxJAE,377
110
- careamics/lvae_training/dataset/config.py,sha256=hGIggj5uOZrFBK54o9vii0sG5WGhF_E32URKIIzQMec,4342
111
- careamics/lvae_training/dataset/lc_dataset.py,sha256=xErygllUu6Q-PfPZ24sHf5_NP7YGHD2NVyzmDZgDd2U,10697
112
- careamics/lvae_training/dataset/multich_dataset.py,sha256=J1QWXlTSLZ40D3MFKw2StarZpq82sFeaHSXk7j48RAc,41608
113
- careamics/lvae_training/dataset/multifile_dataset.py,sha256=hJBs6iBrf_FcyUYzg8rDjvKEICHxDYyXVOj-5L0F6FE,10273
114
- careamics/lvae_training/dataset/types.py,sha256=zfi-zMmMe7GTaX-MYrYfVbAM4D2LPHrJkmqSFl9ulxA,632
115
- careamics/lvae_training/dataset/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- careamics/lvae_training/dataset/utils/data_utils.py,sha256=8PvRPqSbYHPCl87cycZHxXIFOT_EoBV-8XCt3ZLh36s,3125
117
- careamics/lvae_training/dataset/utils/empty_patch_fetcher.py,sha256=OFjeqhZ6vFULJsF5tnoByhEhE8aLHujFToU_yyqMCP4,2266
118
- careamics/lvae_training/dataset/utils/index_manager.py,sha256=Gt1I-7lBaQDBgqguOmofAFDdAsJQfz7ktvq4_I80F9c,10084
119
- careamics/lvae_training/dataset/utils/index_switcher.py,sha256=ZoMi8LsaIkm8MFqIFaxN4oQGyzCcwOlCom8SYNus15E,6716
120
- careamics/model_io/__init__.py,sha256=HITzjiuZQwo-rQ2_Ma3bz9l7PDANv1_S489E-tffV9s,155
121
- careamics/model_io/bmz_io.py,sha256=P0fMebLPFPQCuznS8qHfIuLFrRbsRM_SaXhWFq0nVRQ,8138
122
- careamics/model_io/model_io_utils.py,sha256=Dc_0YmcUfS3HuEVgN7KFfbDH8SGywT_eUCIJDVpEUHc,2755
123
- careamics/model_io/bioimage/__init__.py,sha256=r94nu8WDAvj0Fbu4C-iJXdOhfSQXeZBvN3UKsLG0RNI,298
124
- careamics/model_io/bioimage/_readme_factory.py,sha256=hpHtnKtousPthBESs3gPcbEytT2M6KAeD5uxzcKr280,3434
125
- careamics/model_io/bioimage/bioimage_utils.py,sha256=YVr75SDfafOiuYGonPbcsO-xVS0wI1WkmWQQZx6DXYQ,1246
126
- careamics/model_io/bioimage/cover_factory.py,sha256=8URrpEfJvdHBJeSrh5H2IQHSUybsTyAOR3_A-YYAAlw,4583
127
- careamics/model_io/bioimage/model_description.py,sha256=0swY2p5OHsc9Npfv4KQE4hDdh-1_n5eITfG41FM1vF0,10063
128
- careamics/models/__init__.py,sha256=Xui2BLJd1I2r_E3Sj24fJALFTi2FGtfNscUWj_0c9Hk,93
129
- careamics/models/activation.py,sha256=nu3sDgd7Lsyw8rvmUwxNN-7SM09cEMfxZ9DRDzdSKns,1049
130
- careamics/models/layers.py,sha256=_rSCMu0x6O88LeJL-dKkqPFp5A8aGD6s9ZQ7KhDRy-o,13770
131
- careamics/models/model_factory.py,sha256=hqhV8sDq1JBLKt_7Vrw4wJSugKmBt2FIWyO7ePnJSTo,1759
132
- careamics/models/unet.py,sha256=3pXpiCIw7WUaDV0Jmczkxi99C5-Zu3NpQpWxgRkeGL8,14321
133
- careamics/models/lvae/__init__.py,sha256=6dT6uqgT__V08EjoTGxXguTbTkySZmByS9J2Bj6WWLM,53
134
- careamics/models/lvae/layers.py,sha256=UPxZiZjgnBnPs_wdSzcP-_s17MEw4P1CoIZzn4OdUA0,57944
135
- careamics/models/lvae/likelihoods.py,sha256=SHsaZZTjGg8TO6JkvjdQOZtu8CCOvlSxtqRBZhrGXKk,12098
136
- careamics/models/lvae/lvae.py,sha256=B-GZegbvCJ_cGwQ49hLtE9OIKPUxSyd3SsBfb8llHfs,34303
137
- careamics/models/lvae/noise_models.py,sha256=dFWM9DDJ7qzsyiT8sDWR8THbEiZmu3XnW5UzGJl7Mck,21834
138
- careamics/models/lvae/stochastic.py,sha256=019M6BBR6GtYjUVF6pcOTOsfEAYeg0vclz55V6Fl4yY,16588
139
- careamics/models/lvae/utils.py,sha256=EE3paHu3vhCaqfOrGypzUsImZJO94uBhx8q6kZ-R36o,11516
140
- careamics/prediction_utils/__init__.py,sha256=uYKzirlF-unFL9GbDPxFnYgOwSjGAtik9fonU7DfuEY,270
141
- careamics/prediction_utils/lvae_prediction.py,sha256=ZwPFCSeUGsULIMoMQWRYKHfLFaDm7UKyGaUMVfSUqfs,6210
142
- careamics/prediction_utils/lvae_tiling_manager.py,sha256=SI-JaJvLrKWBSHdm-FjcqWdbhlcflTRiKxYF7CSGzvA,13736
143
- careamics/prediction_utils/prediction_outputs.py,sha256=p3Nbw9wRLU_M5uixPbzj_DmfxcSL7Y8rAQ_aTx70KQI,4082
144
- careamics/prediction_utils/stitch_prediction.py,sha256=HlfkJDirzbmil6Db-kFzlmhUREmGEZ2Ag8g-URbdIb0,3899
145
- careamics/transforms/__init__.py,sha256=VIHIsC8sMAh1TCm67ifB816Zp-LRo6rAONPuT2Qs3bs,483
146
- careamics/transforms/compose.py,sha256=EOEsga7oGNZZW8zerOz7TgirbLpGyaLf1WEnTXlRjoo,5677
147
- careamics/transforms/n2v_manipulate.py,sha256=op-BT3LJaHgHULuqRRqTI6e45FtvvUZ0y-Smzbrh2WU,5693
148
- careamics/transforms/normalize.py,sha256=fxs813ydCWrIzrxFzkbk1gW8OGSr0esQSrNUFSJuGL0,7715
149
- careamics/transforms/pixel_manipulation.py,sha256=sMR3A1GrgL5AactzZYzvvtz7L13sA34ckVEoNTBmDqM,13362
150
- careamics/transforms/struct_mask_parameters.py,sha256=jE29Li9sx3olaRnqYfJsSlKi2t0WQzJmCm9aCbIQEsA,421
151
- careamics/transforms/transform.py,sha256=cEqc4ci8na70i-HIGYC7udRfVa8D_8OjdRVrr3txLvQ,464
152
- careamics/transforms/tta.py,sha256=78S7Df9rLHmEVSQSI1qDcRrRJGauyG3oaIrXkckCkmw,2335
153
- careamics/transforms/xy_flip.py,sha256=64BDo8bmAEwO1TNhbIYcUJPzzVmY5ZyNaSNmmGLkn0U,3842
154
- careamics/transforms/xy_random_rotate90.py,sha256=0SsCTPGlpt-VCJvmr55KRULp3dwFMBN8fTDboJcEbWg,3192
155
- careamics/utils/__init__.py,sha256=rG_dnqX7rdyNTFWlDkIdNtDwwMQBpg_ym14ZFeYrWfs,402
156
- careamics/utils/autocorrelation.py,sha256=M_WYzrEOQngc5iSXWar4S3-EOnK6DfYHPC2vVMeu_Bs,945
157
- careamics/utils/base_enum.py,sha256=bz1D8mDx5V5hdnJ3WAzJXWHJTbgwAky5FprUt9F5cMA,1387
158
- careamics/utils/context.py,sha256=Ljf70OR1FcYpsVpxb5Sr2fzmPVIZgDS1uZob_3BcELg,1409
159
- careamics/utils/lightning_utils.py,sha256=DMMmqx-AlNtddBCqm8b_W3h09qUetz32OMPhdDieFwg,1769
160
- careamics/utils/logging.py,sha256=coIscjkDYpqcsGnsONuYOdIYd6_gHxdnYIZ-e9Y2Ybg,10322
161
- careamics/utils/metrics.py,sha256=yAoCvrZ1kQx-kT9xdTBYz-oh0I52ef6uBnw8qgzpwn8,10318
162
- careamics/utils/path_utils.py,sha256=8AugiG5DOmzgSnTCJI8vypXaPE0XhnR-9pzeiFUZ-0I,554
163
- careamics/utils/ram.py,sha256=tksyn8dVX_iJXmrDZDGub32hFZWIaNxnMheO5G1p43I,244
164
- careamics/utils/receptive_field.py,sha256=Y2h4c8S6glX3qcx5KHDmO17Kkuyey9voxfoXyqcAfiM,3296
165
- careamics/utils/serializers.py,sha256=mILUhz75IMpGKnEzcYu9hlOPG8YIiIW09fk6eZM7Y8k,1427
166
- careamics/utils/torch_utils.py,sha256=dmRHalwp8F5lnQIkJzpt3qhHXFi8anD4OTPr9-x9jf4,3016
167
- careamics-0.0.5.dist-info/METADATA,sha256=3Q2mgo1N_eoKlR_xF-6eHAu3Vqff8Ncp_FAtpRPUDC0,3874
168
- careamics-0.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
169
- careamics-0.0.5.dist-info/entry_points.txt,sha256=2fSNVXJWDJgFLATVj7MkjFNvpl53amG8tUzC3jf7G1s,53
170
- careamics-0.0.5.dist-info/licenses/LICENSE,sha256=6zdNW-k_xHRKYWUf9tDI_ZplUciFHyj0g16DYuZ2udw,1509
171
- careamics-0.0.5.dist-info/RECORD,,