Spaces:
Running
Running
| 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 | |