DeepNAPSI / app.py
lfolle's picture
Update app.py
fcd4a4e
import os
import pip
import gradio as gr
from PIL import Image
from backend import Infer
DEBUG = False
infer = Infer(DEBUG)
example_image_path = ["assets/example_1.jpg", "assets/example_2.jpg", "assets/example_3.jpg"]
outputs = [
gr.Image(label="Thumb"),
gr.Number(label="DeepNAPSI Thumb", precision=0),
gr.Image(label="Index"),
gr.Number(label="DeepNAPSI Index", precision=0),
gr.Image(label="Middle"),
gr.Number(label="DeepNAPSI Middle", precision=0),
gr.Image(label="Ring"),
gr.Number(label="DeepNAPSI Ring", precision=0),
gr.Image(label="Pinky"),
gr.Number(label="DeepNAPSI Pinky", precision=0),
gr.Number(label="DeepNAPSI Sum", precision=0),
]
with gr.Blocks(analytics_enabled=False, title="DeepNAPSI") as demo:
with gr.Column():
gr.Markdown("## Welcome to the DeepNAPSI application!")
gr.Markdown("Upload an image of the one hand and click **Predict NAPSI** to see the output.")
gr.Markdown("*Note*: Make sure there are no identifying information present in the image. The prediction can take up to 4.5 minutes." )
gr.Markdown("*Note*: This is not a medical product and cannot be used for a patient diagnosis in any way.")
with gr.Column():
with gr.Row():
with gr.Column():
with gr.Row():
image_input = gr.Image()
example_images = gr.Examples(example_image_path, image_input, outputs,
fn=infer.predict, cache_examples=True)
with gr.Row():
image_button = gr.Button("Predict NAPSI")
with gr.Row():
with gr.Column():
outputs[0].render()
outputs[1].render()
with gr.Column():
outputs[2].render()
outputs[3].render()
with gr.Column():
outputs[4].render()
outputs[5].render()
with gr.Column():
outputs[6].render()
outputs[7].render()
with gr.Column():
outputs[8].render()
outputs[9].render()
outputs[10].render()
image_button.click(infer.predict, inputs=image_input, outputs=outputs)
demo.launch(share=True if DEBUG else False, enable_queue=True, favicon_path="assets/favicon-32x32.png")