MedhaCodes commited on
Commit
1972a39
·
verified ·
1 Parent(s): 1ecec9d

Update templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +0 -31
templates/index.html CHANGED
@@ -123,14 +123,6 @@
123
  <canvas id="barChart" height="220"></canvas>
124
  </div>
125
 
126
- <div class="glass-card p-4">
127
- <h3 class="text-xl font-bold mb-3">🧠 Model Attention (Grad-CAM)</h3>
128
- <img id="camImage"
129
- class="rounded-xl border border-gray-700 hidden"/>
130
- <p id="camHint" class="text-gray-400 text-sm">
131
- Grad-CAM visualization of affected regions
132
- </p>
133
- </div>
134
  </div>
135
  </div>
136
 
@@ -147,49 +139,37 @@ function previewImage(event) {
147
  img.src = URL.createObjectURL(event.target.files[0]);
148
  img.classList.remove("hidden");
149
  }
150
-
151
  /* ------------------ Clear ------------------ */
152
  function clearImage() {
153
  document.getElementById("file").value = "";
154
  document.getElementById("preview").classList.add("hidden");
155
  document.getElementById("result").classList.add("hidden");
156
  }
157
-
158
  /* ------------------ Submit ------------------ */
159
  let chartInstance = null;
160
-
161
  async function submitForm() {
162
  const file = document.getElementById("file").files[0];
163
  if (!file) return alert("Upload an image first");
164
-
165
  const formData = new FormData();
166
  formData.append("file", file);
167
-
168
  const start = performance.now();
169
  const res = await fetch("/predict", { method: "POST", body: formData });
170
  const data = await res.json();
171
  const end = performance.now();
172
-
173
  document.getElementById("result").classList.remove("hidden");
174
-
175
  document.getElementById("prediction").innerText = data.prediction;
176
  document.getElementById("confidenceText").innerText = data.confidence + "%";
177
  document.getElementById("confidenceFill").style.width = data.confidence + "%";
178
-
179
  const badge = document.getElementById("riskBadge");
180
  badge.innerText = data.risk + " RISK";
181
  badge.className = "badge badge-" + data.risk.toLowerCase();
182
-
183
  document.getElementById("description").innerText = data.description;
184
  document.getElementById("treatment").innerText = data.treatment;
185
-
186
  document.getElementById("inferenceTime").innerText =
187
  ((end - start) / 1000).toFixed(2) + " sec";
188
-
189
  // History
190
  document.getElementById("historyList").innerHTML +=
191
  `<li>${data.prediction} - ${data.confidence}%</li>`;
192
-
193
  // Top-5 table
194
  const table = document.getElementById("top5Table");
195
  table.innerHTML = "";
@@ -200,11 +180,9 @@ async function submitForm() {
200
  <td class="p-2 text-right">${(row.probability * 100).toFixed(2)}%</td>
201
  </tr>`;
202
  });
203
-
204
  // Bar chart
205
  const ctx = document.getElementById("barChart");
206
  if (chartInstance) chartInstance.destroy();
207
-
208
  chartInstance = new Chart(ctx, {
209
  type: "bar",
210
  data: {
@@ -219,16 +197,7 @@ async function submitForm() {
219
  scales: { y: { beginAtZero: true } }
220
  }
221
  });
222
-
223
- // Grad-CAM
224
- if (data.cam_image_url) {
225
- const cam = document.getElementById("camImage");
226
- cam.src = data.cam_image_url + "?t=" + Date.now();
227
- cam.classList.remove("hidden");
228
- document.getElementById("camHint").classList.add("hidden");
229
- }
230
  }
231
-
232
  /* ------------------ Login (demo) ------------------ */
233
  function loginUser() {
234
  const user = document.getElementById("username").value;
 
123
  <canvas id="barChart" height="220"></canvas>
124
  </div>
125
 
 
 
 
 
 
 
 
 
126
  </div>
127
  </div>
128
 
 
139
  img.src = URL.createObjectURL(event.target.files[0]);
140
  img.classList.remove("hidden");
141
  }
 
142
  /* ------------------ Clear ------------------ */
143
  function clearImage() {
144
  document.getElementById("file").value = "";
145
  document.getElementById("preview").classList.add("hidden");
146
  document.getElementById("result").classList.add("hidden");
147
  }
 
148
  /* ------------------ Submit ------------------ */
149
  let chartInstance = null;
 
150
  async function submitForm() {
151
  const file = document.getElementById("file").files[0];
152
  if (!file) return alert("Upload an image first");
 
153
  const formData = new FormData();
154
  formData.append("file", file);
 
155
  const start = performance.now();
156
  const res = await fetch("/predict", { method: "POST", body: formData });
157
  const data = await res.json();
158
  const end = performance.now();
 
159
  document.getElementById("result").classList.remove("hidden");
 
160
  document.getElementById("prediction").innerText = data.prediction;
161
  document.getElementById("confidenceText").innerText = data.confidence + "%";
162
  document.getElementById("confidenceFill").style.width = data.confidence + "%";
 
163
  const badge = document.getElementById("riskBadge");
164
  badge.innerText = data.risk + " RISK";
165
  badge.className = "badge badge-" + data.risk.toLowerCase();
 
166
  document.getElementById("description").innerText = data.description;
167
  document.getElementById("treatment").innerText = data.treatment;
 
168
  document.getElementById("inferenceTime").innerText =
169
  ((end - start) / 1000).toFixed(2) + " sec";
 
170
  // History
171
  document.getElementById("historyList").innerHTML +=
172
  `<li>${data.prediction} - ${data.confidence}%</li>`;
 
173
  // Top-5 table
174
  const table = document.getElementById("top5Table");
175
  table.innerHTML = "";
 
180
  <td class="p-2 text-right">${(row.probability * 100).toFixed(2)}%</td>
181
  </tr>`;
182
  });
 
183
  // Bar chart
184
  const ctx = document.getElementById("barChart");
185
  if (chartInstance) chartInstance.destroy();
 
186
  chartInstance = new Chart(ctx, {
187
  type: "bar",
188
  data: {
 
197
  scales: { y: { beginAtZero: true } }
198
  }
199
  });
 
 
 
 
 
 
 
 
200
  }
 
201
  /* ------------------ Login (demo) ------------------ */
202
  function loginUser() {
203
  const user = document.getElementById("username").value;