def test_no_mask(self): """roi.PathROI.transform: no_image=True""" r = roi.PathROI([[1, 1], [2, 2]], buffer=1.5, no_image=True) roi2 = r.transform() self.assertIsInstance(roi2, roi.PathROI) self.assertEqual(r.buffer, roi2.buffer) self.assertIs(roi2.image_mask, None)
def test_eq(self): """.__eq__""" path = self.roi.path r1 = roi.PathROI(path, buffer=0) r2 = roi.PathROI(path, buffer=0) assert r1 == r2 v3 = path.vertices.copy() v3[1] += 0.5 r3 = roi.PathROI(mpl.path.Path(v3, path.codes), buffer=0) assert r1 != r3 c4 = path.codes.copy() c4[1] = 1 r4 = roi.PathROI(mpl.path.Path(path.vertices, c4), buffer=0) assert r1 != r4 r5 = roi.PathROI(path, buffer=0.5) assert r1 != r5
def test_init_open(self): """.__init__: open path""" r = roi.PathROI(self.vertices[:-1, :], buffer=self.buffer) np.testing.assert_array_equal(r.path.vertices, self.vertices) np.testing.assert_allclose(r.bounding_box, self.bbox) np.testing.assert_allclose(r.bounding_box_int, self.bbox_int) self.assertEqual(r.buffer, self.buffer)
def test_locate_roi_pathroi(self): # Test locate_roi specifying the ROI as a PathROI r = roi.PathROI(self.roi_vertices, no_image=True) peaks = locate_roi(self.frame, r, rel_origin=False, **self.options) orig = r(self.orig, rel_origin=False) np.testing.assert_allclose(peaks, orig[peaks.columns.tolist()], rtol=1e-6)
def test_batch_roi(self): # Test the batch_roi function peaks = batch_roi([self.frame] * 2, self.roi_vertices, rel_origin=False, **self.options) r = roi.PathROI(self.roi_vertices, no_image=True) orig = r(self.batch_orig, rel_origin=False) np.testing.assert_allclose(peaks, orig[peaks.columns.tolist()], rtol=1e-3)
def setUp(self): super().setUp() self.vertices = np.array( [[-30, -30], [-30, 20], [20, 20], [20, -30], [-30, -30]], dtype=float) self.bbox = np.array([self.vertices[0], self.vertices[2]]) self.bbox_int = self.bbox.astype(int) self.mask = np.ones((50, 50), dtype=bool) self.roi = roi.PathROI(self.vertices) self.loc = pd.DataFrame([[3, 3], [30, 30], [100, 80]], columns=["x", "y"]) self.loc_roi = self.loc.drop([1, 2]) self.loc_roi_inv = self.loc.drop(0)
def test_locate_roi_vertices(self): # Test locate_roi specifying the ROI as a list of vertices # The ROI is chosen so that nothing goes on at its boundaries since # there differences between locate_roi and locate + applying a ROI # later arise r = roi.PathROI(self.roi_vertices, no_image=True) peaks = locate_roi(self.frame, self.roi_vertices, rel_origin=False, **self.options) orig = r(self.orig, rel_origin=False) np.testing.assert_allclose(peaks, orig[peaks.columns.tolist()], rtol=1e-6)
def setUp(self): super().setUp() self.vertices = np.array( [[20, 20], [80, 20], [80, 60], [20, 60], [20, 20]], dtype=float) + 0.7 self.buffer = 10 self.roi = roi.PathROI(self.vertices, buffer=self.buffer) self.bbox = np.array( [self.vertices[0] - self.buffer, self.vertices[2] + self.buffer]) self.bbox_int = np.array([[10, 10], [91, 71]]) self.mask = np.zeros((61, 81), dtype=bool) self.mask[1:, 1:] = True self.loc = pd.DataFrame([[3, 3], [12, 12], [30, 30], [100, 80]], columns=["x", "y"]) self.loc_roi = self.loc.drop([0, 3]) self.loc_roi_inv = self.loc.drop([1, 2])
def setUp(self): self.vertices = np.array( [[10, 10], [90, 10], [90, 70], [10, 70], [10, 10]], dtype=float) + 0.7 self.bbox = np.array([self.vertices[0], self.vertices[2]]) self.bbox_int = np.array([[10, 10], [91, 71]]) self.mask = np.zeros((61, 81), dtype=bool) self.mask[1:, 1:] = True self.buffer = 0 self.roi = roi.PathROI(self.vertices) self.img = np.ones((80, 100)) self.loc = pd.DataFrame([[3, 3], [30, 30], [100, 80]], columns=["x", "y"]) self.loc_roi = self.loc.drop([0, 2]) self.loc_roi_inv = self.loc.drop(1)
def setUp(self): super().setUp() self.vertices = self.vertices[::-1] self.roi = roi.PathROI(self.vertices, buffer=self.buffer)
def setUp(self): super().setUp() self.roi = roi.PathROI(self.vertices, no_image=True)
def setUp(self): self.roi = roi.PathROI([[0, 0], [1, 0], [1, 1], [0, 1]], buffer=1.5)