|
class BaseView: |
|
''' |
|
BaseView class, from which all views inherit. Implements the |
|
following functions: |
|
''' |
|
|
|
def __init__(self): |
|
pass |
|
|
|
def view(self, im): |
|
''' |
|
Apply transform to an image. |
|
|
|
im (`torch.tensor`): |
|
For stage 1: Tensor of shape (3, H, W) representing a noisy image |
|
OR |
|
For stage 2: Tensor of shape (6, H, W) representing a noisy image |
|
concatenated with an upsampled conditioning image from stage 1 |
|
''' |
|
raise NotImplementedError() |
|
|
|
def inverse_view(self, noise): |
|
''' |
|
Apply inverse transform to noise estimates. |
|
Because DeepFloyd estimates the variance in addition to |
|
the noise, this function must apply the inverse to the |
|
variance as well. |
|
|
|
im (`torch.tensor`): |
|
Tensor of shape (6, H, W) representing the noise estimate |
|
(first three channel dims) and variacne estimates (last |
|
three channel dims) |
|
''' |
|
raise NotImplementedError() |
|
|
|
def make_frame(self, im, t): |
|
''' |
|
Make a frame, transitioning linearly from the identity view (t=0) |
|
to this view (t=1) |
|
|
|
im (`PIL.Image`) : |
|
A PIL Image of the illusion |
|
|
|
t (float) : |
|
A float in [0,1] indicating time in the animation. Should start |
|
at the identity view at t=0, and continuously transition to the |
|
view at t=1. |
|
''' |
|
raise NotImplementedError() |
|
|