Spaces:
Build error
Build error
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") | |