yaraa11 commited on
Commit
79ba3a2
·
verified ·
1 Parent(s): 4273668

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -6
app.py CHANGED
@@ -41,19 +41,29 @@ def get_model():
41
  # -----------------------
42
  def predict(img):
43
  model = get_model()
 
 
 
 
 
44
  img_gray = img.convert("L").resize((224, 224))
45
  x = np.expand_dims(np.expand_dims(np.array(img_gray)/255.0, -1), 0)
46
 
 
47
  pred = model.predict(x)[0]
48
-
49
- tumor_present = pred.max() > 0.5
50
 
51
  if tumor_present:
52
- mask = (pred > 0.5).astype(np.uint8) * 255
53
- mask_img = Image.fromarray(mask.squeeze()).convert("L") # single channel for mask
 
 
 
 
 
 
54
  overlay = img.convert("RGB")
55
- red_overlay = Image.new("RGB", mask_img.size, (255,0,0))
56
- overlay.paste(red_overlay, (0,0), mask_img)
57
  return "Tumor Detected", overlay
58
  else:
59
  return "No Tumor Detected", None
 
41
  # -----------------------
42
  def predict(img):
43
  model = get_model()
44
+
45
+ # Save original size
46
+ orig_size = img.size # (width, height)
47
+
48
+ # Resize image for model
49
  img_gray = img.convert("L").resize((224, 224))
50
  x = np.expand_dims(np.expand_dims(np.array(img_gray)/255.0, -1), 0)
51
 
52
+ # Predict mask
53
  pred = model.predict(x)[0]
54
+ tumor_present = pred.max() > 0.7
 
55
 
56
  if tumor_present:
57
+ mask = (pred > 0.7).astype(np.uint8) * 255
58
+ mask_img = Image.fromarray(mask.squeeze()).convert("L")
59
+
60
+ # Resize mask back to original image size
61
+ mask_img = mask_img.resize(orig_size)
62
+
63
+ # Create red overlay
64
+ red_overlay = Image.new("RGB", orig_size, (255, 0, 0))
65
  overlay = img.convert("RGB")
66
+ overlay.paste(red_overlay, (0, 0), mask_img)
 
67
  return "Tumor Detected", overlay
68
  else:
69
  return "No Tumor Detected", None