nvflip / app.py
fr1ll's picture
Switch back to HDR mode
62d8c85 verified
import gradio as gr
import numpy as np
import flip_evaluator as flip
def compute_simple_diff(a: np.array, b: np.array) -> (np.array, float):
'''compute difference of two arrays'''
return a - b, str(np.round(np.mean(a-b), 4))
def compute_flip_diff(a: np.array, b: np.array) -> (np.array, float):
'''
compute NVIDIA nvlab's FLIP difference between two image arrays
'''
error_map, mean_error, _ = flip.evaluate(a, b, "HDR")
return error_map, str(np.round(mean_error,4))
examples = [
["examples/Office_ShadowAcne/reference.png",
"examples/Office_ShadowAcne/test.png"]
]
with gr.Blocks() as demo:
gr.Markdown("Compute difference using NVIDIA's [FLIP](https://github.com/NVlabs/flip/)")
with gr.Row(equal_height=True):
# define inputs and outputs
before = gr.Image(label="Before")
after = gr.Image(label="After")
diff = gr.Image(label="Difference")
with gr.Row(equal_height=True):
with gr.Column(scale=2):
button = gr.Button("Compute difference")
with gr.Column(scale=1, min_width=200):
meanbox = gr.Textbox(label="Mean difference")
# interaction
button.click(fn=compute_flip_diff,
inputs=[before, after],
outputs=[diff, meanbox]
)
gr.Examples(examples, [before, after])
if __name__ == "__main__":
demo.launch()