From d6f43282c094ce516e5eba1a975346cd7a780f9d Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Mon, 19 Jun 2023 16:49:45 +0200 Subject: Allowing to load detector parameters from a separate json file. --- src/argaze/ArFeatures.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py index 03f57f6..0eba2e1 100644 --- a/src/argaze/ArFeatures.py +++ b/src/argaze/ArFeatures.py @@ -79,8 +79,21 @@ class ArEnvironment(): new_optic_parameters = ArUcoOpticCalibrator.OpticParameters(**optic_parameters_value) - new_aruco_detecor_parameters = ArUcoDetector.DetectorParameters(**new_detector_data.pop('parameters')) - new_aruco_detector = ArUcoDetector.ArUcoDetector(new_aruco_dictionary, new_marker_size, new_optic_parameters, new_aruco_detecor_parameters) + # Check detector parameters value type + detector_parameters_value = new_detector_data.pop('parameters') + + # str: relative path to .json file + if type(detector_parameters_value) == str: + + detector_parameters_value = os.path.join(working_directory, detector_parameters_value) + new_aruco_detector_parameters = ArUcoDetector.DetectorParameters.from_json(detector_parameters_value) + + # dict: + else: + + new_aruco_detector_parameters = ArUcoDetector.DetectorParameters(**new_detector_data.pop('parameters')) + + new_aruco_detector = ArUcoDetector.ArUcoDetector(new_aruco_dictionary, new_marker_size, new_optic_parameters, new_aruco_detector_parameters) new_scenes = {} for scene_name, scene_data in data.pop('scenes').items(): -- cgit v1.1