diff --git a/annolid/segmentation/SAM/edge_sam_bg.py b/annolid/segmentation/SAM/edge_sam_bg.py index 1f8830a..703bdfa 100644 --- a/annolid/segmentation/SAM/edge_sam_bg.py +++ b/annolid/segmentation/SAM/edge_sam_bg.py @@ -209,6 +209,9 @@ def process_video_with_cutite(self, frames_to_propagate=100, frame_number = int( Path(self.most_recent_file).stem.split('_')[-1]) shapes = self.load_shapes(self.most_recent_file) + shapes = [shape for shape in shapes if len(shape["points"]) >= 3] + if len(shapes) < 1: + return f"No valid polygon found in this frame; requires a minimum of 3 points #{frame_number} " for shape in sorted(shapes, key=lambda x: x["label"]): label_name = shape["label"] if label_name in label_name_to_value: