Spaces:
Paused
Paused
| from albumentations import DualIAATransform, to_tuple | |
| import imgaug.augmenters as iaa | |
| class IAAAffine2(DualIAATransform): | |
| """Place a regular grid of points on the input and randomly move the neighbourhood of these point around | |
| via affine transformations. | |
| Note: This class introduce interpolation artifacts to mask if it has values other than {0;1} | |
| Args: | |
| p (float): probability of applying the transform. Default: 0.5. | |
| Targets: | |
| image, mask | |
| """ | |
| def __init__( | |
| self, | |
| scale=(0.7, 1.3), | |
| translate_percent=None, | |
| translate_px=None, | |
| rotate=0.0, | |
| shear=(-0.1, 0.1), | |
| order=1, | |
| cval=0, | |
| mode="reflect", | |
| always_apply=False, | |
| p=0.5, | |
| ): | |
| super(IAAAffine2, self).__init__(always_apply, p) | |
| self.scale = dict(x=scale, y=scale) | |
| self.translate_percent = to_tuple(translate_percent, 0) | |
| self.translate_px = to_tuple(translate_px, 0) | |
| self.rotate = to_tuple(rotate) | |
| self.shear = dict(x=shear, y=shear) | |
| self.order = order | |
| self.cval = cval | |
| self.mode = mode | |
| def processor(self): | |
| return iaa.Affine( | |
| self.scale, | |
| self.translate_percent, | |
| self.translate_px, | |
| self.rotate, | |
| self.shear, | |
| self.order, | |
| self.cval, | |
| self.mode, | |
| ) | |
| def get_transform_init_args_names(self): | |
| return ("scale", "translate_percent", "translate_px", "rotate", "shear", "order", "cval", "mode") | |
| class IAAPerspective2(DualIAATransform): | |
| """Perform a random four point perspective transform of the input. | |
| Note: This class introduce interpolation artifacts to mask if it has values other than {0;1} | |
| Args: | |
| scale ((float, float): standard deviation of the normal distributions. These are used to sample | |
| the random distances of the subimage's corners from the full image's corners. Default: (0.05, 0.1). | |
| p (float): probability of applying the transform. Default: 0.5. | |
| Targets: | |
| image, mask | |
| """ | |
| def __init__(self, scale=(0.05, 0.1), keep_size=True, always_apply=False, p=0.5, | |
| order=1, cval=0, mode="replicate"): | |
| super(IAAPerspective2, self).__init__(always_apply, p) | |
| self.scale = to_tuple(scale, 1.0) | |
| self.keep_size = keep_size | |
| self.cval = cval | |
| self.mode = mode | |
| def processor(self): | |
| return iaa.PerspectiveTransform(self.scale, keep_size=self.keep_size, mode=self.mode, cval=self.cval) | |
| def get_transform_init_args_names(self): | |
| return ("scale", "keep_size") | |