def testDecodeToTensorsNoMasks(self): vals = pd.Series([None, None]) image_widths = pd.Series([None, None]) image_heights = pd.Series([None, None]) segm, bbox = utils._decode_raw_data_into_masks_and_boxes( vals, image_widths, image_heights) self.assertAllEqual(np.zeros((2, 1, 1), dtype=np.uint8), segm) self.assertAllEqual(np.zeros((2, 4), dtype=np.float32), bbox)
def testDecodeToTensors(self): mask1 = np.array([[0, 0, 1, 1], [0, 0, 1, 1], [0, 0, 0, 0]], dtype=np.uint8) mask2 = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=np.uint8) encoding1 = encode_mask(mask1) encoding2 = encode_mask(mask2) vals = pd.Series([encoding1, encoding2]) image_widths = pd.Series([mask1.shape[1], mask2.shape[1]]) image_heights = pd.Series([mask1.shape[0], mask2.shape[0]]) segm, bbox = utils._decode_raw_data_into_masks_and_boxes( vals, image_widths, image_heights) expected_segm = np.concatenate( [np.expand_dims(mask1, 0), np.expand_dims(mask2, 0)], axis=0) expected_bbox = np.array([[0.0, 0.5, 2.0 / 3.0, 1.0], [0, 0, 0, 0]]) self.assertAllEqual(expected_segm, segm) self.assertAllEqual(expected_bbox, bbox)