callum-canavan's picture
Add helpers, change to hot dog example
954caab
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()