careamics 0.1.0rc5__py3-none-any.whl → 0.1.0rc7__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.
- careamics/callbacks/hyperparameters_callback.py +10 -3
- careamics/callbacks/progress_bar_callback.py +37 -4
- careamics/careamist.py +164 -231
- careamics/config/algorithm_model.py +5 -18
- careamics/config/architectures/architecture_model.py +7 -0
- careamics/config/architectures/custom_model.py +11 -4
- careamics/config/architectures/register_model.py +3 -1
- careamics/config/architectures/unet_model.py +2 -0
- careamics/config/architectures/vae_model.py +2 -0
- careamics/config/callback_model.py +3 -15
- careamics/config/configuration_example.py +4 -5
- careamics/config/configuration_factory.py +27 -41
- careamics/config/configuration_model.py +11 -11
- careamics/config/data_model.py +89 -63
- careamics/config/inference_model.py +28 -81
- careamics/config/optimizer_models.py +11 -11
- careamics/config/support/__init__.py +0 -2
- careamics/config/support/supported_activations.py +2 -0
- careamics/config/support/supported_algorithms.py +3 -1
- careamics/config/support/supported_architectures.py +2 -0
- careamics/config/support/supported_data.py +2 -0
- careamics/config/support/supported_loggers.py +2 -0
- careamics/config/support/supported_losses.py +2 -0
- careamics/config/support/supported_optimizers.py +2 -0
- careamics/config/support/supported_pixel_manipulations.py +3 -3
- careamics/config/support/supported_struct_axis.py +2 -0
- careamics/config/support/supported_transforms.py +4 -16
- careamics/config/tile_information.py +28 -58
- careamics/config/transformations/__init__.py +3 -2
- careamics/config/transformations/normalize_model.py +32 -4
- careamics/config/transformations/xy_flip_model.py +43 -0
- careamics/config/transformations/xy_random_rotate90_model.py +11 -3
- careamics/config/validators/validator_utils.py +1 -1
- careamics/conftest.py +12 -0
- careamics/dataset/__init__.py +12 -1
- careamics/dataset/dataset_utils/__init__.py +8 -1
- careamics/dataset/dataset_utils/dataset_utils.py +4 -4
- careamics/dataset/dataset_utils/file_utils.py +4 -3
- careamics/dataset/dataset_utils/iterate_over_files.py +83 -0
- careamics/dataset/dataset_utils/read_tiff.py +6 -11
- careamics/dataset/dataset_utils/read_utils.py +2 -0
- careamics/dataset/dataset_utils/read_zarr.py +11 -7
- careamics/dataset/dataset_utils/running_stats.py +186 -0
- careamics/dataset/in_memory_dataset.py +88 -154
- careamics/dataset/in_memory_pred_dataset.py +88 -0
- careamics/dataset/in_memory_tiled_pred_dataset.py +129 -0
- careamics/dataset/iterable_dataset.py +121 -191
- careamics/dataset/iterable_pred_dataset.py +121 -0
- careamics/dataset/iterable_tiled_pred_dataset.py +139 -0
- careamics/dataset/patching/patching.py +109 -39
- careamics/dataset/patching/random_patching.py +17 -6
- careamics/dataset/patching/sequential_patching.py +14 -8
- careamics/dataset/patching/validate_patch_dimension.py +7 -3
- careamics/dataset/tiling/__init__.py +10 -0
- careamics/dataset/tiling/collate_tiles.py +33 -0
- careamics/dataset/{patching → tiling}/tiled_patching.py +7 -5
- careamics/dataset/zarr_dataset.py +2 -0
- careamics/lightning_datamodule.py +46 -25
- careamics/lightning_module.py +19 -9
- careamics/lightning_prediction_datamodule.py +54 -84
- careamics/losses/__init__.py +2 -3
- careamics/losses/loss_factory.py +1 -1
- careamics/losses/losses.py +11 -7
- careamics/lvae_training/__init__.py +0 -0
- careamics/lvae_training/data_modules.py +1220 -0
- careamics/lvae_training/data_utils.py +618 -0
- careamics/lvae_training/eval_utils.py +905 -0
- careamics/lvae_training/get_config.py +84 -0
- careamics/lvae_training/lightning_module.py +701 -0
- careamics/lvae_training/metrics.py +214 -0
- careamics/lvae_training/train_lvae.py +339 -0
- careamics/lvae_training/train_utils.py +121 -0
- careamics/model_io/bioimage/model_description.py +40 -32
- careamics/model_io/bmz_io.py +3 -3
- careamics/model_io/model_io_utils.py +5 -2
- careamics/models/activation.py +2 -0
- careamics/models/layers.py +121 -25
- careamics/models/lvae/__init__.py +0 -0
- careamics/models/lvae/layers.py +1998 -0
- careamics/models/lvae/likelihoods.py +312 -0
- careamics/models/lvae/lvae.py +985 -0
- careamics/models/lvae/noise_models.py +409 -0
- careamics/models/lvae/utils.py +395 -0
- careamics/models/model_factory.py +1 -1
- careamics/models/unet.py +35 -14
- careamics/prediction_utils/__init__.py +12 -0
- careamics/prediction_utils/create_pred_datamodule.py +185 -0
- careamics/prediction_utils/prediction_outputs.py +165 -0
- careamics/prediction_utils/stitch_prediction.py +100 -0
- careamics/transforms/__init__.py +2 -2
- careamics/transforms/compose.py +33 -7
- careamics/transforms/n2v_manipulate.py +52 -14
- careamics/transforms/normalize.py +171 -48
- careamics/transforms/pixel_manipulation.py +35 -11
- careamics/transforms/struct_mask_parameters.py +3 -1
- careamics/transforms/transform.py +10 -19
- careamics/transforms/tta.py +43 -29
- careamics/transforms/xy_flip.py +123 -0
- careamics/transforms/xy_random_rotate90.py +38 -5
- careamics/utils/base_enum.py +28 -0
- careamics/utils/path_utils.py +2 -0
- careamics/utils/ram.py +4 -2
- careamics/utils/receptive_field.py +93 -87
- {careamics-0.1.0rc5.dist-info → careamics-0.1.0rc7.dist-info}/METADATA +8 -6
- careamics-0.1.0rc7.dist-info/RECORD +130 -0
- {careamics-0.1.0rc5.dist-info → careamics-0.1.0rc7.dist-info}/WHEEL +1 -1
- careamics/config/noise_models.py +0 -162
- careamics/config/support/supported_extraction_strategies.py +0 -25
- careamics/config/transformations/nd_flip_model.py +0 -27
- careamics/lightning_prediction_loop.py +0 -116
- careamics/losses/noise_model_factory.py +0 -40
- careamics/losses/noise_models.py +0 -524
- careamics/prediction/__init__.py +0 -7
- careamics/prediction/stitch_prediction.py +0 -74
- careamics/transforms/nd_flip.py +0 -67
- careamics/utils/running_stats.py +0 -43
- careamics-0.1.0rc5.dist-info/RECORD +0 -111
- {careamics-0.1.0rc5.dist-info → careamics-0.1.0rc7.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Here there are functions to define a config file.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
|
|
7
|
+
import ml_collections
|
|
8
|
+
|
|
9
|
+
from careamics.lvae_training.data_utils import DataType
|
|
10
|
+
from careamics.models.lvae.utils import LossType
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _init_config():
|
|
14
|
+
"""
|
|
15
|
+
Create a default config object with all the required fields.
|
|
16
|
+
"""
|
|
17
|
+
config = ml_collections.ConfigDict()
|
|
18
|
+
|
|
19
|
+
config.data = ml_collections.ConfigDict()
|
|
20
|
+
|
|
21
|
+
config.model = ml_collections.ConfigDict()
|
|
22
|
+
|
|
23
|
+
config.loss = ml_collections.ConfigDict()
|
|
24
|
+
|
|
25
|
+
config.training = ml_collections.ConfigDict()
|
|
26
|
+
|
|
27
|
+
config.workdir = os.getcwd()
|
|
28
|
+
config.datadir = ""
|
|
29
|
+
return config
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get_config():
|
|
33
|
+
config = _init_config()
|
|
34
|
+
|
|
35
|
+
data = config.data
|
|
36
|
+
data.image_size = 128 # the patch size
|
|
37
|
+
# data.grid_size = 32 # the retained sub-patch when doing inner tiling
|
|
38
|
+
data.multiscale_lowres_count = (
|
|
39
|
+
None # todo: this one will be an issue in current careamics
|
|
40
|
+
)
|
|
41
|
+
data.num_channels = 2 # in careamics probably in lvae pydantic model
|
|
42
|
+
|
|
43
|
+
model = config.model # all in lvae pydantic model
|
|
44
|
+
model.z_dims = [128, 128, 128, 128]
|
|
45
|
+
model.n_filters = 64
|
|
46
|
+
model.dropout = 0.1
|
|
47
|
+
model.nonlin = "elu"
|
|
48
|
+
model.enable_noise_model = True
|
|
49
|
+
model.analytical_kl = False
|
|
50
|
+
model.predict_logvar = None
|
|
51
|
+
|
|
52
|
+
loss = config.loss # in algorithm config
|
|
53
|
+
loss.loss_type = LossType.Elbo # LossType.Elbo or LossType.DenoiSplitMuSplit
|
|
54
|
+
loss.kl_loss_formulation = "" # '', 'usplit', 'denoisplit'
|
|
55
|
+
|
|
56
|
+
training = config.training
|
|
57
|
+
training.lr = 0.001 # in algorithm config
|
|
58
|
+
training.lr_scheduler_patience = 30
|
|
59
|
+
training.batch_size = 32 # in data config
|
|
60
|
+
training.earlystop_patience = (
|
|
61
|
+
200 # in training config in the callbacks (early stopping)
|
|
62
|
+
)
|
|
63
|
+
training.max_epochs = 400 # training config
|
|
64
|
+
training.pre_trained_ckpt_fpath = "" # this is through the careamics API
|
|
65
|
+
|
|
66
|
+
# Set of attributes not to include in the PyDantic data model
|
|
67
|
+
training.num_workers = (
|
|
68
|
+
4 # this is in the data config, passed in the dataloader parameters
|
|
69
|
+
)
|
|
70
|
+
training.grad_clip_norm_value = 0.5 # Taken from https://github.com/openai/vdvae/blob/main/hps.py#L38 # this maybe should be in a new trainer_parameters dict in the training config pydantic model
|
|
71
|
+
training.gradient_clip_algorithm = "value"
|
|
72
|
+
training.precision = 32
|
|
73
|
+
data.data_type = DataType.BioSR_MRC
|
|
74
|
+
data.ch1_fname = "ER/GT_all.mrc"
|
|
75
|
+
data.ch2_fname = "Microtubules/GT_all.mrc"
|
|
76
|
+
model.noise_model_ch1_fpath = "/group/jug/ashesh/training_pre_eccv/noise_model/2402/429/GMMNoiseModel_ER-GT_all__6_4_Clip0.0-1.0_Sig0.125_UpNone_Norm0_bootstrap.npz"
|
|
77
|
+
model.noise_model_ch2_fpath = "/group/jug/ashesh/training_pre_eccv/noise_model/2402/434/GMMNoiseModel_Microtubules-GT_all__6_4_Clip0.0-1.0_Sig0.125_UpNone_Norm0_bootstrap.npz"
|
|
78
|
+
# Parameters to apply synthetic noise to data (e.g., used with BioSR data for denoiSplit)
|
|
79
|
+
data.poisson_noise_factor = 1000
|
|
80
|
+
data.enable_gaussian_noise = True
|
|
81
|
+
data.synthetic_gaussian_scale = 4450
|
|
82
|
+
data.input_has_dependant_noise = True
|
|
83
|
+
|
|
84
|
+
return config
|