Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
|
@@ -363,7 +363,7 @@ def click_on_image(current_manager, image, point_mode, evt: gr.SelectData):
|
|
| 363 |
|
| 364 |
return result_image, current_manager, create_layer_status_html(current_manager), f"{mode_text} point added to '{layer_name}' at ({x}, {y})"
|
| 365 |
|
| 366 |
-
def segment_all_layers(current_manager, image
|
| 367 |
"""๋ชจ๋ ๋ ์ด์ด๋ฅผ ์์๋๋ก ์ธ๊ทธ๋ฉํ
์ด์
์คํ"""
|
| 368 |
if current_manager is None:
|
| 369 |
current_manager = LayerManager()
|
|
@@ -419,7 +419,7 @@ def segment_all_layers(current_manager, image, opacity, border_width):
|
|
| 419 |
print(f"[segment_all_layers] Completed '{layer_name}'")
|
| 420 |
|
| 421 |
# ๊ฒฐ๊ณผ ์ด๋ฏธ์ง ์์ฑ (ํฌ์ธํธ ํฌํจ)
|
| 422 |
-
result_image = compose_all_layers(image, current_manager,
|
| 423 |
result_image = draw_points_on_image(result_image, current_manager)
|
| 424 |
|
| 425 |
# ๋ฉด์ ๋ถ์
|
|
@@ -438,7 +438,7 @@ def segment_all_layers(current_manager, image, opacity, border_width):
|
|
| 438 |
traceback.print_exc()
|
| 439 |
return None, current_manager, create_layer_status_html(current_manager), f"Error: {str(e)}", pd.DataFrame()
|
| 440 |
|
| 441 |
-
def clear_current_layer(current_manager, image
|
| 442 |
"""ํ์ฌ ๋ ์ด์ด ์ด๊ธฐํ"""
|
| 443 |
if current_manager is None:
|
| 444 |
current_manager = LayerManager()
|
|
@@ -447,7 +447,7 @@ def clear_current_layer(current_manager, image, opacity, border_width):
|
|
| 447 |
current_manager.clear_current_layer()
|
| 448 |
|
| 449 |
if image:
|
| 450 |
-
result_image = compose_all_layers(image, current_manager,
|
| 451 |
result_image = draw_points_on_image(result_image, current_manager)
|
| 452 |
else:
|
| 453 |
result_image = None
|
|
@@ -501,7 +501,7 @@ with gr.Blocks() as demo:
|
|
| 501 |
layer_buttons_html = gr.HTML("<div style='padding: 10px; text-align: center; color: #888;'>No layers created</div>")
|
| 502 |
|
| 503 |
# ๋ ์ด์ด ์ ํ (๋ผ๋์ค ๋ฒํผ์ผ๋ก ๋ณ๊ฒฝ)
|
| 504 |
-
layer_selector = gr.Radio(label="Select Layer to Add Points", choices=[], interactive=True)
|
| 505 |
|
| 506 |
# ํฌ์ธํธ ๋ชจ๋ ์ ํ
|
| 507 |
gr.Markdown("### Point Mode")
|
|
@@ -539,10 +539,8 @@ with gr.Blocks() as demo:
|
|
| 539 |
label="Area Ratio by Layer"
|
| 540 |
)
|
| 541 |
|
| 542 |
-
# ์ค์
|
| 543 |
-
|
| 544 |
-
opacity_slider = gr.Slider(0.1, 1.0, value=0.5, step=0.1, label="Mask Opacity")
|
| 545 |
-
border_slider = gr.Slider(0, 5, value=2, step=1, label="Border Width")
|
| 546 |
|
| 547 |
# ์ด๋ฒคํธ ์ฐ๊ฒฐ
|
| 548 |
create_layer_btn.click(
|
|
@@ -608,28 +606,28 @@ with gr.Blocks() as demo:
|
|
| 608 |
# ๋ชจ๋ ๋ ์ด์ด ์ธ๊ทธ๋ฉํ
์ด์
์คํ
|
| 609 |
segment_btn.click(
|
| 610 |
segment_all_layers,
|
| 611 |
-
inputs=[st_layer_manager, img_input
|
| 612 |
outputs=[img_output, st_layer_manager, layer_buttons_html, status_text, area_table]
|
| 613 |
)
|
| 614 |
|
| 615 |
clear_btn.click(
|
| 616 |
clear_current_layer,
|
| 617 |
-
inputs=[st_layer_manager, img_input
|
| 618 |
outputs=[img_output, st_layer_manager, layer_buttons_html, status_text, area_table]
|
| 619 |
)
|
| 620 |
|
| 621 |
-
# ํฌ๋ช
๋ ๋ฐ ํ
๋๋ฆฌ ์ฌ๋ผ์ด๋ ์ค์๊ฐ ์
๋ฐ์ดํธ
|
| 622 |
-
opacity_slider.change(
|
| 623 |
-
|
| 624 |
-
|
| 625 |
-
|
| 626 |
-
)
|
| 627 |
-
|
| 628 |
-
border_slider.change(
|
| 629 |
-
|
| 630 |
-
|
| 631 |
-
|
| 632 |
-
)
|
| 633 |
|
| 634 |
# ์ด๋ฏธ์ง ์
๋ก๋ ์ ์ด๊ธฐ๏ฟฝ๏ฟฝ
|
| 635 |
def on_image_upload(img):
|
|
|
|
| 363 |
|
| 364 |
return result_image, current_manager, create_layer_status_html(current_manager), f"{mode_text} point added to '{layer_name}' at ({x}, {y})"
|
| 365 |
|
| 366 |
+
def segment_all_layers(current_manager, image):
|
| 367 |
"""๋ชจ๋ ๋ ์ด์ด๋ฅผ ์์๋๋ก ์ธ๊ทธ๋ฉํ
์ด์
์คํ"""
|
| 368 |
if current_manager is None:
|
| 369 |
current_manager = LayerManager()
|
|
|
|
| 419 |
print(f"[segment_all_layers] Completed '{layer_name}'")
|
| 420 |
|
| 421 |
# ๊ฒฐ๊ณผ ์ด๋ฏธ์ง ์์ฑ (ํฌ์ธํธ ํฌํจ)
|
| 422 |
+
result_image = compose_all_layers(image, current_manager, 0.5, 2) # ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ
|
| 423 |
result_image = draw_points_on_image(result_image, current_manager)
|
| 424 |
|
| 425 |
# ๋ฉด์ ๋ถ์
|
|
|
|
| 438 |
traceback.print_exc()
|
| 439 |
return None, current_manager, create_layer_status_html(current_manager), f"Error: {str(e)}", pd.DataFrame()
|
| 440 |
|
| 441 |
+
def clear_current_layer(current_manager, image):
|
| 442 |
"""ํ์ฌ ๋ ์ด์ด ์ด๊ธฐํ"""
|
| 443 |
if current_manager is None:
|
| 444 |
current_manager = LayerManager()
|
|
|
|
| 447 |
current_manager.clear_current_layer()
|
| 448 |
|
| 449 |
if image:
|
| 450 |
+
result_image = compose_all_layers(image, current_manager, 0.5, 2) # ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ
|
| 451 |
result_image = draw_points_on_image(result_image, current_manager)
|
| 452 |
else:
|
| 453 |
result_image = None
|
|
|
|
| 501 |
layer_buttons_html = gr.HTML("<div style='padding: 10px; text-align: center; color: #888;'>No layers created</div>")
|
| 502 |
|
| 503 |
# ๋ ์ด์ด ์ ํ (๋ผ๋์ค ๋ฒํผ์ผ๋ก ๋ณ๊ฒฝ)
|
| 504 |
+
layer_selector = gr.Radio(label="Select Layer to Add Points", choices=[], interactive=True, value=None)
|
| 505 |
|
| 506 |
# ํฌ์ธํธ ๋ชจ๋ ์ ํ
|
| 507 |
gr.Markdown("### Point Mode")
|
|
|
|
| 539 |
label="Area Ratio by Layer"
|
| 540 |
)
|
| 541 |
|
| 542 |
+
# ์ค์ - ์์ ํ ์ ๊ฑฐ (API ์คํค๋ง ์ถฉ๋ ๋ฐฉ์ง)
|
| 543 |
+
# Visualization settings removed temporarily
|
|
|
|
|
|
|
| 544 |
|
| 545 |
# ์ด๋ฒคํธ ์ฐ๊ฒฐ
|
| 546 |
create_layer_btn.click(
|
|
|
|
| 606 |
# ๋ชจ๋ ๋ ์ด์ด ์ธ๊ทธ๋ฉํ
์ด์
์คํ
|
| 607 |
segment_btn.click(
|
| 608 |
segment_all_layers,
|
| 609 |
+
inputs=[st_layer_manager, img_input],
|
| 610 |
outputs=[img_output, st_layer_manager, layer_buttons_html, status_text, area_table]
|
| 611 |
)
|
| 612 |
|
| 613 |
clear_btn.click(
|
| 614 |
clear_current_layer,
|
| 615 |
+
inputs=[st_layer_manager, img_input],
|
| 616 |
outputs=[img_output, st_layer_manager, layer_buttons_html, status_text, area_table]
|
| 617 |
)
|
| 618 |
|
| 619 |
+
# ํฌ๋ช
๋ ๋ฐ ํ
๋๋ฆฌ ์ฌ๋ผ์ด๋ ์ค์๊ฐ ์
๋ฐ์ดํธ - ์ผ์์ ์ผ๋ก ๋นํ์ฑํ
|
| 620 |
+
# opacity_slider.change(
|
| 621 |
+
# refresh_visualization,
|
| 622 |
+
# inputs=[st_layer_manager, img_input, opacity_slider, border_slider],
|
| 623 |
+
# outputs=[img_output, status_text, area_table]
|
| 624 |
+
# )
|
| 625 |
+
|
| 626 |
+
# border_slider.change(
|
| 627 |
+
# refresh_visualization,
|
| 628 |
+
# inputs=[st_layer_manager, img_input, opacity_slider, border_slider],
|
| 629 |
+
# outputs=[img_output, status_text, area_table]
|
| 630 |
+
# )
|
| 631 |
|
| 632 |
# ์ด๋ฏธ์ง ์
๋ก๋ ์ ์ด๊ธฐ๏ฟฝ๏ฟฝ
|
| 633 |
def on_image_upload(img):
|