dropbop commited on
Commit
80acacc
·
verified ·
1 Parent(s): 0620a58

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -3
app.py CHANGED
@@ -1,6 +1,8 @@
1
  import gradio as gr
2
  import earthview as ev
3
  from PIL import Image
 
 
4
  import os
5
  import json
6
  import utils
@@ -39,7 +41,12 @@ def get_next_sample():
39
  # --- Save Labeled Data ---
40
  def save_labeled_data(image, label, state):
41
  global labeled_data
42
- image_bytes = image.convert("RGB").tobytes() if image else None
 
 
 
 
 
43
 
44
  labeled_data.append({
45
  "image": image_bytes,
@@ -52,15 +59,21 @@ def save_labeled_data(image, label, state):
52
 
53
  new_sample = get_next_sample()
54
  if new_sample is None:
 
55
  return "Dataset exhausted.", None, DataFrame()
56
 
57
  new_image = new_sample["rgb"][0]
58
  new_metadata = new_sample["metadata"]
59
  new_metadata["map"] = f'<a href="{utils.get_google_map_link(new_sample, DATASET_SUBSET)}" target="_blank">🧭</a>'
60
-
61
  state["metadata"] = new_metadata # Update metadata in state
62
 
63
- return "", new_image, DataFrame([new_metadata])
 
 
 
 
 
 
64
 
65
  # --- Gradio Interface ---
66
  # --- Labeling UI ---
 
1
  import gradio as gr
2
  import earthview as ev
3
  from PIL import Image
4
+ import numpy as np
5
+ import random
6
  import os
7
  import json
8
  import utils
 
41
  # --- Save Labeled Data ---
42
  def save_labeled_data(image, label, state):
43
  global labeled_data
44
+
45
+ # Convert PIL Image to bytes before saving
46
+ if image is not None:
47
+ image_bytes = image.convert("RGB").tobytes()
48
+ else:
49
+ image_bytes = None
50
 
51
  labeled_data.append({
52
  "image": image_bytes,
 
59
 
60
  new_sample = get_next_sample()
61
  if new_sample is None:
62
+ print("Dataset exhausted.")
63
  return "Dataset exhausted.", None, DataFrame()
64
 
65
  new_image = new_sample["rgb"][0]
66
  new_metadata = new_sample["metadata"]
67
  new_metadata["map"] = f'<a href="{utils.get_google_map_link(new_sample, DATASET_SUBSET)}" target="_blank">🧭</a>'
 
68
  state["metadata"] = new_metadata # Update metadata in state
69
 
70
+ # Convert new PIL Image to bytes for sending to client-side
71
+ if new_image is not None:
72
+ new_image_bytes = new_image.convert("RGB").tobytes()
73
+ else:
74
+ new_image_bytes = None
75
+
76
+ return "", new_image_bytes, DataFrame([new_metadata])
77
 
78
  # --- Gradio Interface ---
79
  # --- Labeling UI ---