def test_default_epsilon(self): l = LinearROI([0, 0], 1, 0) p = [0, 1e-16] self.assertNotEqual([0, 0], p) self.assertTrue(l.contains_point(p)) p = [0, 2e-15] self.assertFalse(l.contains_point(p))
def test_negative_length(self): l = LinearROI([0, 0], -sqrt(2), pi / 4) p = [-1, -1] self.assertTrue(l.contains_point(p)) p = [-1.0001, -1.0001] self.assertFalse(l.contains_point(p)) p = [-0.1, -0.001] self.assertFalse(l.contains_point(p))
def test_wide_angle(self): l = LinearROI([0, 0], sqrt(2), 5 * pi / 4) p = [-1, -1] self.assertTrue(l.contains_point(p)) p = [-1.0001, -1.0001] self.assertFalse(l.contains_point(p)) p = [-0.1, -0.001] self.assertFalse(l.contains_point(p))
def test_negative_angle(self): l = LinearROI([0, 0], sqrt(2), -pi / 4) p = [0, 0] self.assertTrue(l.contains_point(p)) p = [1, -1] self.assertTrue(l.contains_point(p)) p = [0.1, 0.1] self.assertFalse(l.contains_point(p)) p = [-0.0001, 0.0001] self.assertFalse(l.contains_point(p))
def test_near_endpoints(self): l = LinearROI([1, 1], 1.4, pi / 4) p = [0.9, 0.9] self.assertFalse(l.contains_point(p, 0)) self.assertTrue(l.contains_point(p, 0.2)) p = [2, 2] self.assertFalse(l.contains_point(p, 0)) self.assertTrue(l.contains_point(p, 0.02)) l = LinearROI([0, 0], sqrt(2), pi / 4) p = [1, 1] self.assertTrue(l.contains_point(p))
def test_wraparound_angle(self): l = LinearROI([0, 0], sqrt(2), 2 * pi + pi / 4) p = [1, 1] self.assertTrue(l.contains_point(p))
def test_near_midsection(self): l = LinearROI([-1, -1], 3 * sqrt(2), pi / 4) p = [0, 0] self.assertTrue(l.contains_point(p)) p = [0, 0.1] self.assertFalse(l.contains_point(p))