Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,3 +1,5 @@
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
import sys
|
3 |
import os
|
@@ -16,7 +18,7 @@ sys.path.append('Utils')
|
|
16 |
sys.path.append('model')
|
17 |
from model.CBAM.reunet_cbam import reunet_cbam
|
18 |
from model.transform import transforms
|
19 |
-
|
20 |
from Utils.area import pixel_to_sqft, process_and_overlay_image
|
21 |
from split_merge import merge
|
22 |
from Utils.convert import read_pansharpened_rgb
|
@@ -34,19 +36,19 @@ if not HF_TOKEN:
|
|
34 |
REPO_ID = "Pavan2k4/Building_area"
|
35 |
REPO_TYPE = "space"
|
36 |
|
37 |
-
# Define
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
42 |
|
43 |
-
# Create
|
44 |
-
|
45 |
-
for directory in [PATCHES_DIR, PRED_PATCHES_DIR, MASK_DIR]:
|
46 |
os.makedirs(directory, exist_ok=True)
|
47 |
|
48 |
-
# Load model
|
49 |
-
@st.cache_resource
|
50 |
def load_model():
|
51 |
model = reunet_cbam()
|
52 |
model.load_state_dict(torch.load('latest.pth', map_location='cpu')['model_state_dict'])
|
@@ -111,8 +113,7 @@ def split(image_path, patch_size=512):
|
|
111 |
patch_filename = f"patch_{i}_{j}.png"
|
112 |
patch_path = os.path.join(PATCHES_DIR, patch_filename)
|
113 |
patch.save(patch_path)
|
114 |
-
st.write(f"Saved patch: {patch_path}")
|
115 |
-
|
116 |
|
117 |
def upload_page():
|
118 |
if 'file_uploaded' not in st.session_state:
|
@@ -181,7 +182,7 @@ def upload_page():
|
|
181 |
|
182 |
# Count and display the number of patches
|
183 |
num_patches = len([f for f in os.listdir(PATCHES_DIR) if f.endswith('.png')])
|
184 |
-
|
185 |
|
186 |
# Display buffer while analyzing
|
187 |
with st.spinner('Analyzing...'):
|
@@ -189,7 +190,7 @@ def upload_page():
|
|
189 |
for patch_filename in os.listdir(PATCHES_DIR):
|
190 |
if patch_filename.endswith(".png"):
|
191 |
patch_path = os.path.join(PATCHES_DIR, patch_filename)
|
192 |
-
|
193 |
patch_img = Image.open(patch_path)
|
194 |
patch_tr_img = transforms(patch_img)
|
195 |
prediction = predict(patch_tr_img)
|
@@ -197,7 +198,7 @@ def upload_page():
|
|
197 |
mask_filename = f"mask_{patch_filename}"
|
198 |
mask_filepath = os.path.join(PRED_PATCHES_DIR, mask_filename)
|
199 |
Image.fromarray(mask).save(mask_filepath)
|
200 |
-
|
201 |
|
202 |
# Merge predicted patches
|
203 |
merged_mask_filename = f"mask_{timestamp}.png"
|
|
|
1 |
+
|
2 |
+
|
3 |
import streamlit as st
|
4 |
import sys
|
5 |
import os
|
|
|
18 |
sys.path.append('model')
|
19 |
from model.CBAM.reunet_cbam import reunet_cbam
|
20 |
from model.transform import transforms
|
21 |
+
|
22 |
from Utils.area import pixel_to_sqft, process_and_overlay_image
|
23 |
from split_merge import merge
|
24 |
from Utils.convert import read_pansharpened_rgb
|
|
|
36 |
REPO_ID = "Pavan2k4/Building_area"
|
37 |
REPO_TYPE = "space"
|
38 |
|
39 |
+
# Define subdirectories using relative paths
|
40 |
+
UPLOAD_DIR = "uploaded_images"
|
41 |
+
MASK_DIR = "generated_masks"
|
42 |
+
PATCHES_DIR = "patches"
|
43 |
+
PRED_PATCHES_DIR = "pred_patches"
|
44 |
+
CSV_LOG_PATH = "image_log.csv"
|
45 |
|
46 |
+
# Create directories
|
47 |
+
for directory in [UPLOAD_DIR, MASK_DIR, PATCHES_DIR, PRED_PATCHES_DIR]:
|
|
|
48 |
os.makedirs(directory, exist_ok=True)
|
49 |
|
50 |
+
# Load model
|
51 |
+
@st.cache_resource
|
52 |
def load_model():
|
53 |
model = reunet_cbam()
|
54 |
model.load_state_dict(torch.load('latest.pth', map_location='cpu')['model_state_dict'])
|
|
|
113 |
patch_filename = f"patch_{i}_{j}.png"
|
114 |
patch_path = os.path.join(PATCHES_DIR, patch_filename)
|
115 |
patch.save(patch_path)
|
116 |
+
st.write(f"Saved patch: {patch_path}") # Debug output
|
|
|
117 |
|
118 |
def upload_page():
|
119 |
if 'file_uploaded' not in st.session_state:
|
|
|
182 |
|
183 |
# Count and display the number of patches
|
184 |
num_patches = len([f for f in os.listdir(PATCHES_DIR) if f.endswith('.png')])
|
185 |
+
st.write(f"Number of patches created: {num_patches}") # Debug output
|
186 |
|
187 |
# Display buffer while analyzing
|
188 |
with st.spinner('Analyzing...'):
|
|
|
190 |
for patch_filename in os.listdir(PATCHES_DIR):
|
191 |
if patch_filename.endswith(".png"):
|
192 |
patch_path = os.path.join(PATCHES_DIR, patch_filename)
|
193 |
+
st.write(f"Processing patch: {patch_path}") # Debug output
|
194 |
patch_img = Image.open(patch_path)
|
195 |
patch_tr_img = transforms(patch_img)
|
196 |
prediction = predict(patch_tr_img)
|
|
|
198 |
mask_filename = f"mask_{patch_filename}"
|
199 |
mask_filepath = os.path.join(PRED_PATCHES_DIR, mask_filename)
|
200 |
Image.fromarray(mask).save(mask_filepath)
|
201 |
+
st.write(f"Saved mask: {mask_filepath}") # Debug output
|
202 |
|
203 |
# Merge predicted patches
|
204 |
merged_mask_filename = f"mask_{timestamp}.png"
|