@@ -135,6 +135,7 @@ def __init__(self, log_file, log_dir):
135
135
self .ui .workflow_view5_seemore_bn .clicked .connect (lambda : UIFunction .obtain_workflow_description (self , 4 ))
136
136
self .ui .workflow_view6_seemore_bn .clicked .connect (lambda : UIFunction .obtain_workflow_description (self , 5 ))
137
137
self .ui .workflow_view7_seemore_bn .clicked .connect (lambda : UIFunction .obtain_workflow_description (self , 6 ))
138
+ self .ui .workflow_view8_seemore_bn .clicked .connect (lambda : UIFunction .obtain_workflow_description (self , 7 ))
138
139
139
140
# General options page buttons
140
141
self .ui .SYSTEM__SEED__INPUT .setValidator (self .int_validator )
@@ -179,6 +180,7 @@ def __init__(self, log_file, log_dir):
179
180
self .ui .MODEL__VIT_NUM_HEADS__INPUT .setValidator (self .int_validator )
180
181
self .ui .MODEL__UNETR_VIT_HIDD_MULT__INPUT .setValidator (self .int_validator )
181
182
self .ui .MODEL__UNETR_VIT_NUM_FILTERS__INPUT .setValidator (self .int_validator )
183
+ self .ui .MODEL__UNETR_DEC_KERNEL_SIZE__INPUT .setValidator (self .int_validator )
182
184
self .ui .TRAIN__LR__INPUT .setValidator (self .float_validator )
183
185
self .ui .TRAIN__W_DECAY__INPUT .setValidator (self .float_validator )
184
186
self .ui .TRAIN__BATCH_SIZE__INPUT .setValidator (self .int_validator )
@@ -286,8 +288,10 @@ def __init__(self, log_file, log_dir):
286
288
self .ui .DATA__PREPROCESS__MATCH_HISTOGRAM__REFERENCE_PATH__TEST__BN .clicked .connect (lambda : examine (self , "DATA__PREPROCESS__MATCH_HISTOGRAM__REFERENCE_PATH__TEST__INPUT" , False ))
287
289
self .ui .val_data_gt_input_browse_bn .clicked .connect (lambda : examine (self , "DATA__VAL__GT_PATH__INPUT" , False ))
288
290
self .ui .DATA__TRAIN__IN_MEMORY__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
289
- [], widgets_to_set_cond = [
290
- (["DATA__VAL__TYPE__INPUT" , "Not extracted from train (path needed)" ], ["No" ])
291
+ ["DATA__PREPROCESS__TRAIN__LABEL" ,"DATA__PREPROCESS__TRAIN__INFO" ,"DATA__PREPROCESS__TRAIN__INPUT" ],
292
+ widgets_to_set_cond = [
293
+ (["DATA__VAL__TYPE__INPUT" , "Not extracted from train (path needed)" ], ["No" ]),
294
+ (["DATA__NORMALIZATION__APPLICATION_MODE__INPUT" , "image" ], ["No" ]),
291
295
], updated_widget = "DATA__TRAIN__IN_MEMORY__INPUT" ))
292
296
self .ui .DATA__VAL__TYPE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
293
297
["percentage_validation_label" , "percentage_validation_info" , "DATA__VAL__SPLIT_TRAIN__INPUT" , "cross_validation_nfolds_label" , "cross_validation_nfolds_info" , "DATA__VAL__CROSS_VAL_NFOLD__INPUT" ,
@@ -297,30 +301,41 @@ def __init__(self, log_file, log_dir):
297
301
"test_data_input_browse_bn" , "test_exists_gt_label" , "DATA__TEST__LOAD_GT__INPUT" , "DATA__TEST__LOAD_GT__INFO" ,"test_data_gt_label" , "DATA__TEST__GT_PATH__INPUT" ,"DATA__TEST__GT_PATH__INFO" ,
298
302
"test_data_gt_input_browse_bn" , "test_data_in_memory_label" , "DATA__TEST__IN_MEMORY__INPUT" , "DATA__TEST__IN_MEMORY__INFO" ,"random_val_label" , "DATA__VAL__RANDOM__INPUT" ,"DATA__VAL__RANDOM__INFO" ,
299
303
"validation_overlap_label" , "DATA__VAL__OVERLAP__INFO" , "DATA__VAL__OVERLAP__INPUT" , "validation_padding_label" , "DATA__VAL__PADDING__INFO" , "DATA__VAL__PADDING__INPUT" ,
300
- ],
304
+ "DATA__PREPROCESS__VAL__LABEL" , "DATA__PREPROCESS__VAL__INFO" , "DATA__PREPROCESS__VAL__INPUT" ],
301
305
widgets_to_set_cond =
302
306
[
303
307
(["DATA__TRAIN__IN_MEMORY__INPUT" , "Yes" ], ["Extract from train (split training)" ,"Extract from train (cross validation)" ])
304
308
], updated_widget = "DATA__VAL__TYPE__INPUT" ))
305
309
self .ui .DATA__VAL__IN_MEMORY__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
306
- ["validation_overlap_label" , "DATA__VAL__OVERLAP__INFO" , "DATA__VAL__OVERLAP__INPUT" , "validation_padding_label" , "DATA__VAL__PADDING__INFO" , "DATA__VAL__PADDING__INPUT" ]))
310
+ ["validation_overlap_label" , "DATA__VAL__OVERLAP__INFO" , "DATA__VAL__OVERLAP__INPUT" , "validation_padding_label" ,
311
+ "DATA__VAL__PADDING__INFO" , "DATA__VAL__PADDING__INPUT" ,"DATA__PREPROCESS__VAL__LABEL" ,"DATA__PREPROCESS__VAL__INFO" ,
312
+ "DATA__PREPROCESS__VAL__INPUT" ]))
307
313
self .ui .train_advanced_bn .clicked .connect (lambda : expand_hide_advanced_options (self , "train_advanced_bn" , "train_advanced_options_frame" ))
308
314
self .ui .MODEL__ARCHITECTURE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
309
315
["unet_model_like_frame" , "unet_model_like_label" , "sr_unet_like_heading" , "sr_unet_like_frame" , "transformers_frame" , "transformers_label" ,
310
316
"unetr_vit_hidden_multiple_label" , "MODEL__UNETR_VIT_HIDD_MULT__INFO" , "MODEL__UNETR_VIT_HIDD_MULT__INPUT" ,
311
317
"unetr_num_filters_label" , "MODEL__UNETR_VIT_NUM_FILTERS__INFO" , "MODEL__UNETR_VIT_NUM_FILTERS__INPUT" ,
312
318
"unetr_dec_act_label" , "MODEL__UNETR_DEC_ACTIVATION__INFO" , "MODEL__UNETR_DEC_ACTIVATION__INPUT" ,
319
+ "MODEL__UNETR_DEC_KERNEL_SIZE__LABEL" , "MODEL__UNETR_DEC_KERNEL_SIZE__INFO" , "MODEL__UNETR_DEC_KERNEL_SIZE__INPUT" ,
320
+ "MODEL__MAE_MASK_TYPE__LABEL" , "MODEL__MAE_MASK_TYPE__INFO" , "MODEL__MAE_MASK_TYPE__INPUT" ,
313
321
"MODEL__MAE_MASK_RATIO__INPUT" , "MODEL__MAE_MASK_RATIO__LABEL" , "MODEL__MAE_MASK_RATIO__INFO" ,
314
322
"MODEL__MAE_DEC_HIDDEN_SIZE__INPUT" , "MODEL__MAE_DEC_HIDDEN_SIZE__LABEL" , "MODEL__MAE_DEC_HIDDEN_SIZE__INFO" ,
315
323
"MODEL__MAE_DEC_NUM_LAYERS__INPUT" , "MODEL__MAE_DEC_NUM_LAYERS__LABEL" , "MODEL__MAE_DEC_NUM_LAYERS__INFO" ,
316
324
"MODEL__MAE_DEC_NUM_HEADS__INPUT" , "MODEL__MAE_DEC_NUM_HEADS__LABEL" , "MODEL__MAE_DEC_NUM_HEADS__INFO" ,
317
325
"MODEL__MAE_DEC_MLP_DIMS__INPUT" , "MODEL__MAE_DEC_MLP_DIMS__INFO" , "MODEL__MAE_DEC_MLP_DIMS__LABEL" ],
318
- widgets_to_set = ["transformers_label" ]))
326
+ widgets_to_set_cond =
327
+ [
328
+ (["PROBLEM__SELF_SUPERVISED__PRETEXT_TASK__INPUT" , "masking" ], ["MAE" ]),
329
+ (["PROBLEM__SELF_SUPERVISED__PRETEXT_TASK__INPUT" , "crappify" ], ['U-Net' , 'Residual U-Net' , 'ResUNet++' , 'Attention U-Net' , 'MultiResUnet' , 'SEUnet' , "UNETR" ])
330
+ ], updated_widget = "MODEL__ARCHITECTURE__INPUT" ))
319
331
self .ui .TRAIN__OPTIMIZER__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
320
332
["TRAIN__W_DECAY__INPUT" , "adamw_weight_decay_label" , "TRAIN__W_DECAY__INFO" ,
321
333
"TRAIN__OPT_BETAS__INPUT" , "TRAIN__OPT_BETAS__LABEL" , "TRAIN__OPT_BETAS__INFO" ]))
322
334
self .ui .TRAIN__PROFILER__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
323
335
["profiler_batch_range_label" , "TRAIN__PROFILER_BATCH_RANGE__INPUT" , "TRAIN__PROFILER_BATCH_RANGE__INFO" ]))
336
+ self .ui .DATA__NORMALIZATION__PERC_CLIP__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
337
+ ["DATA__NORMALIZATION__PERC_LOWER__LABEL" , "DATA__NORMALIZATION__PERC_LOWER__INFO" , "DATA__NORMALIZATION__PERC_LOWER__INPUT" ,
338
+ "DATA__NORMALIZATION__PERC_UPPER__LABEL" , "DATA__NORMALIZATION__PERC_UPPER__INFO" , "DATA__NORMALIZATION__PERC_UPPER__INPUT" ]))
324
339
self .ui .DATA__NORMALIZATION__TYPE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
325
340
["custom_mean_label" , "DATA__NORMALIZATION__CUSTOM_MEAN__INPUT" , "DATA__NORMALIZATION__CUSTOM_MEAN__INFO" ,
326
341
"custom_std_label" , "DATA__NORMALIZATION__CUSTOM_STD__INPUT" , "DATA__NORMALIZATION__CUSTOM_STD__INFO" ]))
@@ -372,7 +387,16 @@ def __init__(self, log_file, log_dir):
372
387
self .ui .DATA__PREPROCESS__CANNY__ENABLE__TEST__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
373
388
["DATA__PREPROCESS__CANNY__LOW_THRESHOLD__TEST__LABEL" , "DATA__PREPROCESS__CANNY__LOW_THRESHOLD__TEST__INFO" , "DATA__PREPROCESS__CANNY__LOW_THRESHOLD__TEST__INPUT" ,
374
389
"DATA__PREPROCESS__CANNY__HIGH_THRESHOLD__TEST__LABEL" , "DATA__PREPROCESS__CANNY__HIGH_THRESHOLD__TEST__INFO" , "DATA__PREPROCESS__CANNY__HIGH_THRESHOLD__TEST__INPUT" ]))
375
-
390
+ self .ui .DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
391
+ ["DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__LABEL" , "DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INFO" , "DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INPUT" ,
392
+ "DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__LABEL" , "DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INFO" , "DATA__TRAIN__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INPUT" ]))
393
+ self .ui .DATA__VAL__INPUT_ZARR_MULTIPLE_DATA__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
394
+ ["DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__LABEL" , "DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INFO" , "DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INPUT" ,
395
+ "DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__LABEL" , "DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INFO" , "DATA__VAL__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INPUT" ]))
396
+
397
+ self .ui .MODEL__MAE_MASK_TYPE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
398
+ ["MODEL__MAE_MASK_RATIO__LABEL" , "MODEL__MAE_MASK_RATIO__INFO" , "MODEL__MAE_MASK_RATIO__INPUT" ]))
399
+
376
400
self .ui .DATA__EXTRACT_RANDOM_PATCH__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
377
401
["extract_random_patch_frame_label" , "extract_random_patch_frame" ]))
378
402
self .ui .TRAIN__LR_SCHEDULER__NAME__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
@@ -458,7 +482,11 @@ def __init__(self, log_file, log_dir):
458
482
"AUGMENTOR__SALT_AND_PEPPER_PROP__INPUT" ,"AUGMENTOR__SALT_AND_PEPPER_PROP__INFO" ]))
459
483
self .ui .PROBLEM__SELF_SUPERVISED__PRETEXT_TASK__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
460
484
["ssl_resizing_factor_label" ,"PROBLEM__SELF_SUPERVISED__RESIZING_FACTOR__INPUT" ,"PROBLEM__SELF_SUPERVISED__RESIZING_FACTOR__INFO" ,
461
- "ssl_noise_label" ,"PROBLEM__SELF_SUPERVISED__NOISE__INPUT" , "PROBLEM__SELF_SUPERVISED__NOISE__INFO" ]))
485
+ "ssl_noise_label" ,"PROBLEM__SELF_SUPERVISED__NOISE__INPUT" , "PROBLEM__SELF_SUPERVISED__NOISE__INFO" ]
486
+ , widgets_to_set_cond = [
487
+ (["MODEL__ARCHITECTURE__INPUT" , "Attention U-Net" ], ["crappify" ]),
488
+ (["MODEL__ARCHITECTURE__INPUT" , "MAE" ], ["masking" ])
489
+ ], updated_widget = "PROBLEM__SELF_SUPERVISED__PRETEXT_TASK__INPUT" ))
462
490
463
491
# Test page buttons
464
492
self .ui .TEST__ENABLE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,["test_tab_widget" ]))
@@ -476,10 +504,15 @@ def __init__(self, log_file, log_dir):
476
504
self .ui .test_advanced_bn .clicked .connect (lambda : expand_hide_advanced_options (self , "test_advanced_bn" , "test_advanced_options_frame" ))
477
505
self .ui .TEST__BY_CHUNKS__ENABLE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
478
506
["process_by_chunks_label" ,"process_by_chunks_frame" ]))
507
+ self .ui .TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
508
+ ["TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__LABEL" ,"TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INFO" ,"TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_RAW_PATH__INPUT" ,
509
+ "TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__LABEL" ,"TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INFO" ,"TEST__BY_CHUNKS__INPUT_ZARR_MULTIPLE_DATA_GT_PATH__INPUT" ,]))
479
510
self .ui .TEST__BY_CHUNKS__WORKFLOW_PROCESS__ENABLE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
480
511
["TEST__BY_CHUNKS__WORKFLOW_PROCESS__TYPE__LABEL" ,"TEST__BY_CHUNKS__WORKFLOW_PROCESS__TYPE__INPUT" ,"TEST__BY_CHUNKS__WORKFLOW_PROCESS__TYPE__INFO" ]))
481
512
self .ui .TRAIN__ENABLE__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
482
513
["DATA__PATCH_SIZE__TEST__LABEL" ,"DATA__PATCH_SIZE__TEST__INFO" ,"DATA__PATCH_SIZE__TEST__INPUT" ]))
514
+ self .ui .DATA__TEST__IN_MEMORY__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
515
+ ["DATA__PREPROCESS__TEST__FRAME" , "preprocessing_test_frame" ]))
483
516
484
517
self .ui .TEST__POST_PROCESSING__YZ_FILTERING__SEM_SEG__INPUT .currentIndexChanged .connect (lambda : self .condition_db .combobox_hide_visible_action (self ,
485
518
["sem_seg_yz_filtering_size_label" ,"TEST__POST_PROCESSING__YZ_FILTERING_SIZE__SEM_SEG__INPUT" ,"TEST__POST_PROCESSING__YZ_FILTERING_SIZE__SEM_SEG__INFO" ]))
@@ -827,8 +860,7 @@ def check_new_gui_version(self):
827
860
print (f"Local GUI version: { self .cfg .settings ['biapy_gui_version' ]} " )
828
861
print (f"Remote last version's hash: { sha } " )
829
862
print (f"Remote last version: { vtag } " )
830
- if sha is not None and vtag is not None and sha != self .cfg .settings ['biapy_gui_last_version_hash' ] and \
831
- vtag != self .cfg .settings ['biapy_gui_version' ]:
863
+ if sha is not None and vtag is not None and vtag != self .cfg .settings ['biapy_gui_version' ]:
832
864
self .dialog_exec ("There is a new version of BiaPy's graphical user interface available. Please, "
833
865
"download it <a href='https://biapyx.github.io'>here</a>" , reason = "inform_user" )
834
866
0 commit comments