freddyaboulton's picture
Fix demo
5d5de7e
raw
history blame
1.78 kB
import gradio as gr
import random
import time
def xray_model(diseases, img):
time.sleep(4)
return [{disease: random.random() for disease in diseases}]
def ct_model(diseases, img):
time.sleep(3)
return [{disease: 0.1 for disease in diseases}]
with gr.Blocks() as demo:
gr.Markdown(
"""
# Detect Disease From Scan
With this model you can lorem ipsum
- ipsum 1
- ipsum 2
"""
)
disease = gr.CheckboxGroup(
choices=["Covid", "Malaria", "Lung Cancer"], label="Disease to Scan For"
)
with gr.Tabs():
with gr.TabItem("X-ray") as x_tab:
with gr.Row():
xray_scan = gr.Image()
xray_results = gr.JSON()
xray_run = gr.Button("Run")
xray_progress = gr.StatusTracker(cover_container=True)
xray_run.click(
xray_model,
inputs=[disease, xray_scan],
outputs=xray_results,
status_tracker=xray_progress,
api_name="xray_model"
)
with gr.TabItem("CT Scan"):
with gr.Row():
ct_scan = gr.Image()
ct_results = gr.JSON()
ct_run = gr.Button("Run")
ct_progress = gr.StatusTracker(cover_container=True)
ct_run.click(
ct_model,
inputs=[disease, ct_scan],
outputs=ct_results,
status_tracker=ct_progress,
api_name="ct_model"
)
upload_btn = gr.Button("Upload Results")
upload_btn.click(
lambda ct, xr: time.sleep(5),
inputs=[ct_results, xray_results],
outputs=[],
status_tracker=gr.StatusTracker(),
)
if __name__ == "__main__":
demo.launch()