diff --git a/meshroom/nodes/aliceVision/SfMFilter.py b/meshroom/nodes/aliceVision/SfMFilter.py index d0b14ed4ced..869578deca7 100644 --- a/meshroom/nodes/aliceVision/SfMFilter.py +++ b/meshroom/nodes/aliceVision/SfMFilter.py @@ -32,6 +32,40 @@ class SfMFilter(desc.AVCommandLineNode): advanced=True, uid=[0], ), + desc.ListAttribute( + elementDesc=desc.File( + name="featuresFolder", + label="Features Folder", + description="", + value="", + uid=[], #TODO + ), + name="featuresFolders", + label="Features Folders", + description="Folder(s) containing the extracted features and descriptors." + ), + desc.ListAttribute( + elementDesc=desc.File( + name="matchesFolder", + label="Matches Folder", + description="", + value="", + uid=[], #TODO + ), + name="matchesFolders", + label="Matches Folders", + description="Folder(s) in which the computed matches are stored." + ), + desc.ChoiceParam( + name="describerTypes", + label="Describer Types", + description="Describer types used to describe an image.", + value=["dspsift"], + values=["sift", "sift_float", "sift_upright", "dspsift", "akaze", "akaze_liop", "akaze_mldb", "cctag3", "cctag4", "sift_ocv", "akaze_ocv", "tag16h5"], + exclusive=False, + uid=[], # TODO: 0 + joinChar=",", + ), ] outputs = [ diff --git a/meshroom/ui/reconstruction.py b/meshroom/ui/reconstruction.py index 1e4087d032b..ea8dcc1f541 100755 --- a/meshroom/ui/reconstruction.py +++ b/meshroom/ui/reconstruction.py @@ -403,16 +403,16 @@ class Reconstruction(UIGraph): activeNodeCategories = { # All nodes generating a sfm scene (3D reconstruction or panorama) "sfm": ["StructureFromMotion", "GlobalSfM", "PanoramaEstimation", "SfMTransfer", "SfMTransform", - "SfMAlignment"], + "SfMAlignment", "SfMFilter", "SfMTriangulation"], # All nodes generating a sfmData file "sfmData": ["CameraInit", "DistortionCalibration", "StructureFromMotion", "GlobalSfM", "PanoramaEstimation", "SfMTransfer", "SfMTransform", - "SfMAlignment"], + "SfMAlignment", "SfMFilter", "SfMTriangulation"], # All nodes generating depth map files "allDepthMap": ["DepthMap", "DepthMapFilter"], # Nodes that can be used to provide features folders to the UI - "featureProvider": ["FeatureExtraction", "FeatureMatching", "StructureFromMotion"], + "featureProvider": ["FeatureExtraction", "FeatureMatching", "StructureFromMotion", "SfMFilter", "SfMTriangulation"], # Nodes that can be used to provide matches folders to the UI - "matchProvider": ["FeatureMatching", "StructureFromMotion"] + "matchProvider": ["FeatureMatching", "StructureFromMotion", "SfMFilter", "SfMTriangulation"] } def __init__(self, undoStack, taskManager, defaultPipeline='', parent=None):