MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / test_value

Method test_value

tests/data/test_box_utils.py:145–219  ·  view source on GitHub ↗
(self, input_data, mode2, expected_box, expected_area)

Source from the content-addressed store, hash-verified

143class TestCreateBoxList(unittest.TestCase):
144 @parameterized.expand(TESTS)
145 def test_value(self, input_data, mode2, expected_box, expected_area):
146 expected_box = convert_data_type(expected_box, dtype=np.float32)[0]
147 boxes1 = convert_data_type(input_data["boxes"], dtype=np.float32)[0]
148 mode1 = input_data["mode"]
149 half_bool = input_data["half"]
150 spatial_size = input_data["spatial_size"]
151
152 # test float16
153 if half_bool:
154 boxes1 = convert_data_type(boxes1, dtype=np.float16)[0]
155 expected_box = convert_data_type(expected_box, dtype=np.float16)[0]
156
157 # test convert_box_mode, convert_box_to_standard_mode
158 result2 = convert_box_mode(boxes=boxes1, src_mode=mode1, dst_mode=mode2)
159 assert_allclose(result2, expected_box, type_test=True, device_test=True, atol=0.0)
160
161 result1 = convert_box_mode(boxes=result2, src_mode=mode2, dst_mode=mode1)
162 assert_allclose(result1, boxes1, type_test=True, device_test=True, atol=0.0)
163
164 result_standard = convert_box_to_standard_mode(boxes=boxes1, mode=mode1)
165 expected_box_standard = convert_box_to_standard_mode(boxes=expected_box, mode=mode2)
166 assert_allclose(result_standard, expected_box_standard, type_test=True, device_test=True, atol=0.0)
167
168 # test box_area, box_iou, box_giou, box_pair_giou
169 assert_allclose(box_area(result_standard), expected_area, type_test=True, device_test=True, atol=0.0)
170 iou_metrics = (box_iou, box_giou)
171 for p in iou_metrics:
172 self_iou = p(boxes1=result_standard[1:2, :], boxes2=result_standard[1:1, :])
173 assert_allclose(self_iou, np.array([[]]), type_test=False)
174
175 self_iou = p(boxes1=result_standard[1:2, :], boxes2=result_standard[1:2, :])
176 assert_allclose(self_iou, np.array([[1.0]]), type_test=False)
177
178 self_iou = box_pair_giou(boxes1=result_standard[1:1, :], boxes2=result_standard[1:1, :])
179 assert_allclose(self_iou, np.array([]), type_test=False)
180
181 self_iou = box_pair_giou(boxes1=result_standard[1:2, :], boxes2=result_standard[1:2, :])
182 assert_allclose(self_iou, np.array([1.0]), type_test=False)
183
184 # test box_centers, centers_in_boxes, boxes_center_distance
185 result_standard_center = box_centers(result_standard)
186 expected_center = convert_box_mode(boxes=boxes1, src_mode=mode1, dst_mode="cccwhd")[:, :3]
187 assert_allclose(result_standard_center, expected_center, type_test=True, device_test=True, atol=0.0)
188
189 center = expected_center
190 center[2, :] += 10
191 result_centers_in_boxes = centers_in_boxes(centers=center, boxes=result_standard)
192 assert_allclose(result_centers_in_boxes, np.array([False, True, False]), type_test=False)
193
194 center_dist, _, _ = boxes_center_distance(boxes1=result_standard[1:2, :], boxes2=result_standard[1:1, :])
195 assert_allclose(center_dist, np.array([[]]), type_test=False)
196 center_dist, _, _ = boxes_center_distance(boxes1=result_standard[1:2, :], boxes2=result_standard[1:2, :])
197 assert_allclose(center_dist, np.array([[0.0]]), type_test=False)
198 center_dist, _, _ = boxes_center_distance(boxes1=result_standard[0:1, :], boxes2=result_standard[0:1, :])
199 assert_allclose(center_dist, np.array([[0.0]]), type_test=False)
200
201 # test clip_boxes_to_image
202 clipped_boxes, keep = clip_boxes_to_image(expected_box_standard, spatial_size, remove_empty=True)

Callers

nothing calls this directly

Calls 12

convert_data_typeFunction · 0.90
convert_box_modeFunction · 0.90
assert_allcloseFunction · 0.90
box_areaFunction · 0.90
box_pair_giouFunction · 0.90
box_centersFunction · 0.90
centers_in_boxesFunction · 0.90
boxes_center_distanceFunction · 0.90
clip_boxes_to_imageFunction · 0.90
non_max_suppressionFunction · 0.90
arrayMethod · 0.80

Tested by

no test coverage detected