Spaces:
Running
Running
File size: 5,401 Bytes
a4b3c40 |
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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
from CellAware import BoundaryExclusion, IntensityDiversification
from LoadImage import CustomLoadImaged,CustomLoadImageD,CustomLoadImageDict,CustomLoadImage
from NormalizeImage import CustomNormalizeImage,CustomNormalizeImageD,CustomNormalizeImageDict ,CustomNormalizeImaged
from monai.transforms import *
__all__ = [
"train_transforms",
"public_transforms",
"valid_transforms",
"tuning_transforms",
"unlabeled_transforms",
]
train_transforms = Compose(
[
# >>> Load and refine data --- img: (H, W, 3); label: (H, W)
CustomLoadImaged(keys=["img", "label"], image_only=True),
CustomNormalizeImaged(
keys=["img"],
allow_missing_keys=True,
channel_wise=False,
percentiles=[0.0, 99.5],
),
EnsureChannelFirstd(keys=["img", "label"], channel_dim=-1),
RemoveRepeatedChanneld(keys=["label"], repeats=3), # label: (H, W)
ScaleIntensityd(keys=["img"], allow_missing_keys=True), # Do not scale label
# >>> Spatial transforms
RandZoomd(
keys=["img", "label"],
prob=0.5,
min_zoom=0.25,
max_zoom=1.5,
mode=["area", "nearest"],
keep_size=False,
),
SpatialPadd(keys=["img", "label"], spatial_size=512),
RandSpatialCropd(keys=["img", "label"], roi_size=512, random_size=False),
RandAxisFlipd(keys=["img", "label"], prob=0.5),
RandRotate90d(keys=["img", "label"], prob=0.5, spatial_axes=[0, 1]),
IntensityDiversification(keys=["img", "label"], allow_missing_keys=True),
# # >>> Intensity transforms
RandGaussianNoised(keys=["img"], prob=0.25, mean=0, std=0.1),
RandAdjustContrastd(keys=["img"], prob=0.25, gamma=(1, 2)),
RandGaussianSmoothd(keys=["img"], prob=0.25, sigma_x=(1, 2)),
RandHistogramShiftd(keys=["img"], prob=0.25, num_control_points=3),
RandGaussianSharpend(keys=["img"], prob=0.25),
EnsureTyped(keys=["img", "label"]),
]
)
public_transforms = Compose(
[
CustomLoadImaged(keys=["img", "label"], image_only=True),
BoundaryExclusion(keys=["label"]),
CustomNormalizeImaged(
keys=["img"],
allow_missing_keys=True,
channel_wise=False,
percentiles=[0.0, 99.5],
),
EnsureChannelFirstd(keys=["img", "label"], channel_dim=-1),
RemoveRepeatedChanneld(keys=["label"], repeats=3), # label: (H, W)
ScaleIntensityd(keys=["img"], allow_missing_keys=True), # Do not scale label
# >>> Spatial transforms
SpatialPadd(keys=["img", "label"], spatial_size=512),
RandSpatialCropd(keys=["img", "label"], roi_size=512, random_size=False),
RandAxisFlipd(keys=["img", "label"], prob=0.5),
RandRotate90d(keys=["img", "label"], prob=0.5, spatial_axes=[0, 1]),
Rotate90d(k=1, keys=["label"], spatial_axes=(0, 1)),
Flipd(keys=["label"], spatial_axis=0),
EnsureTyped(keys=["img", "label"]),
]
)
valid_transforms = Compose(
[
CustomLoadImaged(keys=["img", "label"], allow_missing_keys=True, image_only=True),
CustomNormalizeImaged(
keys=["img"],
allow_missing_keys=True,
channel_wise=False,
percentiles=[0.0, 99.5],
),
EnsureChannelFirstd(keys=["img", "label"], allow_missing_keys=True, channel_dim=-1),
RemoveRepeatedChanneld(keys=["label"], repeats=3),
ScaleIntensityd(keys=["img"], allow_missing_keys=True),
EnsureTyped(keys=["img", "label"], allow_missing_keys=True),
]
)
tuning_transforms = Compose(
[
CustomLoadImaged(keys=["img"], image_only=True),
CustomNormalizeImaged(
keys=["img"],
allow_missing_keys=True,
channel_wise=False,
percentiles=[0.0, 99.5],
),
EnsureChannelFirstd(keys=["img"], channel_dim=-1),
ScaleIntensityd(keys=["img"]),
EnsureTyped(keys=["img"]),
]
)
unlabeled_transforms = Compose(
[
# >>> Load and refine data --- img: (H, W, 3); label: (H, W)
CustomLoadImaged(keys=["img"], image_only=True),
CustomNormalizeImaged(
keys=["img"],
allow_missing_keys=True,
channel_wise=False,
percentiles=[0.0, 99.5],
),
EnsureChannelFirstd(keys=["img"], channel_dim=-1),
RandZoomd(
keys=["img"],
prob=0.5,
min_zoom=0.25,
max_zoom=1.25,
mode=["area"],
keep_size=False,
),
ScaleIntensityd(keys=["img"], allow_missing_keys=True), # Do not scale label
# >>> Spatial transforms
SpatialPadd(keys=["img"], spatial_size=512),
RandSpatialCropd(keys=["img"], roi_size=512, random_size=False),
EnsureTyped(keys=["img"]),
]
)
def get_pred_transforms():
"""Prediction preprocessing"""
pred_transforms = Compose(
[
# >>> Load and refine data
CustomLoadImage(image_only=True),
CustomNormalizeImage(channel_wise=False, percentiles=[0.0, 99.5]),
EnsureChannelFirst(channel_dim=-1), # image: (3, H, W)
ScaleIntensity(),
EnsureType(data_type="tensor"),
]
)
return pred_transforms
|