filmm commited on
Commit
adfef07
·
verified ·
1 Parent(s): 6368899

Delete result.html

Browse files
Files changed (1) hide show
  1. result.html +0 -202
result.html DELETED
@@ -1,202 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>Scan Result</title>
6
- <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@600&display=swap" rel="stylesheet">
7
- <style>
8
- body {
9
- font-family: 'Orbitron', sans-serif;
10
- background: radial-gradient(circle at center, #050b14 0%, #000000 100%);
11
- color: #e0f2ff;
12
- text-align: center;
13
- padding: 2rem;
14
- margin: 0;
15
- overflow-x: hidden;
16
- }
17
-
18
- /* ✅ พื้นหลังอวกาศ */
19
- .space-bg {
20
- position: fixed;
21
- top: 0; left: 0;
22
- width: 100vw; height: 100vh;
23
- z-index: -1;
24
- background: radial-gradient(ellipse at center, #0c1a2b, #000);
25
- overflow: hidden;
26
- }
27
-
28
- .star {
29
- position: absolute;
30
- width: 2px;
31
- height: 2px;
32
- background: white;
33
- border-radius: 50%;
34
- animation: twinkle 3s infinite ease-in-out;
35
- }
36
-
37
- @keyframes twinkle {
38
- 0%, 100% { opacity: 0.2; transform: scale(1); }
39
- 50% { opacity: 1; transform: scale(1.5); }
40
- }
41
-
42
- .uploaded-image {
43
- max-width: 600px;
44
- width: 100%;
45
- height: auto;
46
- border-radius: 1rem;
47
- margin: 1rem 0;
48
- box-shadow: 0 0 20px #00eaff;
49
- }
50
-
51
- .result-box {
52
- margin-top: 1.5rem;
53
- background: rgba(0, 255, 255, 0.07);
54
- padding: 1.8rem;
55
- border-radius: 1.5rem;
56
- box-shadow: 0 0 25px rgba(0, 255, 255, 0.15);
57
- max-width: 700px;
58
- margin-left: auto;
59
- margin-right: auto;
60
- }
61
-
62
- .btn {
63
- padding: 0.8rem 2rem;
64
- background: #00bfff;
65
- border: none;
66
- color: white;
67
- font-size: 1.1rem;
68
- border-radius: 1rem;
69
- margin-top: 2rem;
70
- cursor: pointer;
71
- box-shadow: 0 0 20px #00eaff;
72
- text-decoration: none;
73
- }
74
-
75
- .btn:hover {
76
- box-shadow: 0 0 30px #00ffff;
77
- transform: scale(1.05);
78
- }
79
-
80
- .score, .highlight {
81
- font-size: 1.3rem;
82
- margin: 0.6rem 0;
83
- }
84
-
85
- .highlight span {
86
- color: #00eaff;
87
- font-weight: bold;
88
- }
89
-
90
- .risk-level {
91
- font-size: 1.5rem;
92
- margin-top: 1.5rem;
93
- }
94
-
95
- .risk-low { color: #6aff6a; }
96
- .risk-medium { color: #ffe066; }
97
- .risk-high { color: #ff4d4d; }
98
-
99
- .combined-risk-box {
100
- margin-top: 1.5rem;
101
- font-size: 1.8rem;
102
- color: #00ffff;
103
- font-weight: bold;
104
- text-shadow: 0 0 10px #00ffff;
105
- }
106
-
107
- .info-box {
108
- margin-top: 1rem;
109
- font-size: 1.05rem;
110
- color: #9cefff;
111
- }
112
-
113
- summary {
114
- cursor: pointer;
115
- font-size: 1.1rem;
116
- color: #00eaff;
117
- }
118
-
119
- details p {
120
- margin-top: 1rem;
121
- line-height: 1.6;
122
- font-size: 0.95rem;
123
- color: #c4f1ff;
124
- }
125
- </style>
126
- </head>
127
- <body>
128
- <!-- ✅ พื้นหลังอวกาศแบบเคลื่อนไหว -->
129
- <div class="space-bg" id="space-bg"></div>
130
-
131
- <h1>🔬 AI Scan Result</h1>
132
-
133
- <p>🧪 Original Image:</p>
134
- <img src="{{ url_for('static', filename='uploads/' + filename) }}" class="uploaded-image" alt="Original Image">
135
-
136
- <h2>🧬 Image with Detection:</h2>
137
- <img src="{{ url_for('static', filename=marked_filename) }}" class="uploaded-image" alt="Detected Image">
138
-
139
- <div class="result-box">
140
- <div class="highlight">🧬 ปกเซลล์ผิดปกติ (Blast): <span>{{ abnormal_cells }}</span> เซลล์</div>
141
- <div class="highlight">➡️ ความเสี่ยงจาก Blast = <span class="count" data-target="{{ blast_risk }}">0</span>%</div>
142
- <div class="highlight">🧠 HuggingFace Model: <span class="count" data-target="{{ huggingface_score }}">0</span>% โอกาสเป็นลูคีเมีย</div>
143
-
144
- <div class="risk-level {% if combined_risk < 20 %}risk-low{% elif combined_risk < 60 %}risk-medium{% else %}risk-high{% endif %}">
145
- ✅ สรุปผล: ความเสี่ยงระดับ
146
- <strong>
147
- {% if combined_risk < 20 %}ต่ำ
148
- {% elif combined_risk < 60 %}ปานกลาง
149
- {% else %}สูง
150
- {% endif %}
151
- </strong>
152
- </div>
153
-
154
- <div class="combined-risk-box">💡 ความเสี่ยงรวม: <span class="count" data-target="{{ combined_risk }}">0</span>%</div>
155
- <div class="info-box">📋 ปัจจัยเสริม: {{ sex }} อายุ {{ age }} ปี</div>
156
- </div>
157
-
158
- <a href="/" class="btn">🔁 Scan Another</a>
159
-
160
- <details style="margin-top: 2rem;">
161
- <summary>❓ อธิบายผลการตรวจ</summary>
162
- <p>
163
- 🔹 <strong>ความเสี่ยงจาก Blast</strong>: คำนวณจากจำนวนเซลล์เม็ดเลือดขาวที่มีลักษณะผิดปกติ (Blast) เทียบกับเซลล��เม็ดเลือดขาวทั้งหมดที่ตรวจพบในภาพ<br><br>
164
- 🔹 <strong>HuggingFace Model</strong>: วิเคราะห์ภาพรวมด้วยโมเดล AI ที่ผ่านการเทรนมาสำหรับแยกแยะภาพกลุ่มผู้ป่วยลูคีเมียและไม่เป็นลูคีเมีย โดยประเมินความเสี่ยงจากมุมมองรวมของภาพ<br><br>
165
- 📌 หากค่าทั้งสองมีความต่างกันมาก แนะนำให้ปรึกษาแพทย์เพื่อยืนยันผล และไม่ควรตัดสินใจรักษาโดยยึดจาก AI เพียงอย่างเดียว
166
- </p>
167
- </details>
168
-
169
- <!-- ✅ Animated Number Counter -->
170
- <script>
171
- const counters = document.querySelectorAll('.count');
172
- counters.forEach(counter => {
173
- counter.innerText = '0';
174
- const update = () => {
175
- const target = +counter.getAttribute('data-target');
176
- const current = +counter.innerText;
177
- const increment = target / 60;
178
-
179
- if (current < target) {
180
- counter.innerText = (current + increment).toFixed(1);
181
- setTimeout(update, 20);
182
- } else {
183
- counter.innerText = target.toFixed(1);
184
- }
185
- };
186
- update();
187
- });
188
-
189
- // ⭐ ใส่ดาวในพื้นหลัง
190
- const bg = document.getElementById('space-bg');
191
- for (let i = 0; i < 80; i++) {
192
- const star = document.createElement('div');
193
- star.classList.add('star');
194
- star.style.top = `${Math.random() * 100}vh`;
195
- star.style.left = `${Math.random() * 100}vw`;
196
- star.style.animationDuration = `${Math.random() * 3 + 2}s`;
197
- star.style.opacity = Math.random();
198
- bg.appendChild(star);
199
- }
200
- </script>
201
- </body>
202
- </html>