def get_segmentation_transform(self) -> ModelTransformsPerExecutionMode: if self.imaging_feature_type in [ImagingFeatureType.Segmentation, ImagingFeatureType.ImageAndSegmentation]: return ModelTransformsPerExecutionMode( train=ImageTransformationPipeline( transforms=[RandomAffine(10), ColorJitter(0.2)], use_different_transformation_per_channel=True)) return ModelTransformsPerExecutionMode()
def get_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: if self.use_combined_model: return ModelTransformsPerExecutionMode( train=ScalarItemAugmentation( transform=RandAugmentSlice(use_joint_channel_transformation=False, is_transformation_for_segmentation_maps=True))) else: return ModelTransformsPerExecutionMode()
def get_image_transform(self) -> ModelTransformsPerExecutionMode: if self.use_combined_model: return ModelTransformsPerExecutionMode( train=ImageTransformationPipeline( transforms=[RandomAffine(degrees=30, translate=(0.1, 0.1), shear=15), ColorJitter(brightness=0.2)])) else: return ModelTransformsPerExecutionMode()
def get_image_transform(self) -> ModelTransformsPerExecutionMode: """ Get transforms to perform on image samples for each model execution mode. """ if self.imaging_feature_type in [ImagingFeatureType.Image, ImagingFeatureType.ImageAndSegmentation]: return ModelTransformsPerExecutionMode( train=ImageTransformationPipeline( transforms=[RandomAffine(10), ColorJitter(0.2)], use_different_transformation_per_channel=True)) return ModelTransformsPerExecutionMode()
def get_cropped_image_sample_transforms( self) -> ModelTransformsPerExecutionMode: """ Get transforms to perform on cropped samples for each model execution mode. By default no transformation is performed. """ return ModelTransformsPerExecutionMode()
def get_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: """ Get transforms to perform on samples for each model execution mode. By default only no transformation is performed. For data augmentation, specify a Compose3D for the training execution mode. """ return ModelTransformsPerExecutionMode()
def get_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: """ Get transforms to perform on image samples for each model execution mode. """ return ModelTransformsPerExecutionMode( train=ScalarItemAugmentation( RandAugmentSlice(is_transformation_for_segmentation_maps=( self.imaging_feature_type == ImagingFeatureType.Segmentation or self.imaging_feature_type == ImagingFeatureType.ImageAndSegmentation))))
def get_image_transform(self) -> ModelTransformsPerExecutionMode: config = load_yaml_augmentation_config(path_linear_head_augmentation_cxr) train_transforms = Compose( [DicomPreparation(), create_transforms_from_config(config, apply_augmentations=True)]) val_transforms = Compose( [DicomPreparation(), create_transforms_from_config(config, apply_augmentations=False)]) return ModelTransformsPerExecutionMode(train=train_transforms, val=val_transforms, test=val_transforms)
def get_scalar_item_transform(self) -> ModelTransformsPerExecutionMode: from InnerEye.ML.dataset.scalar_dataset import ScalarItemAugmentation image_transform = self.get_image_transform() segmentation_transform = self.get_segmentation_transform() return ModelTransformsPerExecutionMode( train=ScalarItemAugmentation(image_transform.train, segmentation_transform.train), val=ScalarItemAugmentation(image_transform.val, segmentation_transform.val), test=ScalarItemAugmentation(image_transform.test, segmentation_transform.test))
def get_full_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: """ Get transforms to perform on full image samples for each model execution mode. By default only PhotometricNormalization is performed. """ from InnerEye.ML.utils.transforms import Compose3D from InnerEye.ML.photometric_normalization import PhotometricNormalization photometric_transformation = Compose3D(transforms=[PhotometricNormalization(self, use_gpu=False)]) return ModelTransformsPerExecutionMode(train=photometric_transformation, val=photometric_transformation, test=photometric_transformation)
def get_segmentation_transform(self) -> ModelTransformsPerExecutionMode: """ Get transforms to apply on segmentations maps inputs for each model execution mode. By default only no transformation is performed. """ return ModelTransformsPerExecutionMode()
def get_image_transform(self) -> ModelTransformsPerExecutionMode: """ Get transforms to apply to images for each model execution mode. By default only no transformation is performed. """ return ModelTransformsPerExecutionMode()