aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/ArUcoMarkers
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/ArUcoMarkers')
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoCamera.py10
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoDetector.py4
2 files changed, 5 insertions, 9 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoCamera.py b/src/argaze/ArUcoMarkers/ArUcoCamera.py
index 86802a5..52979cc 100644
--- a/src/argaze/ArUcoMarkers/ArUcoCamera.py
+++ b/src/argaze/ArUcoMarkers/ArUcoCamera.py
@@ -142,15 +142,12 @@ class ArUcoCamera(ArFeatures.ArCamera):
return ArUcoCamera.from_dict(aruco_camera_data, working_directory)
- @DataFeatures.PipelineStep
+ @DataFeatures.PipelineStepMethod
def watch(self, timestamp: int|float, image: numpy.array) -> Tuple[float, float, dict]:
"""Detect environment aruco markers from image and project scenes into camera frame.
!!! note
This method timestamps camera frame and its layers.
-
- Returns:
- detection time: aruco marker detection time in ms.
"""
# Use try block to always release the camera frame lock in finally block
@@ -160,7 +157,7 @@ class ArUcoCamera(ArFeatures.ArCamera):
self.acquire()
# Detect aruco markers
- detection_time = self.aruco_detector.detect_markers(image)
+ self.aruco_detector.detect_markers(image)
# Fill camera frame background with image
self.background = image
@@ -212,9 +209,6 @@ class ArUcoCamera(ArFeatures.ArCamera):
# Timestamp camera frame
self.timestamp = timestamp
- # Return detection time
- return detection_time
-
def __image(self, draw_detected_markers: dict = None, draw_scenes: dict = None, draw_optic_parameters_grid: dict = None, **kwargs: dict) -> numpy.array:
"""Get frame image with ArUco detection visualisation.
diff --git a/src/argaze/ArUcoMarkers/ArUcoDetector.py b/src/argaze/ArUcoMarkers/ArUcoDetector.py
index e6a305f..6d12f3d 100644
--- a/src/argaze/ArUcoMarkers/ArUcoDetector.py
+++ b/src/argaze/ArUcoMarkers/ArUcoDetector.py
@@ -14,6 +14,7 @@ import os
from collections import Counter
import time
+from argaze import DataFeatures
from argaze.ArUcoMarkers import ArUcoMarkersDictionary, ArUcoMarker, ArUcoOpticCalibrator
import numpy
@@ -131,7 +132,7 @@ class DetectorParameters():
return self.__parameters
@dataclass
-class ArUcoDetector():
+class ArUcoDetector(DataFeatures.PipelineStepObject):
"""ArUco markers detector.
Parameters:
@@ -255,6 +256,7 @@ class ArUcoDetector():
return output
+ @DataFeatures.PipelineStepMethod
def detect_markers(self, image: numpy.array) -> float:
"""Detect all ArUco markers into an image.