Skip to content

Commit

Permalink
Adding rotation transform.
Browse files Browse the repository at this point in the history
  • Loading branch information
madil90 committed Mar 3, 2020
1 parent a65b182 commit 635bd9e
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions monai/transforms/transforms.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import numpy as np
import torch
from skimage.transform import rotate

import monai
from monai.data.utils import get_random_patch, get_valid_patch_size
Expand Down Expand Up @@ -62,6 +63,45 @@ def __call__(self, img):
return rescale_array(img, self.minv, self.maxv, self.dtype)


@export
class Rotate:
"""
Rotates an input image by given angle.
Args:
angle (float): Angle of rotation in degrees.
resize (bool): Whether or not to resize image.
center (tuple): Rotation center. If center=None, image is rotate around center.
For more details see https://scikit-image.org/docs/stable/api/skimage.transform.html#rotate.
order (int): Order of spline interpolation. Range 0-5. Default=1.
mode ('constant', 'edge', 'symmetric', 'reflect', 'wrap'): Points outside boundary
are filled according to this mode.
preserve_range (bool): Whether to preserve original range of values. Default is True.
"""

def __init__(self, angle, resize=False, center=None,
order=1, mode='reflect', cval=0, clip=True,
preserve_range=True):
self.angle = angle
self.resize = resize
self.center = center
self.order = order
self.mode = mode
self.cval = cval
self.clip = clip
self.preserve_range = preserve_range

def __call__(self, img):
return rotate(img, self.angle,
resize=self.resize,
center=self.center,
order=self.order,
mode=self.mode,
cval=self.cval,
clip=self.clip,
preserve_range=self.preserve_range)


@export
class ToTensor:
"""
Expand Down

0 comments on commit 635bd9e

Please sign in to comment.