Noeies commited on
Commit
ea7feda
·
verified ·
1 Parent(s): 81e414d

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -97
app.py DELETED
@@ -1,97 +0,0 @@
1
- import gradio as gr
2
- from PIL import Image, ImageDraw
3
-
4
- # -----------------------------
5
- # 1️⃣ ใส่ list ของอวัยวะ 50 ชิ้น + กรอบ + คำอธิบาย
6
- # -----------------------------
7
- organs = {
8
- "สมอง": [(180,10,270,80), "ควบคุมความคิด 🧠"],
9
- "ต่อมไทรอยด์": [(210,90,270,120), "ควบคุมเมตาบอลิซึม 🧬"],
10
- "ตาซ้าย": [(150,40,180,70), "การมองเห็น 👁️"],
11
- "ตาขวา": [(270,40,300,70), "การมองเห็น 👁️"],
12
- "หูซ้าย": [(120,40,150,80), "การได้ยิน 👂"],
13
- "หูขวา": [(300,40,330,80), "การได้ยิน 👂"],
14
- "จมูก": [(210,70,240,100), "ดมกลิ่น 👃"],
15
- "ปาก": [(200,100,250,130), "รับอาหารและสื่อสาร 👄"],
16
- "ฟัน": [(200,105,250,115), "บดเคี้ยวอาหาร 🦷"],
17
- "ลิ้น": [(210,120,240,130), "รับรส 👅"],
18
- "คอหอย": [(200,140,250,160), "ทางเดินอาหารและหายใจ"],
19
- "หัวใจ": [(220,300,280,400), "สูบฉีดเลือด ❤️"],
20
- "ปอดซ้าย": [(180,400,250,550), "แลกเปลี่ยนก๊าซ 💨"],
21
- "ปอดขวา": [(250,400,320,550), "แลกเปลี่ยนก๊าซ 💨"],
22
- "ตับ": [(200,550,300,650), "กรองของเสีย 🍷"],
23
- "ไตซ้าย": [(150,650,220,720), "กรองของเสีย 💧"],
24
- "ไตขวา": [(280,650,350,720), "กรองของเสีย 💧"],
25
- "กระเพาะอาหาร": [(200,580,300,620), "ย่อยอาหาร 🍽️"],
26
- "ลำไส้เล็ก": [(180,720,320,820), "ดูดซึมอาหาร 🌀"],
27
- "ลำไส้ใหญ่": [(180,820,320,900), "ขับของเสีย 💩"],
28
- "ม้าม": [(150,500,200,550), "ทำลายเม็ดเลือดเก่า 💉"],
29
- "ตับอ่อน": [(300,500,350,550), "สร้างอินซูลิน 💊"],
30
- "ถุงน้ำดี": [(270,550,300,580), "เก็บน้ำดี 💚"],
31
- "กระเพาะปัสสาวะ": [(200,900,300,950), "เก็บปัสสาวะ 🚰"],
32
- "มดลูก": [(220,950,280,990), "ที่อยู่ของทารก 🤰"],
33
- "รังไข่ซ้าย": [(180,930,220,970), "สร้างไข่ ⚪"],
34
- "รังไข่ขวา": [(280,930,320,970), "สร้างไข่ ⚪"],
35
- "อัณฑะซ้าย": [(180,950,220,990), "ผลิตอสุจิ ⚽"],
36
- "อัณฑะขวา": [(280,950,320,990), "ผลิตอสุจิ ⚽"],
37
- "กระดูกสันหลัง": [(210,150,250,550), "รองรับร่างกาย 🦴"],
38
- "กระดูกซี่โครง": [(180,300,320,400), "ป้องกันอวัยวะสำคัญ 🦴"],
39
- "กล้ามเนื้อแขนซ้าย": [(120,400,180,600), "เคลื่อนไหวแขน 💪"],
40
- "กล้ามเนื้อแขนขวา": [(320,400,380,600), "เคลื่อนไหวแขน 💪"],
41
- "กล้ามเนื้อขาซ้าย": [(150,900,220,1050), "เคลื่อนไหวขา 💪"],
42
- "กล้ามเนื้อขาขวา": [(280,900,350,1050), "เคลื่อนไหวขา 💪"],
43
- "กระดูกเชิงกราน": [(180,850,320,900), "รองรับอวัยวะภายใน 🦴"],
44
- "หัวไหล่ซ้าย": [(180,200,220,300), "เคลื่อนไหวแขน 🦴"],
45
- "หัวไหล่ขวา": [(280,200,320,300), "เคลื่อนไหวแขน 🦴"],
46
- "มือซ้าย": [(100,600,160,700), "จับสิ่งของ ✋"],
47
- "มือขวา": [(340,600,400,700), "จับสิ่งของ ✋"],
48
- "เท้าซ้าย": [(150,1050,220,1120), "ทรงตัวและเดิน 👣"],
49
- "เท้าขวา": [(280,1050,350,1120), "ทรงตัวและเดิน 👣"],
50
- "ไหล่": [(200,200,300,220), "เชื่อมแขนและตัว"],
51
- "ลำคอ": [(210,120,250,140), "ผ่านอาหารและอากาศ"],
52
- "กระดูกก้นกบ": [(200,1050,250,1080), "เชื่อมกับกระดูกสันหลัง"],
53
- "กระดูกสะโพกซ้าย": [(150,850,200,900), "รองรับน้ำหนักร่างกาย"],
54
- "กระดูกสะโพกขวา": [(300,850,350,900), "รองรับน้ำหนักร่างกาย"],
55
- "ข้อศอกซ้าย": [(140,500,180,550), "ยืดและงอ���ขน"],
56
- "ข้อศอกขวา": [(320,500,360,550), "ยืดและงอแขน"],
57
- "เข่าซ้าย": [(160,900,200,950), "งอและเหยียดขา"],
58
- "เข่าขวา": [(300,900,340,950), "งอและเหยียดขา"]
59
- }
60
-
61
- # -----------------------------
62
- # วาดกรอบบนภาพ
63
- # -----------------------------
64
- def draw_boxes(image):
65
- img = image.copy()
66
- draw = ImageDraw.Draw(img)
67
- for name, (box, desc) in organs.items():
68
- draw.rectangle(box, outline="red", width=2)
69
- return img
70
-
71
- # -----------------------------
72
- # ฟังก์ชันตรวจสอบคลิก
73
- # -----------------------------
74
- def detect_organ(evt: gr.SelectData):
75
- x, y = evt.index[0], evt.index[1]
76
- for name, (box, desc) in organs.items():
77
- x1, y1, x2, y2 = box
78
- if x1 <= x <= x2 and y1 <= y <= y2:
79
- return f"{name}: {desc}"
80
- return "คลิกบนกรอบอวัยวะเพื่อดูคำอธิบาย"
81
-
82
- # -----------------------------
83
- # Gradio Interface
84
- # -----------------------------
85
- with gr.Blocks() as demo:
86
- gr.Markdown("## 🧍 อัปโหลดรูป → คลิกบนกรอบอวัยวะเพื่อดูคำอธิบาย")
87
- img_input = gr.Image(type="pil")
88
- img_display = gr.Image(interactive=True)
89
- output = gr.Textbox(label="ข้อมูลอวัยวะ")
90
-
91
- # เมื่ออัปโหลดรูป วาดกรอบ
92
- img_input.upload(draw_boxes, inputs=img_input, outputs=img_display)
93
-
94
- # คลิกบนภาพเพื่อดูคำอธิบาย
95
- img_display.select(detect_organ, None, output)
96
-
97
- demo.launch()