From d8b2a54b3fd3772e12b29a9b19fccafcd21b1041 Mon Sep 17 00:00:00 2001 From: Fabien Castan Date: Mon, 23 Sep 2019 10:43:33 +0200 Subject: [PATCH] [nodes] SfMTransform: new option to align on markers --- meshroom/nodes/aliceVision/SfMTransform.py | 43 ++++++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/meshroom/nodes/aliceVision/SfMTransform.py b/meshroom/nodes/aliceVision/SfMTransform.py index af1725055a..6a9a975a84 100644 --- a/meshroom/nodes/aliceVision/SfMTransform.py +++ b/meshroom/nodes/aliceVision/SfMTransform.py @@ -22,9 +22,10 @@ class SfMTransform(desc.CommandLineNode): " * transformation: Apply a given transformation\n" " * auto_from_cameras: Use cameras\n" " * auto_from_landmarks: Use landmarks\n" - " * from_single_camera: Use a specific camera as the origin of the coordinate system", + " * from_single_camera: Use a specific camera as the origin of the coordinate system\n" + " * from_markers: Align specific markers to custom coordinates", value='auto_from_landmarks', - values=['transformation', 'auto_from_cameras', 'auto_from_landmarks', 'from_single_camera'], + values=['transformation', 'auto_from_cameras', 'auto_from_landmarks', 'from_single_camera', 'from_markers'], exclusive=True, uid=[0], ), @@ -51,10 +52,44 @@ class SfMTransform(desc.CommandLineNode): name='scale', label='Additional Scale', description='Additional scale to apply.', - value=10.0, - range=(1, 100.0, 1), + value=1.0, + range=(0.0, 100.0, 0.1), uid=[0], ), + desc.ListAttribute( + name="markers", + elementDesc=desc.GroupAttribute(name="markerAlign", label="Marker Align", description="", joinChar=":", groupDesc=[ + desc.IntParam(name="markerId", label="Marker", description="Marker Id", value=0, uid=[0], range=(0, 32, 1)), + desc.GroupAttribute(name="markerCoord", label="Coord", description="", joinChar=",", groupDesc=[ + desc.FloatParam(name="x", label="x", description="", value=0.0, uid=[0], range=(-2.0, 2.0, 1.0)), + desc.FloatParam(name="y", label="y", description="", value=0.0, uid=[0], range=(-2.0, 2.0, 1.0)), + desc.FloatParam(name="z", label="z", description="", value=0.0, uid=[0], range=(-2.0, 2.0, 1.0)), + ]) + ]), + label="Markers", + description="Markers alignment points", + ), + desc.BoolParam( + name='applyScale', + label='Scale', + description='Apply scale transformation.', + value=True, + uid=[0] + ), + desc.BoolParam( + name='applyRotation', + label='Rotation', + description='Apply rotation transformation.', + value=True, + uid=[0] + ), + desc.BoolParam( + name='applyTranslation', + label='Translation', + description='Apply translation transformation.', + value=True, + uid=[0] + ), desc.ChoiceParam( name='verboseLevel', label='Verbose Level',