Spaces:
Build error
Build error
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 ---
|