File size: 1,002 Bytes
f68ce4f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from interactive_pipe import interactive_pipeline, interactive
import numpy as np


@interactive(angle=(45., [0., 360.]))
def gen_color(angle=45.):
    lin_coord = np.linspace(-1, 1, 256)
    X, Y = np.meshgrid(lin_coord, lin_coord)
    ang = np.deg2rad(angle)
    im = np.cos(ang) * X + np.sin(ang) * Y
    im = np.clip(1+im, 0, 1)
    im = np.stack(
        [im, im[::-1], im[:, ::-1]],
        axis=-1
    )
    return im


@interactive(
    flip=(True, "Flip Image"),
    mirror=(True, "Mirror Image")
)
def flip_image(img, flip=True, mirror=True):
    img = img[::-1] if flip else img
    img = img[:, ::-1] if mirror else img
    return img


markdown_description = "# Code to build this app on gradio \n"
markdown_description += "```"+open(__file__, 'r').read()+"```"


@interactive_pipeline(
    gui="gradio",
    markdown_description=markdown_description
)
def simple_pipe():
    inp = gen_color()
    out = flip_image(inp)
    return [inp, out]


if __name__ == "__main__":
    simple_pipe()