
MIBI2CH_config = {'best_model': 'weights_best.pth',
 'last_model': 'weights_last.pth',
 'nsaves': 6,
 'reset_optim': True,
 'activation': 'relu',
 'batchnorm': False,
 'unet_depth': 4,
 'unet_base': 64,
 'n_channels': 2,
 'patch_size': [128, 128],
 'p_scribble_crop': 0.6,
 'shift_crop': 32,
 'nepochs_sample_patches': 10,
 'npatch_image_sampler': 1365,
 'npatches_epoch': 4096,
 'BATCH_SIZE': 64,
 'n_workers': 32,
 'augmentations': True,
 'normstd': False,
 'ratio': 0.95,
 'size_window': [10, 10],
 'seg_loss': 'CE',
 'rec_loss': 'gaussian',
 'classification_tasks': {'0': {'classes': 1,
   'rec_channels': [0],
   'ncomponents': [2, 2],
   'weight_classes': [1.0],
   'weight_rec_channels': [1.0],
   'ix_gt_labels': ['0']},
  '1': {'classes': 2,
   'rec_channels': [1],
   'ncomponents': [1, 1, 2],
   'weight_classes': [0.5, 0.5],
   'weight_rec_channels': [1.0],
   'ix_gt_labels': ['1', ' 2']}},
 'mean': True,
 'std': False,
 'weight_objectives': {'seg_fore': 0.45, 'seg_back': 0.45, 'rec': 0.1},
 'EPOCHS': 400,
 'LEARNING_RATE': 0.0005,
 'lrdecay': 1,
 'optim_weight_decay': 0.0,
 'patience': 5,
 'optimizer': 'adam',
 'max_grad_clip': 0,
 'val_stopper': True,
 'type_metric': [],
 'warmup_epochs': 50}


def get_config_dataset(dataset = 'MIBI2CH'):
    if dataset == 'MIBI2CH':
        return MIBI2CH_config