aboutsummaryrefslogtreecommitdiff
path: root/src/argaze.test/ArUcoMarkers/ArUcoScene.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze.test/ArUcoMarkers/ArUcoScene.py')
-rw-r--r--src/argaze.test/ArUcoMarkers/ArUcoScene.py92
1 files changed, 46 insertions, 46 deletions
diff --git a/src/argaze.test/ArUcoMarkers/ArUcoScene.py b/src/argaze.test/ArUcoMarkers/ArUcoScene.py
index f334542..628eac5 100644
--- a/src/argaze.test/ArUcoMarkers/ArUcoScene.py
+++ b/src/argaze.test/ArUcoMarkers/ArUcoScene.py
@@ -11,12 +11,12 @@ import unittest
import os
import math
-from argaze.ArUcoMarkers import ArUcoScene, ArUcoMarker
+from argaze.ArUcoMarkers import ArUcoMarkersGroup, ArUcoMarker
import cv2 as cv
import numpy
-class TestArUcoSceneClass(unittest.TestCase):
+class TestArUcoMarkersGroupClass(unittest.TestCase):
def new_from_obj(self):
@@ -25,7 +25,7 @@ class TestArUcoSceneClass(unittest.TestCase):
obj_filepath = os.path.join(current_directory, 'utils/scene.obj')
# Load file
- self.aruco_scene = ArUcoScene.ArUcoScene.from_obj(obj_filepath)
+ self.aruco_markers_group = ArUcoMarkersGroup.ArUcoMarkersGroup.from_obj(obj_filepath)
def new_from_json(self):
@@ -34,7 +34,7 @@ class TestArUcoSceneClass(unittest.TestCase):
json_filepath = os.path.join(current_directory, 'utils/scene.json')
# Load file
- self.aruco_scene = ArUcoScene.ArUcoScene.from_json(json_filepath)
+ self.aruco_markers_group = ArUcoMarkersGroup.ArUcoMarkersGroup.from_json(json_filepath)
def setup_markers(self):
@@ -47,56 +47,56 @@ class TestArUcoSceneClass(unittest.TestCase):
}
# Prepare scene markers and remaining markers
- self.scene_markers, self.remaining_markers = self.aruco_scene.filter_markers(self.detected_markers)
+ self.scene_markers, self.remaining_markers = self.aruco_markers_group.filter_markers(self.detected_markers)
def test_new_from_obj(self):
- """Test ArUcoScene creation."""
+ """Test ArUcoMarkersGroup creation."""
self.new_from_obj()
self.setup_markers()
- # Check ArUcoScene creation
- self.assertEqual(len(self.aruco_scene.places), 3)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.identifiers, [0, 1, 2]))
- self.assertEqual(self.aruco_scene.marker_size, 1.)
+ # Check ArUcoMarkersGroup creation
+ self.assertEqual(len(self.aruco_markers_group.places), 3)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.identifiers, [0, 1, 2]))
+ self.assertEqual(self.aruco_markers_group.marker_size, 1.)
- self.assertEqual(self.aruco_scene.places[0].marker.identifier, 0)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[0].translation, [0., 0., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[0].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[0].marker.identifier, 0)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[0].translation, [0., 0., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[0].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
- self.assertEqual(self.aruco_scene.places[1].marker.identifier, 1)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[1].translation, [10., 10., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[1].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[1].marker.identifier, 1)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[1].translation, [10., 10., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[1].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
- self.assertEqual(self.aruco_scene.places[2].marker.identifier, 2)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[2].translation, [0., 10., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[2].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[2].marker.identifier, 2)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[2].translation, [0., 10., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[2].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
def test_new_from_json(self):
- """Test ArUcoScene creation."""
+ """Test ArUcoMarkersGroup creation."""
self.new_from_json()
self.setup_markers()
- # Check ArUcoScene creation
- self.assertEqual(len(self.aruco_scene.places), 3)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.identifiers, [0, 1, 2]))
- self.assertEqual(self.aruco_scene.marker_size, 1.)
+ # Check ArUcoMarkersGroup creation
+ self.assertEqual(len(self.aruco_markers_group.places), 3)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.identifiers, [0, 1, 2]))
+ self.assertEqual(self.aruco_markers_group.marker_size, 1.)
- self.assertEqual(self.aruco_scene.places[0].marker.identifier, 0)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[0].translation, [0., 0., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[0].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[0].marker.identifier, 0)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[0].translation, [0., 0., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[0].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
- self.assertEqual(self.aruco_scene.places[1].marker.identifier, 1)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[1].translation, [10., 10., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[1].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[1].marker.identifier, 1)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[1].translation, [10., 10., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[1].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
- self.assertEqual(self.aruco_scene.places[2].marker.identifier, 2)
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[2].translation, [0., 10., 0.]))
- self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_scene.places[2].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
+ self.assertEqual(self.aruco_markers_group.places[2].marker.identifier, 2)
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[2].translation, [0., 10., 0.]))
+ self.assertIsNone(numpy.testing.assert_array_equal(self.aruco_markers_group.places[2].rotation, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
def test_filter_markers(self):
- """Test ArUcoScene markers filtering."""
+ """Test ArUcoMarkersGroup markers filtering."""
self.new_from_obj()
self.setup_markers()
@@ -105,11 +105,11 @@ class TestArUcoSceneClass(unittest.TestCase):
self.assertEqual(len(self.scene_markers), 3)
self.assertEqual(len(self.remaining_markers), 1)
- self.assertIsNone(numpy.testing.assert_array_equal(list(self.scene_markers.keys()), self.aruco_scene.identifiers))
+ self.assertIsNone(numpy.testing.assert_array_equal(list(self.scene_markers.keys()), self.aruco_markers_group.identifiers))
self.assertIsNone(numpy.testing.assert_array_equal(list(self.remaining_markers.keys()), [3]))
def test_check_markers_consistency(self):
- """Test ArUcoScene markers consistency checking."""
+ """Test ArUcoMarkersGroup markers consistency checking."""
self.new_from_obj()
self.setup_markers()
@@ -125,7 +125,7 @@ class TestArUcoSceneClass(unittest.TestCase):
self.scene_markers[2].rotation = numpy.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
# Check consistency
- consistent_markers, unconsistent_markers, unconsistencies = self.aruco_scene.check_markers_consistency(self.scene_markers, 1, 1)
+ consistent_markers, unconsistent_markers, unconsistencies = self.aruco_markers_group.check_markers_consistency(self.scene_markers, 1, 1)
# Check consistent markers, unconsistent markers and unconsistencies
self.assertEqual(len(consistent_markers), 3)
@@ -133,13 +133,13 @@ class TestArUcoSceneClass(unittest.TestCase):
self.assertEqual(len(unconsistencies['rotation']), 0)
self.assertEqual(len(unconsistencies['translation']), 0)
- self.assertIsNone(numpy.testing.assert_array_equal(list(consistent_markers.keys()), self.aruco_scene.identifiers))
+ self.assertIsNone(numpy.testing.assert_array_equal(list(consistent_markers.keys()), self.aruco_markers_group.identifiers))
# Edit unconsistent marker poses
self.scene_markers[2].translation = numpy.array([5., 15., 5.])
# Check consistency
- consistent_markers, unconsistent_markers, unconsistencies = self.aruco_scene.check_markers_consistency(self.scene_markers, 1, 1)
+ consistent_markers, unconsistent_markers, unconsistencies = self.aruco_markers_group.check_markers_consistency(self.scene_markers, 1, 1)
# Check consistent markers, unconsistent markers and unconsistencies
self.assertEqual(len(consistent_markers), 2)
@@ -153,7 +153,7 @@ class TestArUcoSceneClass(unittest.TestCase):
self.assertIsNone(numpy.testing.assert_array_equal(list(unconsistencies['translation']['1/2'].keys()), ['current', 'expected']))
def test_estimate_pose_from_single_marker(self):
- """Test ArUcoScene pose estimation from single marker."""
+ """Test ArUcoMarkersGroup pose estimation from single marker."""
self.new_from_obj()
self.setup_markers()
@@ -163,13 +163,13 @@ class TestArUcoSceneClass(unittest.TestCase):
self.scene_markers[0].rotation = numpy.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
# Estimate pose
- tvec, rmat = self.aruco_scene.estimate_pose_from_single_marker(self.scene_markers[0])
+ tvec, rmat = self.aruco_markers_group.estimate_pose_from_single_marker(self.scene_markers[0])
self.assertIsNone(numpy.testing.assert_array_equal(tvec, [1., 1., 5.]))
self.assertIsNone(numpy.testing.assert_array_equal(rmat, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
def test_estimate_pose_from_markers(self):
- """Test ArUcoScene pose estimation from markers."""
+ """Test ArUcoMarkersGroup pose estimation from markers."""
self.new_from_obj()
self.setup_markers()
@@ -185,14 +185,14 @@ class TestArUcoSceneClass(unittest.TestCase):
self.scene_markers[2].rotation = numpy.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
# Estimate pose
- tvec, rmat = self.aruco_scene.estimate_pose_from_markers(self.scene_markers)
+ tvec, rmat = self.aruco_markers_group.estimate_pose_from_markers(self.scene_markers)
self.assertIsNone(numpy.testing.assert_array_equal(tvec, [1., 1., 5.]))
self.assertIsNone(numpy.testing.assert_array_equal(rmat, [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))
- @unittest.skip("ArUcoScene estimate_pose_from_axis_markers method is broken.")
+ @unittest.skip("ArUcoMarkersGroup estimate_pose_from_axis_markers method is broken.")
def test_estimate_pose_from_axis_markers(self):
- """Test ArUcoScene pose estimation from axis markers."""
+ """Test ArUcoMarkersGroup pose estimation from axis markers."""
self.new_from_obj()
self.setup_markers()
@@ -208,7 +208,7 @@ class TestArUcoSceneClass(unittest.TestCase):
self.scene_markers[2].rotation = numpy.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
# Estimate pose
- tvec, rmat = self.aruco_scene.estimate_pose_from_axis_markers(self.scene_markers[2], self.scene_markers[1], self.scene_markers[0])
+ tvec, rmat = self.aruco_markers_group.estimate_pose_from_axis_markers(self.scene_markers[2], self.scene_markers[1], self.scene_markers[0])
self.assertIsNone(numpy.testing.assert_array_equal(tvec, [1., 1., 5.]))
self.assertIsNone(numpy.testing.assert_array_equal(rmat, [[1., 0., 0.], [0., -1., 0.], [0., 0., -1.]]))