File size: 1,951 Bytes
7ebfeb9 afda258 cf05f8b fdfdf8e 7ebfeb9 afda258 5ce0179 7ebfeb9 cf05f8b afda258 fc6f52f 7ebfeb9 fc6f52f c0b0361 fc6f52f e6687c5 39b7db7 fc6f52f 2210185 e6687c5 39b7db7 7ebfeb9 e6687c5 5d8bab6 afda258 e6687c5 b51c75c cf05f8b afda258 e6687c5 39b7db7 e6687c5 7ebfeb9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import gradio as gr
from PIL import Image
import clipGPT
import vitGPT
import skimage.io as io
import PIL.Image
# Caption generation functions
def generate_caption_clipgpt(image):
caption = clipGPT.generate_caption_clipgpt(image)
return caption
def generate_caption_vitgpt(image):
caption = vitGPT.generate_caption(image)
return caption
with gr.Blocks() as demo:
gr.HTML("<h1 style='text-align: center;'>MedViT: A Vision Transformer-Driven Method for Generating Medical Reports π₯π€</h1>")
gr.HTML("<p style='text-align: center;'>You can generate captions by uploading an X-Ray and selecting a model of your choice below</p>")
with gr.Row():
sample_images = [
"CXR191_IM-0591-1001.png",
"CXR192_IM-0598-1001.png",
"CXR193_IM-0601-1001.png",
"CXR194_IM-0609-1001.png",
"CXR195_IM-0618-1001.png"
]
image = gr.Image(label="Upload Chest X-ray")
gr.Gallery(
value = sample_images,
label="Sample Images",
)
# sample_images_gallery = gr.Gallery(
# value = sample_images,
# label="Sample Images",
# )
with gr.Row():
model_choice = gr.Radio(["CLIP-GPT2", "ViT-GPT2", "ViT-CoAttention"], label="Select Model")
generate_button = gr.Button("Generate Caption")
caption = gr.Textbox(label="Generated Caption")
def predict(img, model_name):
if model_name == "CLIP-GPT2":
return generate_caption_clipgpt(img)
elif model_name == "ViT-GPT2":
return generate_caption_vitgpt(img)
else:
return "Caption generation for this model is not yet implemented."
generate_button.click(predict, [image, model_choice], caption) # Trigger prediction on button click
# sample_images_gallery.change(predict, [sample_images_gallery, model_choice], caption) # Handle sample images
demo.launch()
|