Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import gradio as gr | |
| from utils import get_index_to_class_mapping | |
| from load_data import generate_video_and_gradcam | |
| from load_disease_info import disease_info | |
| from PIL import Image | |
| def display_name(pathology_str:str) -> str: | |
| return disease_info(pathology_str) | |
| def show_logo(path): | |
| numpy_logo = np.asarray(Image.open(path)) | |
| return numpy_logo | |
| with gr.Blocks() as demo: | |
| with gr.Column(): | |
| gr.Markdown("# Latent diffusion model (LDM) for synthetic X-ray generation") | |
| with gr.Row(): | |
| gr.HTML("<img width='200' height='200' src='/file/logos/FAU_TechFak_H_RGB_white.png' alt='FAU TechFak logo'>") | |
| gr.HTML("<img width='200' height='200' src='/file/logos/LME_logo_english.png' alt='LME logo'>") | |
| gr.HTML("<img width='200' height='200' src='/file/logos/MDD-logo-weiss.png' alt='Medical data donors logo'>") | |
| with gr.Column(): | |
| gr.Markdown("To create a synthetic image select the pathology from the set below and click **Generate**.") | |
| radio = gr.Radio(list(get_index_to_class_mapping().values()), label="Pathology") | |
| btn = gr.Button("Generate") | |
| with gr.Row(): | |
| with gr.Tab(label="Diffusion model"): | |
| video = gr.Video(label="Diffusion steps & Generated X-ray") | |
| with gr.Tab(label="GradCAM Overlay"): | |
| gr_image = gr.Image() | |
| with gr.Column(): | |
| gr.Markdown("## Description of the diseases") | |
| disease_description = gr.HTML(label="Disease description") | |
| def submit(radio_selection): | |
| generated_video, generated_gradcam = generate_video_and_gradcam(radio_selection) | |
| return { | |
| video: generated_video, | |
| gr_image: generated_gradcam, | |
| disease_description: display_name(radio_selection) | |
| } | |
| btn.click(fn=submit, inputs=radio, outputs=[video, gr_image, disease_description]) | |
| demo.launch() | |