callum-canavan's picture
Update interface
87d3d14
from pathlib import Path
from PIL import Image
import numpy as np
from .view_identity import IdentityView
from .view_flip import FlipView
from .view_rotate import Rotate180View, Rotate90CCWView, Rotate90CWView
from .view_negate import NegateView
from .view_skew import SkewView
from .view_patch_permute import PatchPermuteView
from .view_jigsaw import JigsawView
from .view_inner_circle import InnerCircleView
VIEW_MAP = {
'identity': IdentityView,
'flip': FlipView,
'rotate_cw': Rotate90CWView,
'rotate_ccw': Rotate90CCWView,
'rotate_180': Rotate180View,
'negate': NegateView,
'skew': SkewView,
'patch_permute': PatchPermuteView,
'pixel_permute': PatchPermuteView,
'jigsaw': JigsawView,
'inner_circle': InnerCircleView,
}
VIEW_MAP_NAMES = {
'Flip': 'flip',
'Rotate 90°': 'rotate_cw',
'Invert colors': 'negate',
'Shear': 'skew',
'Jigsaw': 'jigsaw',
'Rotate inner circle': 'inner_circle',
}
def get_views(view_names):
'''
Bespoke function to get views (just to make command line usage easier)
'''
views = []
for view_name in view_names:
if view_name == 'patch_permute':
args = [8]
elif view_name == 'pixel_permute':
args = [64]
elif view_name == 'skew':
args = [1.5]
else:
args = []
view = VIEW_MAP[view_name](*args)
views.append(view)
return views