matiasky's picture
update app
50f870e
import gradio as gr
from utils.segmentation import segment
# ------------------------- GRADIO -------------------------
if __name__ == "__main__":
with gr.Blocks() as demo:
gr.Markdown("# Chest X-ray HybridGNet Segmentation Demo")
with gr.Tab("Segment Image"):
with gr.Row():
with gr.Column(scale=1):
image_input = gr.Image(
type="numpy",
tool="sketch",
image_mode="L",
height=450,
)
noise_slider = gr.Slider(
label="Gaussian Noise Std Dev",
minimum=0.0,
maximum=0.25,
step=0.01,
value=0.0
)
with gr.Row():
clear_button = gr.Button("Clear")
image_button = gr.Button("Segment Image")
gr.Examples(inputs=image_input, examples=[
'utils/example1.jpg','utils/example2.jpg',
'utils/example3.png','utils/example4.jpg'
])
with gr.Column(scale=2):
image_output = gr.Image(type="filepath", height=450)
results = gr.File()
gr.Markdown("""
Example images extracted from Wikipedia, released under:
1. CC0 Universial Public Domain. Source: https://commons.wikimedia.org/wiki/File:Normal_posteroanterior_(PA)_chest_radiograph_(X-ray).jpg
2. Creative Commons Attribution-Share Alike 4.0 International. Source: https://commons.wikimedia.org/wiki/File:Chest_X-ray.jpg
3. Creative Commons Attribution 3.0 Unported. Source https://commons.wikimedia.org/wiki/File:Implantable_cardioverter_defibrillator_chest_X-ray.jpg
4. Creative Commons Attribution-Share Alike 3.0 Unported. Source: https://commons.wikimedia.org/wiki/File:Medical_X-Ray_imaging_PRD06_nevit.jpg
""")
clear_button.click(lambda: None, None, image_input, queue=False)
clear_button.click(lambda: None, None, image_output, queue=False)
image_button.click(
segment,
inputs=[image_input, noise_slider],
outputs=[image_output, results],
queue=False
)
demo.launch(share=True)