1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| import yaml from monai.transforms import ( AsDiscrete, EnsureChannelFirstd, Compose, CropForegroundd, LoadImaged, Orientationd, RandFlipd, RandCropByPosNegLabeld, RandShiftIntensityd, ScaleIntensityRanged, Spacingd, RandRotate90d, Rand3DElasticd, ResizeWithPadOrCropd, AdjustContrastd )
config_path = "config/config.yaml" with open(config_path, 'r', encoding='utf-8') as f: config = yaml.safe_load(f)
train_transforms = Compose( [ LoadImaged(keys=["image", "label", "all_lab"], image_only=False), EnsureChannelFirstd(keys=["image", "label", "all_lab"]), Orientationd(keys=["image", "label", "all_lab"], axcodes="RAS"), Spacingd( keys=["image", "label", "all_lab"], pixdim=config['transforms']['spacing']['pixdim'], mode=(config['transforms']['spacing']['mode']), ), ScaleIntensityRanged( keys=["image"], a_min=config['transforms']['scale_intensity']['a_min'], a_max=config['transforms']['scale_intensity']['a_max'], b_min=config['transforms']['scale_intensity']['b_min'], b_max=config['transforms']['scale_intensity']['b_max'], clip=config['transforms']['scale_intensity']['clip'], ), CropForegroundd(keys=["image", "label", "all_lab"], source_key="label", margin=config['transforms']['crop_foreground']['margin']), ResizeWithPadOrCropd(keys=["image", "label", "all_lab"], spatial_size=config['transforms']['resize']['spatial_size'], mode=config['transforms']['resize']['mode']), RandCropByPosNegLabeld( keys=["image", "label", "all_lab"], label_key="label", spatial_size=config['transforms']['rand_crop']['spatial_size'], pos=config['transforms']['rand_crop']['pos'], neg=config['transforms']['rand_crop']['neg'], num_samples=config['transforms']['rand_crop']['num_samples'], image_key="image", image_threshold=0, ), RandFlipd( keys=["image", "label", "all_lab"], spatial_axis=[0], prob=0.5, ), RandFlipd( keys=["image", "label", "all_lab"], spatial_axis=[1], prob=0.5, ), RandFlipd( keys=["image", "label", "all_lab"], spatial_axis=[2], prob=0.5, ), RandRotate90d( keys=["image", "label", "all_lab"], prob=0.5, max_k=4, ), RandShiftIntensityd( keys=["image"], offsets=config['transforms']['rand_shift_intensity']['offsets'], prob=config['transforms']['rand_shift_intensity']['prob'], ), ] )
val_transforms = Compose( [ LoadImaged(keys=["image", "label", "all_lab"], image_only=False), EnsureChannelFirstd(keys=["image", "label", "all_lab"]), Orientationd(keys=["image", "label", "all_lab"], axcodes="RAS"), Spacingd( keys=["image", "label", "all_lab"], pixdim=config['transforms']['spacing']['pixdim'], mode=(config['transforms']['spacing']['mode']), ), ScaleIntensityRanged( keys=["image"], a_min=config['transforms']['scale_intensity']['a_min'], a_max=config['transforms']['scale_intensity']['a_max'], b_min=config['transforms']['scale_intensity']['b_min'], b_max=config['transforms']['scale_intensity']['b_max'], clip=config['transforms']['scale_intensity']['clip'], ), CropForegroundd(keys=["image", "label", "all_lab"], source_key="label", margin=config['transforms']['crop_foreground']['margin']), ResizeWithPadOrCropd(keys=["image", "label", "all_lab"], spatial_size=config['transforms']['resize']['spatial_size'], mode=config['transforms']['resize']['mode']), ] )
|