Spaces:
Runtime error
Runtime error
import numpy as np | |
import random | |
from PIL import Image | |
import os | |
from glob import glob | |
from utils import get_index_to_class_mapping | |
from create_video import generate_video | |
def load_overlay(pathology_str:str, index:int): | |
path = "data" | |
pathology_path = os.path.join(path, pathology_str, f"*_{index}_overlay.png") | |
pathology_path = glob(pathology_path) | |
if len(pathology_path) == 0: | |
return Image.fromarray(np.zeros((256, 256))).convert("L") | |
pathology_path = pathology_path[0] | |
im = Image.open(pathology_path) | |
return im | |
def generate_image(pathology_str:str): | |
pathology_idx = get_index_to_class_mapping() | |
pathology_idx_inverted = {v: k for k, v in pathology_idx.items()} | |
idx = random.randint(1, 100) | |
im = Image.open(os.path.join("data", pathology_str, f"{pathology_idx_inverted[pathology_str] - 1}_{idx}.png")) | |
im_to_disp = np.array(im) | |
return im_to_disp, idx | |
def generate_video_and_gradcam(pathology_str): | |
image, idx = generate_image(pathology_str) | |
video = generate_video(image) | |
generated_gradcam = load_overlay(pathology_str, idx) | |
return video, generated_gradcam | |