diff --git a/meshroom/core/utils.py b/meshroom/core/utils.py index 15aeb94d..99b46681 100644 --- a/meshroom/core/utils.py +++ b/meshroom/core/utils.py @@ -5,7 +5,7 @@ COLORSPACES = ["AUTO", "sRGB", "rec709", "Linear", "ACES2065-1", "ACEScg", "Line "Log3G10 REDWideGamutRGB", "Linear Venice S-Gamut3.Cine", "S-Log3 Venice S-Gamut3.Cine", "no_conversion"] DESCRIBER_TYPES = ["sift", "sift_float", "sift_upright", "dspsift", "akaze", "akaze_liop", "akaze_mldb", "cctag3", - "cctag4", "sift_ocv", "akaze_ocv", "tag16h5", "unknown"] + "cctag4", "sift_ocv", "akaze_ocv", "tag16h5", "survey", "unknown"] EXR_STORAGE_DATA_TYPE = ["float", "half", "halfFinite", "auto"] diff --git a/meshroom/nodes/aliceVision/ConvertSfMFormat.py b/meshroom/nodes/aliceVision/ConvertSfMFormat.py index 9f10a327..1b8d5a2a 100644 --- a/meshroom/nodes/aliceVision/ConvertSfMFormat.py +++ b/meshroom/nodes/aliceVision/ConvertSfMFormat.py @@ -80,6 +80,12 @@ It can also be used to remove specific parts of from an SfM scene (like filter a description="Export observations.", value=True, ), + desc.BoolParam( + name="surveys", + label="Surveys", + description="Export surveys.", + value=True, + ), desc.ChoiceParam( name="verboseLevel", label="Verbose Level", diff --git a/meshroom/nodes/aliceVision/SfMSurveyInjecting.py b/meshroom/nodes/aliceVision/SfMSurveyInjecting.py new file mode 100644 index 00000000..fc52ea57 --- /dev/null +++ b/meshroom/nodes/aliceVision/SfMSurveyInjecting.py @@ -0,0 +1,47 @@ +__version__ = "1.0" + +from meshroom.core import desc +from meshroom.core.utils import VERBOSE_LEVEL + +import json + +class SfMSurveyInjecting(desc.AVCommandLineNode): + + commandLine = "aliceVision_sfmSurveyInjecting {allParams}" + size = desc.DynamicNodeSize("input") + + category = "Utils" + documentation = """ +Use a JSON file to inject survey measurements inside the SfMData. +""" + + inputs = [ + desc.File( + name="input", + label="SfMData", + description="Input SfMData file.", + value="", + ), + desc.File( + name="surveyFilename", + label="Survey", + description="Input JSON file containing the survey.", + value="", + ), + desc.ChoiceParam( + name="verboseLevel", + label="Verbose Level", + description="Verbosity level (fatal, error, warning, info, debug, trace).", + values=VERBOSE_LEVEL, + value="info", + ), + ] + + outputs = [ + desc.File( + name="output", + label="SfMData", + description="Path to the output SfM file.", + value="{nodeCacheFolder}/sfmData.abc", + ), + ]