Update app.py
Browse files
app.py
CHANGED
|
@@ -6,7 +6,6 @@ from collections import Counter
|
|
| 6 |
from ultralytics import YOLO
|
| 7 |
import plotly.express as px
|
| 8 |
import plotly.graph_objects as go
|
| 9 |
-
import os
|
| 10 |
|
| 11 |
# Load the model
|
| 12 |
model = YOLO("best.pt")
|
|
@@ -92,13 +91,6 @@ def process_image(image, conf_threshold=0.25):
|
|
| 92 |
None
|
| 93 |
)
|
| 94 |
|
| 95 |
-
def load_example_image():
|
| 96 |
-
"""Load the example test image"""
|
| 97 |
-
example_image = cv2.imread("test.png")
|
| 98 |
-
if example_image is None:
|
| 99 |
-
return None
|
| 100 |
-
return example_image
|
| 101 |
-
|
| 102 |
# Create Gradio interface with improved layout
|
| 103 |
with gr.Blocks(theme=gr.themes.Soft()) as app:
|
| 104 |
gr.Markdown("""
|
|
@@ -109,9 +101,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as app:
|
|
| 109 |
with gr.Row():
|
| 110 |
with gr.Column(scale=1):
|
| 111 |
input_image = gr.Image(type="numpy", label="Upload Image")
|
| 112 |
-
with gr.Row():
|
| 113 |
-
example_btn = gr.Button("Try Example Image")
|
| 114 |
-
analyze_btn = gr.Button("Analyze Image", variant="primary")
|
| 115 |
conf_slider = gr.Slider(
|
| 116 |
minimum=0.1,
|
| 117 |
maximum=1.0,
|
|
@@ -120,6 +109,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as app:
|
|
| 120 |
label="Confidence Threshold",
|
| 121 |
info="Adjust detection sensitivity"
|
| 122 |
)
|
|
|
|
| 123 |
|
| 124 |
with gr.Column(scale=1):
|
| 125 |
output_image = gr.Image(type="numpy", label="Detected Cells")
|
|
@@ -138,12 +128,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as app:
|
|
| 138 |
with gr.Column(scale=1):
|
| 139 |
density_plot = gr.Plot(label="Cell Density Heatmap")
|
| 140 |
|
| 141 |
-
# Handle button
|
| 142 |
-
example_btn.click(
|
| 143 |
-
load_example_image,
|
| 144 |
-
outputs=input_image
|
| 145 |
-
)
|
| 146 |
-
|
| 147 |
analyze_btn.click(
|
| 148 |
process_image,
|
| 149 |
inputs=[input_image, conf_slider],
|
|
@@ -152,7 +137,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as app:
|
|
| 152 |
|
| 153 |
gr.Markdown("""
|
| 154 |
### Instructions:
|
| 155 |
-
1. Upload a microscopy image containing cells
|
| 156 |
2. Adjust the confidence threshold if needed (higher values = stricter detection)
|
| 157 |
3. Click 'Analyze Image' to process
|
| 158 |
4. View results in the various panels:
|
|
|
|
| 6 |
from ultralytics import YOLO
|
| 7 |
import plotly.express as px
|
| 8 |
import plotly.graph_objects as go
|
|
|
|
| 9 |
|
| 10 |
# Load the model
|
| 11 |
model = YOLO("best.pt")
|
|
|
|
| 91 |
None
|
| 92 |
)
|
| 93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
# Create Gradio interface with improved layout
|
| 95 |
with gr.Blocks(theme=gr.themes.Soft()) as app:
|
| 96 |
gr.Markdown("""
|
|
|
|
| 101 |
with gr.Row():
|
| 102 |
with gr.Column(scale=1):
|
| 103 |
input_image = gr.Image(type="numpy", label="Upload Image")
|
|
|
|
|
|
|
|
|
|
| 104 |
conf_slider = gr.Slider(
|
| 105 |
minimum=0.1,
|
| 106 |
maximum=1.0,
|
|
|
|
| 109 |
label="Confidence Threshold",
|
| 110 |
info="Adjust detection sensitivity"
|
| 111 |
)
|
| 112 |
+
analyze_btn = gr.Button("Analyze Image", variant="primary")
|
| 113 |
|
| 114 |
with gr.Column(scale=1):
|
| 115 |
output_image = gr.Image(type="numpy", label="Detected Cells")
|
|
|
|
| 128 |
with gr.Column(scale=1):
|
| 129 |
density_plot = gr.Plot(label="Cell Density Heatmap")
|
| 130 |
|
| 131 |
+
# Handle button click
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
analyze_btn.click(
|
| 133 |
process_image,
|
| 134 |
inputs=[input_image, conf_slider],
|
|
|
|
| 137 |
|
| 138 |
gr.Markdown("""
|
| 139 |
### Instructions:
|
| 140 |
+
1. Upload a microscopy image containing cells
|
| 141 |
2. Adjust the confidence threshold if needed (higher values = stricter detection)
|
| 142 |
3. Click 'Analyze Image' to process
|
| 143 |
4. View results in the various panels:
|