Meshroom/meshroom/nodes/aliceVision/NodalSfM.py
2023-11-06 16:31:10 +01:00

78 lines
2.3 KiB
Python

__version__ = "1.0"
from meshroom.core import desc
class NodalSfM(desc.AVCommandLineNode):
commandLine = 'aliceVision_nodalSfM {allParams}'
size = desc.DynamicNodeSize('input')
category = 'Sparse Reconstruction'
documentation = '''
A Structure-From-Motion node specifically designed to handle pure rotation camera movements.
'''
inputs = [
desc.File(
name="input",
label="SfMData",
description="Input SfMData file.",
value="",
uid=[0],
),
desc.ListAttribute(
elementDesc=desc.File(
name="featuresFolder",
label="Features Folder",
description="",
value="",
uid=[0],
),
name="featuresFolders",
label="Features Folders",
description="Folder(s) containing the extracted features and descriptors."
),
desc.File(
name="tracksFilename",
label="Tracks File",
description="Input tracks file.",
value="",
uid=[0],
),
desc.File(
name="pairs",
label="Pairs File",
description="Information on pairs.",
value="",
uid=[0],
),
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=[0],
joinChar=",",
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
value="info",
values=["fatal", "error", "warning", "info", "debug", "trace"],
exclusive=True,
uid=[],
)
]
outputs = [
desc.File(
name="output",
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.abc",
uid=[],
)
]