Skip to content

Commit d705317

Browse files
Simplify instance segmentation gui
1 parent 3925874 commit d705317

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed

examples/sam_annotator_2d.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ def main():
6565
# livecell_annotator(use_finetuned_model)
6666

6767
# 2d annotator for cell tracking challenge hela data
68-
# hela_2d_annotator(use_finetuned_model)
68+
hela_2d_annotator(use_finetuned_model)
6969

7070
# 2d annotator for a whole slide image
71-
wholeslide_annotator(use_finetuned_model)
71+
# wholeslide_annotator(use_finetuned_model)
7272

7373

7474
if __name__ == "__main__":

micro_sam/sam_annotator/annotator_2d.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,14 @@ def segment_wigdet(v: Viewer):
3838
v.layers["current_object"].refresh()
3939

4040

41-
def _get_amg(is_tiled, with_background, min_initial_size, use_box, use_mask, use_points, box_extension):
41+
def _get_amg(is_tiled, with_background, min_initial_size, box_extension=0.05):
4242
if is_tiled:
4343
amg = instance_segmentation.TiledEmbeddingMaskGenerator(
44-
PREDICTOR, with_background=with_background, min_initial_size=min_initial_size,
45-
use_box=use_box, use_mask=use_mask, use_points=use_points, box_extension=box_extension,
44+
PREDICTOR, with_background=with_background, min_initial_size=min_initial_size, box_extension=box_extension,
4645
)
4746
else:
4847
amg = instance_segmentation.EmbeddingMaskGenerator(
49-
PREDICTOR, min_initial_size=min_initial_size,
50-
use_box=use_box, use_mask=use_mask, use_points=use_points, box_extension=box_extension,
48+
PREDICTOR, min_initial_size=min_initial_size, box_extension=box_extension,
5149
)
5250
return amg
5351

@@ -56,7 +54,7 @@ def _changed_param(amg, **params):
5654
if amg is None:
5755
return None
5856
for name, val in params.items():
59-
if hasattr(amg, name) and getattr(amg, name) != val:
57+
if hasattr(amg, f"_{name}") and getattr(amg, f"_{name}") != val:
6058
return name
6159
return None
6260

@@ -68,22 +66,17 @@ def autosegment_widget(
6866
pred_iou_thresh: float = 0.88,
6967
stability_score_thresh: float = 0.95,
7068
min_initial_size: int = 10,
71-
use_box: bool = True,
72-
use_mask: bool = True,
73-
use_points: bool = False,
74-
box_extension: float = 0.1,
69+
box_extension: float = 0.05,
7570
):
7671
global AMG
7772
is_tiled = IMAGE_EMBEDDINGS["input_size"] is None
7873
param_changed = _changed_param(
79-
AMG, with_background=with_background, min_initial_size=min_initial_size,
80-
use_box=use_box, use_mask=use_mask, use_points=use_points,
81-
box_extension=box_extension,
74+
AMG, with_background=with_background, min_initial_size=min_initial_size, box_extension=box_extension
8275
)
8376
if AMG is None or param_changed:
8477
if param_changed:
8578
print(f"The parameter {param_changed} was changed, so the full instance segmentation has to be recomputed.")
86-
AMG = _get_amg(is_tiled, with_background, min_initial_size, use_box, use_mask, use_points, box_extension)
79+
AMG = _get_amg(is_tiled, with_background, min_initial_size, box_extension)
8780

8881
if not AMG.is_initialized:
8982
AMG.initialize(v.layers["raw"].data, image_embeddings=IMAGE_EMBEDDINGS, verbose=True)

0 commit comments

Comments
 (0)