from PIL import Image import torch from .view_base import BaseView class FlipView(BaseView): def __init__(self): pass def view(self, im): return torch.flip(im, [1]) def inverse_view(self, noise): return torch.flip(noise, [1]) def make_frame(self, im, t): im_size = im.size[0] frame_size = int(im_size * 1.5) theta = t * 180 # TODO: Technically not a flip, change this to a homography later frame = Image.new('RGB', (frame_size, frame_size), (255, 255, 255)) frame.paste(im, ((frame_size - im_size) // 2, (frame_size - im_size) // 2)) frame = frame.rotate(theta, resample=Image.Resampling.BILINEAR, expand=False, fillcolor=(255,255,255)) return frame