Index: tools/telemetry/telemetry/internal/image_processing/cv_util_unittest.py |
diff --git a/tools/telemetry/telemetry/internal/image_processing/cv_util_unittest.py b/tools/telemetry/telemetry/internal/image_processing/cv_util_unittest.py |
deleted file mode 100644 |
index d5d5cd75bac5248c6ea8fa1c042a68091c113313..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/image_processing/cv_util_unittest.py |
+++ /dev/null |
@@ -1,114 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import unittest |
- |
-from telemetry.internal.util import external_modules |
- |
-try: |
- np = external_modules.ImportRequiredModule('numpy') |
-except ImportError: |
- pass |
-else: |
- class CVUtilTest(unittest.TestCase): |
- def __init__(self, *args, **kwargs): |
- super(CVUtilTest, self).__init__(*args, **kwargs) |
- # Import modules with dependencies that may not be preset in test setup so |
- # that importing this unit test doesn't cause the test runner to raise an |
- # exception. |
- from telemetry.internal.image_processing import cv_util |
- self.cv_util = cv_util |
- |
- def testAreLinesOrthogonalish(self): |
- l1 = np.asfarray((0, 0, 1, 0)) |
- l2 = np.asfarray((0, 0, 0, 1)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l1, l2, 0)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l2, l1, 0)) |
- self.assertFalse(self.cv_util.AreLinesOrthogonal(l1, l1, |
- np.pi / 2 - 1e-10)) |
- self.assertFalse(self.cv_util.AreLinesOrthogonal(l2, l2, |
- np.pi / 2 - 1e-10)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l1, l1, np.pi / 2)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l2, l2, np.pi / 2)) |
- |
- l3 = np.asfarray((0, 0, 1, 1)) |
- l4 = np.asfarray((1, 1, 0, 0)) |
- self.assertFalse(self.cv_util.AreLinesOrthogonal(l3, l4, |
- np.pi / 2 - 1e-10)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l3, l1, np.pi / 4)) |
- |
- l5 = np.asfarray((0, 1, 1, 0)) |
- self.assertTrue(self.cv_util.AreLinesOrthogonal(l3, l5, 0)) |
- |
- def testFindLineIntersection(self): |
- l1 = np.asfarray((1, 1, 2, 1)) |
- l2 = np.asfarray((1, 1, 1, 2)) |
- ret, p = self.cv_util.FindLineIntersection(l1, l2) |
- self.assertTrue(ret) |
- self.assertTrue(np.array_equal(p, np.array([1, 1]))) |
- l3 = np.asfarray((1.1, 1, 2, 1)) |
- ret, p = self.cv_util.FindLineIntersection(l2, l3) |
- self.assertFalse(ret) |
- self.assertTrue(np.array_equal(p, np.array([1, 1]))) |
- l4 = np.asfarray((2, 1, 1, 1)) |
- l5 = np.asfarray((1, 2, 1, 1)) |
- ret, p = self.cv_util.FindLineIntersection(l4, l5) |
- self.assertTrue(ret) |
- self.assertTrue(np.array_equal(p, np.array([1, 1]))) |
- l6 = np.asfarray((1, 1, 0, 0)) |
- l7 = np.asfarray((0, 1, 1, 0)) |
- ret, p = self.cv_util.FindLineIntersection(l7, l6) |
- self.assertTrue(ret) |
- self.assertTrue(np.array_equal(p, np.array([0.5, 0.5]))) |
- l8 = np.asfarray((0, 0, 0, 1)) |
- l9 = np.asfarray((1, 0, 1, 1)) |
- ret, p = self.cv_util.FindLineIntersection(l8, l9) |
- self.assertFalse(ret) |
- self.assertTrue(np.isnan(p[0])) |
- |
- def testExtendLines(self): |
- l1 = (-1, 0, 1, 0) |
- l2 = (0, -1, 0, 1) |
- l3 = (4, 4, 6, 6) |
- l4 = (1, 1, 1, 1) |
- lines = self.cv_util.ExtendLines(np.asfarray([l1, l2, l3, l4], |
- dtype=np.float64), 10) |
- lines = np.around(lines, 10) |
- expected0 = ((5.0, 0.0, -5.0, 0.0)) |
- self.assertAlmostEqual(np.sum(np.abs(np.subtract(lines[0], expected0))), |
- 0.0, 7) |
- expected1 = ((0.0, 5.0, 0.0, -5.0)) |
- self.assertAlmostEqual(np.sum(np.abs(np.subtract(lines[1], expected1))), |
- 0.0, 7) |
- |
- off = np.divide(np.sqrt(50), 2, dtype=np.float64) |
- expected2 = ((5 + off, 5 + off, 5 - off, 5 - off)) |
- self.assertAlmostEqual(np.sum(np.abs(np.subtract(lines[2], expected2))), |
- 0.0, 7) |
- expected3 = ((-4, 1, 6, 1)) |
- self.assertAlmostEqual(np.sum(np.abs(np.subtract(lines[3], expected3))), |
- 0.0, 7) |
- |
- def testIsPointApproxOnLine(self): |
- p1 = np.asfarray((-1, -1)) |
- l1 = np.asfarray((0, 0, 100, 100)) |
- p2 = np.asfarray((1, 2)) |
- p3 = np.asfarray((2, 1)) |
- p4 = np.asfarray((3, 1)) |
- self.assertTrue(self.cv_util.IsPointApproxOnLine(p1, l1, 1 + 1e-7)) |
- self.assertTrue(self.cv_util.IsPointApproxOnLine(p2, l1, 1 + 1e-7)) |
- self.assertTrue(self.cv_util.IsPointApproxOnLine(p3, l1, 1 + 1e-7)) |
- self.assertFalse(self.cv_util.IsPointApproxOnLine(p4, l1, 1 + 1e-7)) |
- |
- def testSqDistances(self): |
- p1 = np.array([[0, 2], [0, 3]]) |
- p2 = np.array([2, 0]) |
- dists = self.cv_util.SqDistance(p1, p2) |
- self.assertEqual(dists[0], 8) |
- self.assertEqual(dists[1], 13) |
- |
- def testSqDistance(self): |
- p1 = np.array([0, 2]) |
- p2 = np.array([2, 0]) |
- self.assertEqual(self.cv_util.SqDistance(p1, p2), 8) |