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 | |