|
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 += "```python\n"+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() |
|
|