KPrashanth commited on
Commit
256b336
·
verified ·
1 Parent(s): 0ed7ef4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -24
app.py CHANGED
@@ -2,6 +2,8 @@
2
 
3
  import gradio as gr
4
  from PIL import Image
 
 
5
 
6
  from pipeline import SmartCBC
7
 
@@ -25,36 +27,30 @@ def analyze_images(images, age, gender, output_mode):
25
  # Gradio Gallery sometimes returns list of tuples: (PIL.Image, metadata)
26
  def to_pil_list(img_list):
27
  pil_list = []
 
28
  for item in img_list:
 
29
  if isinstance(item, tuple):
30
- # assume first element is the PIL image
31
- pil = item[0]
32
  else:
33
- pil = item
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  pil_list.append(pil)
 
35
  return pil_list
36
 
37
- pil_images = to_pil_list(images)
38
-
39
- # If 1 image → single-FOV path
40
- if len(pil_images) == 1:
41
- result = cbc.analyze(
42
- image=pil_images[0],
43
- age=age,
44
- gender=gender
45
- )
46
- else:
47
- # Multiple images → multi-FOV aggregation
48
- result = cbc.analyze(
49
- image=pil_images, # list → analyze_batch under the hood
50
- age=age,
51
- gender=gender
52
- )
53
-
54
- if output_mode == "Text Report":
55
- return result["report_text"], None
56
- else:
57
- return None, result
58
 
59
 
60
  # -------------------------------------------------
 
2
 
3
  import gradio as gr
4
  from PIL import Image
5
+ import numpy as np
6
+
7
 
8
  from pipeline import SmartCBC
9
 
 
27
  # Gradio Gallery sometimes returns list of tuples: (PIL.Image, metadata)
28
  def to_pil_list(img_list):
29
  pil_list = []
30
+
31
  for item in img_list:
32
+ # Gallery may return (media, meta) or just media
33
  if isinstance(item, tuple):
34
+ media = item[0]
 
35
  else:
36
+ media = item
37
+
38
+ # filepath string
39
+ if isinstance(media, str):
40
+ pil = Image.open(media).convert("RGB")
41
+ # already a PIL Image
42
+ elif isinstance(media, Image.Image):
43
+ pil = media.convert("RGB")
44
+ # numpy array
45
+ elif isinstance(media, np.ndarray):
46
+ pil = Image.fromarray(media).convert("RGB")
47
+ else:
48
+ raise ValueError(f"Unsupported gallery item type: {type(media)}")
49
+
50
  pil_list.append(pil)
51
+
52
  return pil_list
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
 
56
  # -------------------------------------------------