def METHOD_NAME(self, threshold: Optional[float] = None) -> list[ObjectDetectionResult]:
    if threshold is None:
        threshold = 0.5
    box_masks = self.detection_scores > threshold
    selected_boxes = self.detection_boxes[box_masks]
    selected_scores = self.detection_scores[box_masks]
    selected_classes = self.detection_classes[box_masks]
    results = []
    for bounding_box, score, label in zip(
        selected_boxes, selected_scores, selected_classes
    ):
        label_int = int(label)
        label_str = self.label_names[label_int]
        if label_str is not None:
            result = ObjectDetectionResult(
                bounding_box=tuple(bounding_box.tolist()),
                score=float(score),
                label=label_str,
            )
            results.append(result)
    return results