careamics 0.0.8__py3-none-any.whl → 0.0.10__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/__init__.py +0 -4
- careamics/careamist.py +0 -1
- careamics/config/__init__.py +1 -13
- careamics/config/algorithms/care_algorithm_model.py +84 -0
- careamics/config/algorithms/n2n_algorithm_model.py +85 -0
- careamics/config/algorithms/n2v_algorithm_model.py +269 -1
- careamics/config/configuration.py +21 -13
- careamics/config/configuration_factories.py +179 -187
- careamics/config/configuration_io.py +2 -2
- careamics/config/data/__init__.py +1 -4
- careamics/config/data/data_model.py +46 -62
- careamics/config/support/supported_transforms.py +1 -1
- careamics/config/transformations/__init__.py +0 -2
- careamics/config/transformations/n2v_manipulate_model.py +15 -0
- careamics/config/transformations/transform_unions.py +0 -13
- careamics/dataset/dataset_utils/iterate_over_files.py +2 -2
- careamics/dataset/in_memory_dataset.py +3 -10
- careamics/dataset/in_memory_pred_dataset.py +3 -5
- careamics/dataset/in_memory_tiled_pred_dataset.py +2 -2
- careamics/dataset/iterable_dataset.py +2 -2
- careamics/dataset/iterable_pred_dataset.py +3 -5
- careamics/dataset/iterable_tiled_pred_dataset.py +3 -3
- careamics/dataset_ng/dataset/__init__.py +3 -0
- careamics/dataset_ng/dataset/dataset.py +184 -0
- careamics/dataset_ng/demo_dataset.ipynb +271 -0
- careamics/dataset_ng/demo_patch_extractor.py +53 -0
- careamics/dataset_ng/demo_patch_extractor_factory.py +37 -0
- careamics/dataset_ng/patch_extractor/__init__.py +10 -0
- careamics/dataset_ng/patch_extractor/demo_custom_image_stack_loader.py +111 -0
- careamics/dataset_ng/patch_extractor/image_stack/__init__.py +9 -0
- careamics/dataset_ng/patch_extractor/image_stack/image_stack_protocol.py +53 -0
- careamics/dataset_ng/patch_extractor/image_stack/in_memory_image_stack.py +55 -0
- careamics/dataset_ng/patch_extractor/image_stack/zarr_image_stack.py +163 -0
- careamics/dataset_ng/patch_extractor/image_stack_loader.py +140 -0
- careamics/dataset_ng/patch_extractor/patch_extractor.py +29 -0
- careamics/dataset_ng/patch_extractor/patch_extractor_factory.py +208 -0
- careamics/dataset_ng/patching_strategies/__init__.py +11 -0
- careamics/dataset_ng/patching_strategies/patching_strategy_protocol.py +82 -0
- careamics/dataset_ng/patching_strategies/random_patching.py +338 -0
- careamics/dataset_ng/patching_strategies/sequential_patching.py +75 -0
- careamics/lightning/lightning_module.py +78 -27
- careamics/lightning/train_data_module.py +8 -39
- careamics/losses/fcn/losses.py +17 -10
- careamics/lvae_training/eval_utils.py +21 -8
- careamics/model_io/bioimage/bioimage_utils.py +5 -3
- careamics/model_io/bioimage/model_description.py +3 -3
- careamics/model_io/bmz_io.py +2 -2
- careamics/model_io/model_io_utils.py +2 -2
- careamics/transforms/__init__.py +2 -1
- careamics/transforms/compose.py +5 -15
- careamics/transforms/n2v_manipulate_torch.py +143 -0
- careamics/transforms/pixel_manipulation.py +1 -0
- careamics/transforms/pixel_manipulation_torch.py +418 -0
- careamics/utils/version.py +38 -0
- {careamics-0.0.8.dist-info → careamics-0.0.10.dist-info}/METADATA +7 -8
- {careamics-0.0.8.dist-info → careamics-0.0.10.dist-info}/RECORD +59 -42
- careamics/config/care_configuration.py +0 -100
- careamics/config/data/n2v_data_model.py +0 -193
- careamics/config/n2n_configuration.py +0 -101
- careamics/config/n2v_configuration.py +0 -266
- {careamics-0.0.8.dist-info → careamics-0.0.10.dist-info}/WHEEL +0 -0
- {careamics-0.0.8.dist-info → careamics-0.0.10.dist-info}/entry_points.txt +0 -0
- {careamics-0.0.8.dist-info → careamics-0.0.10.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,39 +1,35 @@
|
|
|
1
|
-
careamics/__init__.py,sha256=
|
|
2
|
-
careamics/careamist.py,sha256=
|
|
1
|
+
careamics/__init__.py,sha256=eHsl7oE8HTKmi7yLMj8Yyp0RbdtN3QDmQQb-4Sn9d8M,475
|
|
2
|
+
careamics/careamist.py,sha256=OhBkchHIVIvLyk57R5UXt2Euy4e_EDSbNp5NXJ53hS8,37588
|
|
3
3
|
careamics/conftest.py,sha256=Od4WcaaP0UP-XUMrFr_oo4e6c2hi_RvNbuaRTopwlmI,911
|
|
4
4
|
careamics/py.typed,sha256=esB4cHc6c07uVkGtqf8at7ttEnprwRxwk8obY8Qumq4,187
|
|
5
5
|
careamics/cli/__init__.py,sha256=LbM9bVtU1dy-khmdiIDXwvKy2v8wPBCEUuWqV_8rosA,106
|
|
6
6
|
careamics/cli/conf.py,sha256=oixGRZNylW-NTM_rkDtQkSRw8KUYwtmUC_hK5BEeLnA,13074
|
|
7
7
|
careamics/cli/main.py,sha256=S4B3c1ZN-OQK0l2_W42CaW0KmF_Pe_y4pKgn_UOuyDg,6564
|
|
8
8
|
careamics/cli/utils.py,sha256=q_dmG7lxg_FT62qX9fPilIWL1M8ibhLnnhUKqa4knPI,660
|
|
9
|
-
careamics/config/__init__.py,sha256=
|
|
9
|
+
careamics/config/__init__.py,sha256=K0N1GIqFCYhpPjalZG-Ygap6Ew_dDAC0uw5Npzhg9Lk,1524
|
|
10
10
|
careamics/config/callback_model.py,sha256=EeYHqpMIPQwyNxLRzzX32Uncl5mZuB1bJO76RHpNymg,4555
|
|
11
|
-
careamics/config/
|
|
12
|
-
careamics/config/
|
|
13
|
-
careamics/config/
|
|
14
|
-
careamics/config/configuration_io.py,sha256=ks9R8lRCBY_m0sdy1k4ZWFPKEFSp7K9X47jCG4d0FY4,2353
|
|
11
|
+
careamics/config/configuration.py,sha256=D7i_g48P7d4H4_YSFyvDh9tRM7vLhM1mnU_XMeCC1HU,11193
|
|
12
|
+
careamics/config/configuration_factories.py,sha256=NhheOPkVhIF1cwz0FGNLQrxOByRQGrw-aZ_vGNIE8UE,34599
|
|
13
|
+
careamics/config/configuration_io.py,sha256=P-bP1kzkXxJWOEFP02dEZFNmpuLAPJfJtYhX4bFeaKk,2324
|
|
15
14
|
careamics/config/inference_model.py,sha256=UE_-ZmCX6LFCbDBOwyGnvuAboF_JNX2m2LcF0WiwgCI,6961
|
|
16
15
|
careamics/config/likelihood_model.py,sha256=VorUtc0_-xIWNxwVrd1kBba-003ICdVMtxpcDCxH4Io,2259
|
|
17
16
|
careamics/config/loss_model.py,sha256=yYcUBS90Qyon1MxeaHiVP3dJHPJFC0GUvWKGcAb3IHk,2036
|
|
18
|
-
careamics/config/n2n_configuration.py,sha256=QoHnEak0LiG6rBIXnmx61Chkz-Q0jr2Qt9I0NnmgZo4,2667
|
|
19
|
-
careamics/config/n2v_configuration.py,sha256=5MagUFaVZ-9VGIiaKD-4RRkFpJen2imMoR3Lu07BD14,8489
|
|
20
17
|
careamics/config/nm_model.py,sha256=5dAhDBLa4WPfKaNEK6ATNsSUwtlH8u8gYweEA4gZP6g,4758
|
|
21
18
|
careamics/config/optimizer_models.py,sha256=OWpTydRBBR8wt_af1mZHNNwvL_RtnRFopAOdgjzLo30,5750
|
|
22
19
|
careamics/config/tile_information.py,sha256=c-_xrVPOgcnjiEzQ-9A_GhNPamObkMANbeHaRP29R-4,2059
|
|
23
20
|
careamics/config/training_model.py,sha256=67_ipo_-LxhT4-WqAs40Sg8PjU--my43Qn3BhjvlXxM,3212
|
|
24
21
|
careamics/config/algorithms/__init__.py,sha256=on5D6zBO9Lu-Tf5To8xpF6owIFqdN7RSmZdpyXDOaNw,404
|
|
25
|
-
careamics/config/algorithms/care_algorithm_model.py,sha256
|
|
26
|
-
careamics/config/algorithms/n2n_algorithm_model.py,sha256=
|
|
27
|
-
careamics/config/algorithms/n2v_algorithm_model.py,sha256=
|
|
22
|
+
careamics/config/algorithms/care_algorithm_model.py,sha256=ncf89BC2aFPFSquJ65-Y7NpwVbvgPE0BKH6Up1OHa1s,3238
|
|
23
|
+
careamics/config/algorithms/n2n_algorithm_model.py,sha256=OZbRis9jhRKWNK1-Z_aw2tfJRuGdlJiYEYlH4Hr1FRs,3066
|
|
24
|
+
careamics/config/algorithms/n2v_algorithm_model.py,sha256=ROeVsFVY2JDMtQEZWOZc75Muh1SnOxww7_Z2BzB9bZ8,9470
|
|
28
25
|
careamics/config/algorithms/unet_algorithm_model.py,sha256=OaBFVlhsb9YhF3f2x1ImazvfnZ4_DPWvYWihRwurkeg,2587
|
|
29
26
|
careamics/config/algorithms/vae_algorithm_model.py,sha256=1ZrShUGHA7zbjSiCQwhUSv7l7Hr7MbpcLOw8ucM27p8,4680
|
|
30
27
|
careamics/config/architectures/__init__.py,sha256=lYUz56R7LDqVQWQDLkLgJL8VtOyxc_ege1r4bXGEBqA,220
|
|
31
28
|
careamics/config/architectures/architecture_model.py,sha256=gXn4gdLrQP3bmTQxIhzkEHYlodPaIp6LI-kwZl23W-Y,911
|
|
32
29
|
careamics/config/architectures/lvae_model.py,sha256=lwOiJYNUqPrZFl9SpPLYon77EiRbe2eI7pmpx45rO78,7606
|
|
33
30
|
careamics/config/architectures/unet_model.py,sha256=HJJWf-wuYTv8KXMwikdjeB8htg1QOt0IyQbMuBt1LUI,3556
|
|
34
|
-
careamics/config/data/__init__.py,sha256=
|
|
35
|
-
careamics/config/data/data_model.py,sha256=
|
|
36
|
-
careamics/config/data/n2v_data_model.py,sha256=-n5cncmcrd4-KUSmEk8rXAONMC7sfbYfGmshVNuySCU,5915
|
|
31
|
+
careamics/config/data/__init__.py,sha256=ijNcvrKQtKljmBuZ6DDxh86PMzpRob2l2JMqbPQLqPk,111
|
|
32
|
+
careamics/config/data/data_model.py,sha256=0YFN_NXL10f8h_Wr7ce6xsfOy86iZOPIkgLK-KIpeEU,12181
|
|
37
33
|
careamics/config/support/__init__.py,sha256=ktWvxbTkRXnQPS_N84l9E2B5kTZVdd64SIjsJIQKB-k,1041
|
|
38
34
|
careamics/config/support/supported_activations.py,sha256=CqOWoziIK5jZZXJO7G7cGg3TTid1POqv8FXqxjXxyME,535
|
|
39
35
|
careamics/config/support/supported_algorithms.py,sha256=w6YzcIqGZ_bS85Tw1s7TEltBDXLt4SzgN3Tc6s19dGU,946
|
|
@@ -44,29 +40,29 @@ careamics/config/support/supported_losses.py,sha256=2x5sZuxRbWJzodoL35I1mMYUUDMz
|
|
|
44
40
|
careamics/config/support/supported_optimizers.py,sha256=_2XmwzYENB6xpTedyWHUdWuGcDzdlfEAJjzm_qI3yRM,1392
|
|
45
41
|
careamics/config/support/supported_pixel_manipulations.py,sha256=rFiktUlvoFU7s1NAKEMqsXOzLw5eaw9GtCKUznvq6xc,432
|
|
46
42
|
careamics/config/support/supported_struct_axis.py,sha256=alZMA5Y-BpDymLPUEd1zqVY0xMkgl9Rv1d4ujED6sco,424
|
|
47
|
-
careamics/config/support/supported_transforms.py,sha256=
|
|
48
|
-
careamics/config/transformations/__init__.py,sha256=
|
|
49
|
-
careamics/config/transformations/n2v_manipulate_model.py,sha256=
|
|
43
|
+
careamics/config/support/supported_transforms.py,sha256=ylTiS8fUFKFwfn85gh7kKF4Trb9Q4ENPKm-XDWCe-SY,311
|
|
44
|
+
careamics/config/transformations/__init__.py,sha256=6THr9oNI06umw_cchXW9sCeBLpFIcJfGC4hdq3WvUsI,577
|
|
45
|
+
careamics/config/transformations/n2v_manipulate_model.py,sha256=IJ_MeNbVzwnmvLhBjAVZPj5fxPzUXYGYYRe5PHcWIzQ,2428
|
|
50
46
|
careamics/config/transformations/normalize_model.py,sha256=1Rkk6IkF-7ytGU6HSzP-TpOi4RRWiQJ6fOd8zammXcg,1936
|
|
51
47
|
careamics/config/transformations/transform_model.py,sha256=6UVbXnxm-LLZOQQ-ZBwWwgmS_99DiBuERLfMxrta3-8,990
|
|
52
|
-
careamics/config/transformations/transform_unions.py,sha256=
|
|
48
|
+
careamics/config/transformations/transform_unions.py,sha256=lOwwX2LZPhfb0GR8B1jtJeuoDa9jIbOmh_W0rlebS1g,784
|
|
53
49
|
careamics/config/transformations/xy_flip_model.py,sha256=zU-uZ1b1zNZWckbho3onN-B7BHKhN7jbgbNZyRQhv2s,1025
|
|
54
50
|
careamics/config/transformations/xy_random_rotate90_model.py,sha256=6sYKmtCLvz0SV1qZgBSHUTH-CUjwvHnohq1HyPntbyE,894
|
|
55
51
|
careamics/config/validators/__init__.py,sha256=zRrIse0O3ImwG97NphEupFVm3Ib9nEJhpNNrKGyDTps,423
|
|
56
52
|
careamics/config/validators/model_validators.py,sha256=9OCdlf7rmndtTpmQ8COLaEjURYYmszic_RjY9mzS-k4,1941
|
|
57
53
|
careamics/config/validators/validator_utils.py,sha256=NVkEOr5AQK4JXWNtmgeQgAaJOyieJNb5PHCjlcqNeew,2611
|
|
58
54
|
careamics/dataset/__init__.py,sha256=31vop67zbtGesENEIig-LLw1q2lCydMFc_YWgfK2Yt4,547
|
|
59
|
-
careamics/dataset/in_memory_dataset.py,sha256=
|
|
60
|
-
careamics/dataset/in_memory_pred_dataset.py,sha256=
|
|
61
|
-
careamics/dataset/in_memory_tiled_pred_dataset.py,sha256=
|
|
62
|
-
careamics/dataset/iterable_dataset.py,sha256=
|
|
63
|
-
careamics/dataset/iterable_pred_dataset.py,sha256=
|
|
64
|
-
careamics/dataset/iterable_tiled_pred_dataset.py,sha256=
|
|
55
|
+
careamics/dataset/in_memory_dataset.py,sha256=Snbq7N8lYB06m018Yz0Mgx1PE3hHLh6__DeaArKPBvs,9665
|
|
56
|
+
careamics/dataset/in_memory_pred_dataset.py,sha256=0f_lS8APDmA7KPaZjF9NmD9kjB0tGwUefALu1MEiWB8,2141
|
|
57
|
+
careamics/dataset/in_memory_tiled_pred_dataset.py,sha256=fKg3_Mmx0hXlOjuWU6lhTVRsm02D21J-IOYmTIm4UsE,3561
|
|
58
|
+
careamics/dataset/iterable_dataset.py,sha256=QsrriN62jUQ7OPbGJoyBP9z9MkJV9kipp8maWb9aIfk,9783
|
|
59
|
+
careamics/dataset/iterable_pred_dataset.py,sha256=fgrVC-jdJf8fY8WnZe4QWTAkcKz6xKcw4Zlf5DpqB34,3750
|
|
60
|
+
careamics/dataset/iterable_tiled_pred_dataset.py,sha256=062FVJyj4RQhVdne6HreKgAeBdK9UFi--BXzK76tlBk,4594
|
|
65
61
|
careamics/dataset/zarr_dataset.py,sha256=lojnK5bhiF1vyjuPtWXBrZ9sy5fT_rBvZJbbbnE-H_I,5665
|
|
66
62
|
careamics/dataset/dataset_utils/__init__.py,sha256=MJ3xriL6R4ZtmzbvLsASUWLb85Hk5AdeRaYnHpNELJQ,507
|
|
67
63
|
careamics/dataset/dataset_utils/dataset_utils.py,sha256=X83DzaOWmHdl4eOPac2IQJH3bPA43RVq0hPrFrzvIXQ,2630
|
|
68
64
|
careamics/dataset/dataset_utils/file_utils.py,sha256=ru6AtQ9LCmo6raN1-GnJEN4UyP1PbmSdR9MEys3CuHo,4094
|
|
69
|
-
careamics/dataset/dataset_utils/iterate_over_files.py,sha256=
|
|
65
|
+
careamics/dataset/dataset_utils/iterate_over_files.py,sha256=zsNhIDMHUsPMbqwG7cfuSc26Svg5hERHcrXfftKaUoY,2898
|
|
70
66
|
careamics/dataset/dataset_utils/running_stats.py,sha256=kWorioMH4S5uZj2cvUpjHB6cIUhMFa1XXwDQrrKIWdI,5752
|
|
71
67
|
careamics/dataset/patching/__init__.py,sha256=7-s12oUAZNlMOwSkxSwbD7vojQINWYFzn_4qIJ87WBg,37
|
|
72
68
|
careamics/dataset/patching/patching.py,sha256=deAxY34Iz-mguBlHQ-5EO4vRhPpR9I3LQ9onV1K_KqA,8858
|
|
@@ -77,6 +73,24 @@ careamics/dataset/tiling/__init__.py,sha256=aW_AMB9rzm0VmooUpjcyqv6sQP69RlPQMEdP
|
|
|
77
73
|
careamics/dataset/tiling/collate_tiles.py,sha256=XK0BsDQE7XwIwmOoCHJIpVC3kqjSN6nDhrJ4POVeHS8,965
|
|
78
74
|
careamics/dataset/tiling/lvae_tiled_patching.py,sha256=LYEEdjKuKaxIGFtOkhfpsE7hruBnIsD5HcW9aVH6WHI,13019
|
|
79
75
|
careamics/dataset/tiling/tiled_patching.py,sha256=6vxsqlccUqIl4Ys92JWIPs0Kn95VzaHoAYMSGcp2dh8,5956
|
|
76
|
+
careamics/dataset_ng/demo_dataset.ipynb,sha256=gAWQnodNga5I6TrjsJspjeAGWCHiy23SFE5dPvKnETE,7130
|
|
77
|
+
careamics/dataset_ng/demo_patch_extractor.py,sha256=8iCAdvmfGdTJSR59yu0WOb_4r3HshRDDMrSiOpxoh5o,1510
|
|
78
|
+
careamics/dataset_ng/demo_patch_extractor_factory.py,sha256=4NRtb9hOL0bXz2f8PHOmjoltbMhoMl8UkFXIJTf8f5Y,981
|
|
79
|
+
careamics/dataset_ng/dataset/__init__.py,sha256=V8fSRAnabpo706OVLn6l9UtQCyp5Kc5CDwD1hMOjRAA,70
|
|
80
|
+
careamics/dataset_ng/dataset/dataset.py,sha256=g0-uBKxLHVUEuRtIQnKseiExhc_yb0-pfS4icTdOFkE,6406
|
|
81
|
+
careamics/dataset_ng/patch_extractor/__init__.py,sha256=X_UBCKi_5py0HfBAGiRMcTaqEu3EdJNVRI7eSG2wmlo,298
|
|
82
|
+
careamics/dataset_ng/patch_extractor/demo_custom_image_stack_loader.py,sha256=fv-izzYW5QyMQ2Oki2sDGzXLAt51uzxxphu-NdrQMOA,2884
|
|
83
|
+
careamics/dataset_ng/patch_extractor/image_stack_loader.py,sha256=0jSF-uM05kv-nqY3tB_bcbpC0Cb7qB1CBDDqkfTvjNs,4690
|
|
84
|
+
careamics/dataset_ng/patch_extractor/patch_extractor.py,sha256=CLexpuFQ_GiNWhzRSa3HoepbBj3lvCHu9ZU5PVfYWas,748
|
|
85
|
+
careamics/dataset_ng/patch_extractor/patch_extractor_factory.py,sha256=rIEuCMUhqslzd-7DHueOAQ13y8rgxjtvjlVX3dql0zk,6017
|
|
86
|
+
careamics/dataset_ng/patch_extractor/image_stack/__init__.py,sha256=xTGRg2W_CpxsTgyiG-cHSFuXh7hwA0fGrEPm61GrsBI,225
|
|
87
|
+
careamics/dataset_ng/patch_extractor/image_stack/image_stack_protocol.py,sha256=8QLpKEVqw3Edz-hL7lmKW_06x6DcbQo20feN8XkTnsY,1543
|
|
88
|
+
careamics/dataset_ng/patch_extractor/image_stack/in_memory_image_stack.py,sha256=FS9dEY5GXKEf0oeNe7Vb005HTby4thUvzTzWwCxe3Zk,1927
|
|
89
|
+
careamics/dataset_ng/patch_extractor/image_stack/zarr_image_stack.py,sha256=hmNOl6-FMUNQS65YMSa4eAz3Rp_2es98p1_UY6S8B50,6590
|
|
90
|
+
careamics/dataset_ng/patching_strategies/__init__.py,sha256=NLSjecNI_BOhkfznjogBEkq8BP74aixjpLhhRdkS9Bo,366
|
|
91
|
+
careamics/dataset_ng/patching_strategies/patching_strategy_protocol.py,sha256=gcbprNfRxG5gEBQzqZyJIhjCfwsC80PQvx0JQ-iunJg,2308
|
|
92
|
+
careamics/dataset_ng/patching_strategies/random_patching.py,sha256=AGlvn1NsjPJY5Ku8DEn92DaKkvAjX293coqMnwi7_UY,13410
|
|
93
|
+
careamics/dataset_ng/patching_strategies/sequential_patching.py,sha256=fngTPpY6D93guFwSdHuCakDebin7eEtK7Y2OFmJ1IG8,2485
|
|
80
94
|
careamics/file_io/__init__.py,sha256=vgMI77X820VOWywAEW5W20FXfmbqBzx4V63D3V3_HhI,334
|
|
81
95
|
careamics/file_io/read/__init__.py,sha256=wf8O_o80ghrlWQ-RGEuSqcc2LU55P1B-oxTacDToygo,259
|
|
82
96
|
careamics/file_io/read/get_func.py,sha256=O_pdymjh2mc-JZ1je3ZnPAcsHc7Je3a005AMgAa0xuw,1388
|
|
@@ -86,9 +100,9 @@ careamics/file_io/write/__init__.py,sha256=CUt33cRjG9hm18L9a7XqaUKWQ_3xiuQ9ztz4A
|
|
|
86
100
|
careamics/file_io/write/get_func.py,sha256=hyGHe1RX-lfa9QFAnwRCz_gS0NRiRnXEtg4Bdeh2Esc,1627
|
|
87
101
|
careamics/file_io/write/tiff.py,sha256=tBGIgl-I1sMyBivgx-dOTBykXBODkgwPH8MT3_4KAE8,1050
|
|
88
102
|
careamics/lightning/__init__.py,sha256=ATCVAGnX08Ik4TxbIv0-cXb52UinR42JgvZh_GIMSpc,588
|
|
89
|
-
careamics/lightning/lightning_module.py,sha256=
|
|
103
|
+
careamics/lightning/lightning_module.py,sha256=_gMGKGSHOEoh00jblCX5egMI91Z0UJpIjEQ74AaVGss,24177
|
|
90
104
|
careamics/lightning/predict_data_module.py,sha256=JNwujK6QwObSx6P25ghpGl2f2gGT3KVgYMTlonZzH20,12745
|
|
91
|
-
careamics/lightning/train_data_module.py,sha256=
|
|
105
|
+
careamics/lightning/train_data_module.py,sha256=HyXeDZ_u3JLzyh1tqRBIH93spMj0iQhAP4nmHPEI4aM,26554
|
|
92
106
|
careamics/lightning/callbacks/__init__.py,sha256=eA5ltzYNzuO0uMEr1jG4wP01b0s29s5I03WGJ290qkw,312
|
|
93
107
|
careamics/lightning/callbacks/hyperparameters_callback.py,sha256=u45knOZHwoVHz6yYfrnERQuozT_SfZ1OrKP0QjeU4EM,1495
|
|
94
108
|
careamics/lightning/callbacks/progress_bar_callback.py,sha256=w-j_nk2ysyc4THKfwWbpkiKGeqNUpLGtm-8dYBgla2c,2443
|
|
@@ -100,13 +114,13 @@ careamics/lightning/callbacks/prediction_writer_callback/write_strategy_factory.
|
|
|
100
114
|
careamics/losses/__init__.py,sha256=nSWbkBcFhkyUkIT2wVcULqpieyY2Oro39NXZTtfQpXo,351
|
|
101
115
|
careamics/losses/loss_factory.py,sha256=oPacrkwiabsmiW_r--IxX-XPRbzezZUvOuWKbUw5LiI,1518
|
|
102
116
|
careamics/losses/fcn/__init__.py,sha256=kf92MKFGHr6upiztZVgWwtGPf734DZyub92Rn8uEq8o,18
|
|
103
|
-
careamics/losses/fcn/losses.py,sha256=
|
|
117
|
+
careamics/losses/fcn/losses.py,sha256=KuoXqL24QbTxDdRmQJbERC95x0f3u4T0S77dqBZRarQ,2513
|
|
104
118
|
careamics/losses/lvae/__init__.py,sha256=0FNtMLHrOMfagtWkaBdz1NTjyf2y0QLgysxJv5jq5uw,19
|
|
105
119
|
careamics/losses/lvae/loss_utils.py,sha256=QxzA2N1TglR4H0X0uyTWWytDagE1lA9IB_TK1lms3ao,2720
|
|
106
120
|
careamics/losses/lvae/losses.py,sha256=wHT1dx04BZ_OI-_S7cFQ5hFmMetm6FSnuZfwZBBtIpY,17977
|
|
107
121
|
careamics/lvae_training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
122
|
careamics/lvae_training/calibration.py,sha256=xHbiLcY2csYos3s7rRSqp7P7G-9wzULcSo1JfVzfIjE,7239
|
|
109
|
-
careamics/lvae_training/eval_utils.py,sha256=
|
|
123
|
+
careamics/lvae_training/eval_utils.py,sha256=FxZmmT6vMRluLYnnCEQtLcz5Q45OAqmxXbQo6KPbQEk,30372
|
|
110
124
|
careamics/lvae_training/get_config.py,sha256=dwVfaQS7nzjQss0E1gGLUpQpjPcOWwLgIhbu3Z0I1rg,3068
|
|
111
125
|
careamics/lvae_training/lightning_module.py,sha256=ryr7iHqCMzCl5esi6_gEcnKFDQkMrw0EXK9Zfgv1Nek,27186
|
|
112
126
|
careamics/lvae_training/metrics.py,sha256=KTDAKhe3vh-YxzGibjtkIG2nnUyujbnwqX4xGwaRXwE,6718
|
|
@@ -124,13 +138,13 @@ careamics/lvae_training/dataset/utils/empty_patch_fetcher.py,sha256=OFjeqhZ6vFUL
|
|
|
124
138
|
careamics/lvae_training/dataset/utils/index_manager.py,sha256=Gt1I-7lBaQDBgqguOmofAFDdAsJQfz7ktvq4_I80F9c,10084
|
|
125
139
|
careamics/lvae_training/dataset/utils/index_switcher.py,sha256=ZoMi8LsaIkm8MFqIFaxN4oQGyzCcwOlCom8SYNus15E,6716
|
|
126
140
|
careamics/model_io/__init__.py,sha256=khMIkk107LL5JGze0OVfl5Lfi14R3_e4W21tW0iJ1kE,155
|
|
127
|
-
careamics/model_io/bmz_io.py,sha256=
|
|
128
|
-
careamics/model_io/model_io_utils.py,sha256=
|
|
141
|
+
careamics/model_io/bmz_io.py,sha256=XQvRUxM4keEiYlnWNTZUxeLgLl3_c-_drOZcH4mjEDo,7801
|
|
142
|
+
careamics/model_io/model_io_utils.py,sha256=ZSBO1MEFBh--GwUqmK1iW7Vf57MgdQtxmucNBdXkHBw,2748
|
|
129
143
|
careamics/model_io/bioimage/__init__.py,sha256=dKm-UluVwa_7EHQB0ukx-Qk8JVWtuT-OUinY8hE9EIw,298
|
|
130
144
|
careamics/model_io/bioimage/_readme_factory.py,sha256=sRfHbuwhfYmpwsG0keXFCSK3qCS4VI4GQhX6OhSKLjY,3440
|
|
131
|
-
careamics/model_io/bioimage/bioimage_utils.py,sha256=
|
|
145
|
+
careamics/model_io/bioimage/bioimage_utils.py,sha256=aX0rZny3OPaZZGGE-5Y3qXgnOAhyAQOtN15Ri0EVMTk,1297
|
|
132
146
|
careamics/model_io/bioimage/cover_factory.py,sha256=8URrpEfJvdHBJeSrh5H2IQHSUybsTyAOR3_A-YYAAlw,4583
|
|
133
|
-
careamics/model_io/bioimage/model_description.py,sha256=
|
|
147
|
+
careamics/model_io/bioimage/model_description.py,sha256=caC9O0xyXEIMyCHW5j37HMX4IhMtNk0QWCF05VdPCQE,10050
|
|
134
148
|
careamics/models/__init__.py,sha256=Xui2BLJd1I2r_E3Sj24fJALFTi2FGtfNscUWj_0c9Hk,93
|
|
135
149
|
careamics/models/activation.py,sha256=nu3sDgd7Lsyw8rvmUwxNN-7SM09cEMfxZ9DRDzdSKns,1049
|
|
136
150
|
careamics/models/layers.py,sha256=tpsxbolRWYycZGxS3hKlDRtMf6HpNdZs98uwx5K8lls,13757
|
|
@@ -148,11 +162,13 @@ careamics/prediction_utils/lvae_prediction.py,sha256=ZwPFCSeUGsULIMoMQWRYKHfLFaD
|
|
|
148
162
|
careamics/prediction_utils/lvae_tiling_manager.py,sha256=SI-JaJvLrKWBSHdm-FjcqWdbhlcflTRiKxYF7CSGzvA,13736
|
|
149
163
|
careamics/prediction_utils/prediction_outputs.py,sha256=fw-bJ2szWJD7BgZlECmxy5sgeXGFJl4T8cRNzLR1aUQ,4069
|
|
150
164
|
careamics/prediction_utils/stitch_prediction.py,sha256=8YRW2rea-is5tYI0Q1bw3bpX7VMFmbpxSP_y6x9Yfug,3893
|
|
151
|
-
careamics/transforms/__init__.py,sha256=
|
|
152
|
-
careamics/transforms/compose.py,sha256=
|
|
165
|
+
careamics/transforms/__init__.py,sha256=n7D3SbcVSRaMOl5F5Rozo2_lY8dn0DH28ywYIdbXxBo,561
|
|
166
|
+
careamics/transforms/compose.py,sha256=QMCuqp0C5mJ5N6xh3ISKY7HfjfKp6NqDwQiKXoxEjug,5326
|
|
153
167
|
careamics/transforms/n2v_manipulate.py,sha256=t9rtMbYV6P1IVp4yzuJfq5-giWyfGrxL8ZhzP29Pp8k,5686
|
|
168
|
+
careamics/transforms/n2v_manipulate_torch.py,sha256=Lxi94cbE0aEZ1fFD0m4T7VDrDSt3cbHPdYISa8XYemw,4830
|
|
154
169
|
careamics/transforms/normalize.py,sha256=fxs813ydCWrIzrxFzkbk1gW8OGSr0esQSrNUFSJuGL0,7715
|
|
155
|
-
careamics/transforms/pixel_manipulation.py,sha256=
|
|
170
|
+
careamics/transforms/pixel_manipulation.py,sha256=WSx2sqcZ2wUkm6qPi4pG3Ai0sE8ONPOpYLSvkW5M3bY,13393
|
|
171
|
+
careamics/transforms/pixel_manipulation_torch.py,sha256=W2sTQrM00TwmcoFf1bcYapAwE66pKIVVeAtBIW6ovK4,14343
|
|
156
172
|
careamics/transforms/struct_mask_parameters.py,sha256=jE29Li9sx3olaRnqYfJsSlKi2t0WQzJmCm9aCbIQEsA,421
|
|
157
173
|
careamics/transforms/transform.py,sha256=cEqc4ci8na70i-HIGYC7udRfVa8D_8OjdRVrr3txLvQ,464
|
|
158
174
|
careamics/transforms/tta.py,sha256=78S7Df9rLHmEVSQSI1qDcRrRJGauyG3oaIrXkckCkmw,2335
|
|
@@ -171,8 +187,9 @@ careamics/utils/ram.py,sha256=tksyn8dVX_iJXmrDZDGub32hFZWIaNxnMheO5G1p43I,244
|
|
|
171
187
|
careamics/utils/receptive_field.py,sha256=Y2h4c8S6glX3qcx5KHDmO17Kkuyey9voxfoXyqcAfiM,3296
|
|
172
188
|
careamics/utils/serializers.py,sha256=mILUhz75IMpGKnEzcYu9hlOPG8YIiIW09fk6eZM7Y8k,1427
|
|
173
189
|
careamics/utils/torch_utils.py,sha256=_Cf3HdlIRl5hxfpUg9aofCSlcW7GSsIJxsbSORXko0U,3010
|
|
174
|
-
careamics
|
|
175
|
-
careamics-0.0.
|
|
176
|
-
careamics-0.0.
|
|
177
|
-
careamics-0.0.
|
|
178
|
-
careamics-0.0.
|
|
190
|
+
careamics/utils/version.py,sha256=WKtMlrNmXymJqzMfguBX558D6tb6aoAZfbABRh_ViIs,1142
|
|
191
|
+
careamics-0.0.10.dist-info/METADATA,sha256=-OAGJepthRIcvZVDlc7uhgtipB5vOFb_8p5FTA09Zos,3917
|
|
192
|
+
careamics-0.0.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
193
|
+
careamics-0.0.10.dist-info/entry_points.txt,sha256=2fSNVXJWDJgFLATVj7MkjFNvpl53amG8tUzC3jf7G1s,53
|
|
194
|
+
careamics-0.0.10.dist-info/licenses/LICENSE,sha256=6zdNW-k_xHRKYWUf9tDI_ZplUciFHyj0g16DYuZ2udw,1509
|
|
195
|
+
careamics-0.0.10.dist-info/RECORD,,
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"""CARE Pydantic configuration."""
|
|
2
|
-
|
|
3
|
-
from bioimageio.spec.generic.v0_3 import CiteEntry
|
|
4
|
-
|
|
5
|
-
from careamics.config.algorithms.care_algorithm_model import CAREAlgorithm
|
|
6
|
-
from careamics.config.configuration import Configuration
|
|
7
|
-
from careamics.config.data import DataConfig
|
|
8
|
-
|
|
9
|
-
CARE = "CARE"
|
|
10
|
-
|
|
11
|
-
CARE_DESCRIPTION = (
|
|
12
|
-
"Content-aware image restoration (CARE) is a deep-learning-based "
|
|
13
|
-
"algorithm that uses a U-Net architecture to restore images. CARE "
|
|
14
|
-
"is a supervised algorithm that requires pairs of noisy and "
|
|
15
|
-
"clean images to train the network. The algorithm learns to "
|
|
16
|
-
"predict the clean image from the noisy image. CARE is "
|
|
17
|
-
"particularly useful for denoising images acquired in low-light "
|
|
18
|
-
"conditions, such as fluorescence microscopy images."
|
|
19
|
-
)
|
|
20
|
-
CARE_REF = CiteEntry(
|
|
21
|
-
text='Weigert, Martin, et al. "Content-aware image restoration: pushing the '
|
|
22
|
-
'limits of fluorescence microscopy." Nature methods 15.12 (2018): 1090-1097.',
|
|
23
|
-
doi="10.1038/s41592-018-0216-7",
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class CAREConfiguration(Configuration):
|
|
28
|
-
"""CARE configuration."""
|
|
29
|
-
|
|
30
|
-
algorithm_config: CAREAlgorithm
|
|
31
|
-
"""Algorithm configuration."""
|
|
32
|
-
|
|
33
|
-
data_config: DataConfig
|
|
34
|
-
"""Data configuration."""
|
|
35
|
-
|
|
36
|
-
def get_algorithm_friendly_name(self) -> str:
|
|
37
|
-
"""
|
|
38
|
-
Get the algorithm friendly name.
|
|
39
|
-
|
|
40
|
-
Returns
|
|
41
|
-
-------
|
|
42
|
-
str
|
|
43
|
-
Friendly name of the algorithm.
|
|
44
|
-
"""
|
|
45
|
-
return CARE
|
|
46
|
-
|
|
47
|
-
def get_algorithm_keywords(self) -> list[str]:
|
|
48
|
-
"""
|
|
49
|
-
Get algorithm keywords.
|
|
50
|
-
|
|
51
|
-
Returns
|
|
52
|
-
-------
|
|
53
|
-
list[str]
|
|
54
|
-
List of keywords.
|
|
55
|
-
"""
|
|
56
|
-
return [
|
|
57
|
-
"restoration",
|
|
58
|
-
"UNet",
|
|
59
|
-
"3D" if "Z" in self.data_config.axes else "2D",
|
|
60
|
-
"CAREamics",
|
|
61
|
-
"pytorch",
|
|
62
|
-
CARE,
|
|
63
|
-
]
|
|
64
|
-
|
|
65
|
-
def get_algorithm_references(self) -> str:
|
|
66
|
-
"""
|
|
67
|
-
Get the algorithm references.
|
|
68
|
-
|
|
69
|
-
This is used to generate the README of the BioImage Model Zoo export.
|
|
70
|
-
|
|
71
|
-
Returns
|
|
72
|
-
-------
|
|
73
|
-
str
|
|
74
|
-
Algorithm references.
|
|
75
|
-
"""
|
|
76
|
-
return CARE_REF.text + " doi: " + CARE_REF.doi
|
|
77
|
-
|
|
78
|
-
def get_algorithm_citations(self) -> list[CiteEntry]:
|
|
79
|
-
"""
|
|
80
|
-
Return a list of citation entries of the current algorithm.
|
|
81
|
-
|
|
82
|
-
This is used to generate the model description for the BioImage Model Zoo.
|
|
83
|
-
|
|
84
|
-
Returns
|
|
85
|
-
-------
|
|
86
|
-
List[CiteEntry]
|
|
87
|
-
List of citation entries.
|
|
88
|
-
"""
|
|
89
|
-
return [CARE_REF]
|
|
90
|
-
|
|
91
|
-
def get_algorithm_description(self) -> str:
|
|
92
|
-
"""
|
|
93
|
-
Get the algorithm description.
|
|
94
|
-
|
|
95
|
-
Returns
|
|
96
|
-
-------
|
|
97
|
-
str
|
|
98
|
-
Algorithm description.
|
|
99
|
-
"""
|
|
100
|
-
return CARE_DESCRIPTION
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
"""Noise2Void specific data configuration model."""
|
|
2
|
-
|
|
3
|
-
from collections.abc import Sequence
|
|
4
|
-
from typing import Literal
|
|
5
|
-
|
|
6
|
-
from pydantic import Field, field_validator
|
|
7
|
-
|
|
8
|
-
from careamics.config.data.data_model import GeneralDataConfig
|
|
9
|
-
from careamics.config.support import SupportedTransform
|
|
10
|
-
from careamics.config.transformations import (
|
|
11
|
-
N2V_TRANSFORMS_UNION,
|
|
12
|
-
N2VManipulateModel,
|
|
13
|
-
XYFlipModel,
|
|
14
|
-
XYRandomRotate90Model,
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class N2VDataConfig(GeneralDataConfig):
|
|
19
|
-
"""N2V specific data configuration model."""
|
|
20
|
-
|
|
21
|
-
transforms: Sequence[N2V_TRANSFORMS_UNION] = Field(
|
|
22
|
-
default=[XYFlipModel(), XYRandomRotate90Model(), N2VManipulateModel()],
|
|
23
|
-
validate_default=True,
|
|
24
|
-
)
|
|
25
|
-
"""N2V compatible transforms. N2VManpulate should be the last transform."""
|
|
26
|
-
|
|
27
|
-
@field_validator("transforms")
|
|
28
|
-
@classmethod
|
|
29
|
-
def validate_transforms(
|
|
30
|
-
cls, transforms: list[N2V_TRANSFORMS_UNION]
|
|
31
|
-
) -> list[N2V_TRANSFORMS_UNION]:
|
|
32
|
-
"""
|
|
33
|
-
Validate N2VManipulate transform position in the transform list.
|
|
34
|
-
|
|
35
|
-
Parameters
|
|
36
|
-
----------
|
|
37
|
-
transforms : list of transforms compatible with N2V
|
|
38
|
-
Transforms.
|
|
39
|
-
|
|
40
|
-
Returns
|
|
41
|
-
-------
|
|
42
|
-
list of transforms
|
|
43
|
-
Validated transforms.
|
|
44
|
-
|
|
45
|
-
Raises
|
|
46
|
-
------
|
|
47
|
-
ValueError
|
|
48
|
-
If multiple instances of N2VManipulate are found or if it is not the last
|
|
49
|
-
transform.
|
|
50
|
-
"""
|
|
51
|
-
transform_list = [t.name for t in transforms]
|
|
52
|
-
|
|
53
|
-
if SupportedTransform.N2V_MANIPULATE in transform_list:
|
|
54
|
-
# multiple N2V_MANIPULATE
|
|
55
|
-
if transform_list.count(SupportedTransform.N2V_MANIPULATE.value) > 1:
|
|
56
|
-
raise ValueError(
|
|
57
|
-
f"Multiple instances of "
|
|
58
|
-
f"{SupportedTransform.N2V_MANIPULATE} transforms "
|
|
59
|
-
f"are not allowed."
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
# N2V_MANIPULATE not the last transform
|
|
63
|
-
elif transform_list[-1] != SupportedTransform.N2V_MANIPULATE:
|
|
64
|
-
raise ValueError(
|
|
65
|
-
f"{SupportedTransform.N2V_MANIPULATE} transform "
|
|
66
|
-
f"should be the last transform."
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
else:
|
|
70
|
-
raise ValueError(
|
|
71
|
-
f"{SupportedTransform.N2V_MANIPULATE} transform "
|
|
72
|
-
f"is required for N2V training."
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
return transforms
|
|
76
|
-
|
|
77
|
-
def set_n2v2(self, use_n2v2: bool) -> None:
|
|
78
|
-
"""
|
|
79
|
-
Set the N2V transform to the N2V2 version.
|
|
80
|
-
|
|
81
|
-
Parameters
|
|
82
|
-
----------
|
|
83
|
-
use_n2v2 : bool
|
|
84
|
-
Whether to use N2V2.
|
|
85
|
-
|
|
86
|
-
Raises
|
|
87
|
-
------
|
|
88
|
-
ValueError
|
|
89
|
-
If the N2V pixel manipulate transform is not found in the transforms.
|
|
90
|
-
"""
|
|
91
|
-
if use_n2v2:
|
|
92
|
-
self.set_masking_strategy("median")
|
|
93
|
-
else:
|
|
94
|
-
self.set_masking_strategy("uniform")
|
|
95
|
-
|
|
96
|
-
def set_masking_strategy(self, strategy: Literal["uniform", "median"]) -> None:
|
|
97
|
-
"""
|
|
98
|
-
Set masking strategy.
|
|
99
|
-
|
|
100
|
-
Parameters
|
|
101
|
-
----------
|
|
102
|
-
strategy : "uniform" or "median"
|
|
103
|
-
Strategy to use for N2V2.
|
|
104
|
-
|
|
105
|
-
Raises
|
|
106
|
-
------
|
|
107
|
-
ValueError
|
|
108
|
-
If the N2V pixel manipulate transform is not found in the transforms.
|
|
109
|
-
"""
|
|
110
|
-
found_n2v = False
|
|
111
|
-
|
|
112
|
-
for transform in self.transforms:
|
|
113
|
-
if transform.name == SupportedTransform.N2V_MANIPULATE.value:
|
|
114
|
-
transform.strategy = strategy
|
|
115
|
-
found_n2v = True
|
|
116
|
-
|
|
117
|
-
if not found_n2v:
|
|
118
|
-
transforms = [t.name for t in self.transforms]
|
|
119
|
-
raise ValueError(
|
|
120
|
-
f"N2V_Manipulate transform not found in the transforms list "
|
|
121
|
-
f"({transforms})."
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
def get_masking_strategy(self) -> Literal["uniform", "median"]:
|
|
125
|
-
"""
|
|
126
|
-
Get N2V2 strategy.
|
|
127
|
-
|
|
128
|
-
Returns
|
|
129
|
-
-------
|
|
130
|
-
"uniform" or "median"
|
|
131
|
-
Strategy used for N2V2.
|
|
132
|
-
"""
|
|
133
|
-
for transform in self.transforms:
|
|
134
|
-
if transform.name == SupportedTransform.N2V_MANIPULATE.value:
|
|
135
|
-
return transform.strategy
|
|
136
|
-
|
|
137
|
-
raise ValueError(
|
|
138
|
-
f"{SupportedTransform.N2V_MANIPULATE} transform "
|
|
139
|
-
f"is required for N2V training."
|
|
140
|
-
)
|
|
141
|
-
|
|
142
|
-
def set_structN2V_mask(
|
|
143
|
-
self, mask_axis: Literal["horizontal", "vertical", "none"], mask_span: int
|
|
144
|
-
) -> None:
|
|
145
|
-
"""
|
|
146
|
-
Set structN2V mask parameters.
|
|
147
|
-
|
|
148
|
-
Setting `mask_axis` to `none` will disable structN2V.
|
|
149
|
-
|
|
150
|
-
Parameters
|
|
151
|
-
----------
|
|
152
|
-
mask_axis : Literal["horizontal", "vertical", "none"]
|
|
153
|
-
Axis along which to apply the mask. `none` will disable structN2V.
|
|
154
|
-
mask_span : int
|
|
155
|
-
Total span of the mask in pixels.
|
|
156
|
-
|
|
157
|
-
Raises
|
|
158
|
-
------
|
|
159
|
-
ValueError
|
|
160
|
-
If the N2V pixel manipulate transform is not found in the transforms.
|
|
161
|
-
"""
|
|
162
|
-
found_n2v = False
|
|
163
|
-
|
|
164
|
-
for transform in self.transforms:
|
|
165
|
-
if transform.name == SupportedTransform.N2V_MANIPULATE.value:
|
|
166
|
-
transform.struct_mask_axis = mask_axis
|
|
167
|
-
transform.struct_mask_span = mask_span
|
|
168
|
-
found_n2v = True
|
|
169
|
-
|
|
170
|
-
if not found_n2v:
|
|
171
|
-
transforms = [t.name for t in self.transforms]
|
|
172
|
-
raise ValueError(
|
|
173
|
-
f"N2V pixel manipulate transform not found in the transforms "
|
|
174
|
-
f"({transforms})."
|
|
175
|
-
)
|
|
176
|
-
|
|
177
|
-
def is_using_struct_n2v(self) -> bool:
|
|
178
|
-
"""
|
|
179
|
-
Check if structN2V is enabled.
|
|
180
|
-
|
|
181
|
-
Returns
|
|
182
|
-
-------
|
|
183
|
-
bool
|
|
184
|
-
Whether structN2V is enabled or not.
|
|
185
|
-
"""
|
|
186
|
-
for transform in self.transforms:
|
|
187
|
-
if transform.name == SupportedTransform.N2V_MANIPULATE.value:
|
|
188
|
-
return transform.struct_mask_axis != "none"
|
|
189
|
-
|
|
190
|
-
raise ValueError(
|
|
191
|
-
f"N2V pixel manipulate transform not found in the transforms "
|
|
192
|
-
f"({self.transforms})."
|
|
193
|
-
)
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"""N2N configuration."""
|
|
2
|
-
|
|
3
|
-
from bioimageio.spec.generic.v0_3 import CiteEntry
|
|
4
|
-
|
|
5
|
-
from careamics.config.algorithms import N2NAlgorithm
|
|
6
|
-
from careamics.config.configuration import Configuration
|
|
7
|
-
from careamics.config.data import DataConfig
|
|
8
|
-
|
|
9
|
-
N2N = "Noise2Noise"
|
|
10
|
-
|
|
11
|
-
N2N_DESCRIPTION = (
|
|
12
|
-
"Noise2Noise is a deep-learning-based algorithm that uses a U-Net "
|
|
13
|
-
"architecture to restore images. Noise2Noise is a self-supervised "
|
|
14
|
-
"algorithm that requires only noisy images to train the network. "
|
|
15
|
-
"The algorithm learns to predict the clean image from the noisy "
|
|
16
|
-
"image. Noise2Noise is particularly useful when clean images are "
|
|
17
|
-
"not available for training."
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
N2N_REF = CiteEntry(
|
|
21
|
-
text="Lehtinen, J., Munkberg, J., Hasselgren, J., Laine, S., Karras, T., "
|
|
22
|
-
'Aittala, M. and Aila, T., 2018. "Noise2Noise: Learning image restoration '
|
|
23
|
-
'without clean data". arXiv preprint arXiv:1803.04189.',
|
|
24
|
-
doi="10.48550/arXiv.1803.04189",
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class N2NConfiguration(Configuration):
|
|
29
|
-
"""Noise2Noise configuration."""
|
|
30
|
-
|
|
31
|
-
algorithm_config: N2NAlgorithm
|
|
32
|
-
"""Algorithm configuration."""
|
|
33
|
-
|
|
34
|
-
data_config: DataConfig
|
|
35
|
-
"""Data configuration."""
|
|
36
|
-
|
|
37
|
-
def get_algorithm_friendly_name(self) -> str:
|
|
38
|
-
"""
|
|
39
|
-
Get the algorithm friendly name.
|
|
40
|
-
|
|
41
|
-
Returns
|
|
42
|
-
-------
|
|
43
|
-
str
|
|
44
|
-
Friendly name of the algorithm.
|
|
45
|
-
"""
|
|
46
|
-
return N2N
|
|
47
|
-
|
|
48
|
-
def get_algorithm_keywords(self) -> list[str]:
|
|
49
|
-
"""
|
|
50
|
-
Get algorithm keywords.
|
|
51
|
-
|
|
52
|
-
Returns
|
|
53
|
-
-------
|
|
54
|
-
list[str]
|
|
55
|
-
List of keywords.
|
|
56
|
-
"""
|
|
57
|
-
return [
|
|
58
|
-
"restoration",
|
|
59
|
-
"UNet",
|
|
60
|
-
"3D" if "Z" in self.data_config.axes else "2D",
|
|
61
|
-
"CAREamics",
|
|
62
|
-
"pytorch",
|
|
63
|
-
N2N,
|
|
64
|
-
]
|
|
65
|
-
|
|
66
|
-
def get_algorithm_references(self) -> str:
|
|
67
|
-
"""
|
|
68
|
-
Get the algorithm references.
|
|
69
|
-
|
|
70
|
-
This is used to generate the README of the BioImage Model Zoo export.
|
|
71
|
-
|
|
72
|
-
Returns
|
|
73
|
-
-------
|
|
74
|
-
str
|
|
75
|
-
Algorithm references.
|
|
76
|
-
"""
|
|
77
|
-
return N2N_REF.text + " doi: " + N2N_REF.doi
|
|
78
|
-
|
|
79
|
-
def get_algorithm_citations(self) -> list[CiteEntry]:
|
|
80
|
-
"""
|
|
81
|
-
Return a list of citation entries of the current algorithm.
|
|
82
|
-
|
|
83
|
-
This is used to generate the model description for the BioImage Model Zoo.
|
|
84
|
-
|
|
85
|
-
Returns
|
|
86
|
-
-------
|
|
87
|
-
List[CiteEntry]
|
|
88
|
-
List of citation entries.
|
|
89
|
-
"""
|
|
90
|
-
return [N2N_REF]
|
|
91
|
-
|
|
92
|
-
def get_algorithm_description(self) -> str:
|
|
93
|
-
"""
|
|
94
|
-
Get the algorithm description.
|
|
95
|
-
|
|
96
|
-
Returns
|
|
97
|
-
-------
|
|
98
|
-
str
|
|
99
|
-
Algorithm description.
|
|
100
|
-
"""
|
|
101
|
-
return N2N_DESCRIPTION
|