def test_infer_cell7(self): # Cell doesn't overlap with any boxes. cell = Box.make_square(10, 10, 1) ioa_thresh = 0.5 use_intersection_over_cell = True background_class_id = None pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, None)
def test_infer_cell2(self): # More of box 2 is in cell. cell = Box.make_square(1, 1, 3) ioa_thresh = 0.5 use_intersection_over_cell = False background_class_id = None pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, self.class_id2)
def test_infer_cell6(self): # No boxes overlap enough, use background_class_id cell = Box.make_square(0, 0, 10) ioa_thresh = 0.5 use_intersection_over_cell = True background_class_id = self.background_class_id pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, self.background_class_id)
def test_infer_cell3(self): # Only box 2 is in cell, but IOA isn't high enough. cell = Box.make_square(3, 3, 3) ioa_thresh = 0.5 use_intersection_over_cell = False background_class_id = None pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, None)
def test_infer_cell8(self): # box2 overlaps more than box1, but using pick_min_class_id, so # picks box1. cell = Box.make_square(1, 1, 3) ioa_thresh = 0.5 use_intersection_over_cell = False background_class_id = None pick_min_class_id = True class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, self.class_id2)
def test_infer_cell5(self): # More of box1 in cell, using intersection_over_cell with the # IOA high enough. cell = Box.make_square(0, 0, 3) ioa_thresh = 0.4 use_intersection_over_cell = True background_class_id = None pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, self.class_id1)
def test_infer_cell4(self): # Both boxes inside cell, but using intersection_over_cell, # the IOA isn't high enough. cell = Box.make_square(0, 0, 10) ioa_thresh = 0.5 use_intersection_over_cell = True background_class_id = None pick_min_class_id = False class_id = infer_cell(cell, self.str_tree, ioa_thresh, use_intersection_over_cell, background_class_id, pick_min_class_id) self.assertEqual(class_id, None)