示例#1
0
 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()
示例#2
0
 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()
示例#3
0
 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()
示例#4
0
 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()
示例#5
0
 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()
示例#7
0
 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))))
示例#8
0
    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))
示例#10
0
    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()