File size: 1,350 Bytes
b092e67 3011029 b092e67 59d7f29 b092e67 59d7f29 b092e67 59d7f29 3011029 b092e67 59d7f29 b092e67 59d7f29 b092e67 44607d3 59d7f29 3011029 b092e67 |
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 |
import gradio as gr
# from gradio_image_prompter import ImagePrompter
from typing import List
from shapely.geometry import Point
from checkbox_physical import *
from boxes_define import gdf
# Function to find the matching bounding box for a given point and return the image with boxes
def find_bounding_box(evt: gr.SelectData, img, section: str):
x, y = evt.index[0], evt.index[1]
point = Point(x, y)
match = gdf[gdf.contains(point)]
if not match.empty:
matched_box = match.iloc[0]['name']
physical_checkbox, physical_text = checkbox(matched_box, section)
else:
matched_box = "None"
physical_checkbox, physical_text = create_template_checkbox()
return physical_checkbox, physical_text
def create_template_checkbox():
#templates
checkbox = gr.CheckboxGroup([], label="", visible=False)
text = gr.Textbox("", label = "", interactive=False, visible=False)
return checkbox, text
# Gradio app
def create_bird_anatomy(section: str):
# Draw bounding boxes on the image
img_with_boxes = gr.Image(value='assets/images/bird_boxed.png',
show_label=False,
height="600px",
elem_id=section)
checkbox, text = create_template_checkbox()
return img_with_boxes, checkbox, text
|