Meshroom/meshroom/nodes/aliceVision/LightingCalibration.py

66 lines
2 KiB
Python

__version__ = "1.0"
from meshroom.core import desc
from meshroom.core.utils import VERBOSE_LEVEL
class LightingCalibration(desc.CommandLineNode):
commandLine = 'aliceVision_lightingCalibration {allParams}'
category = 'Photometry'
documentation = '''
Evaluate the lighting in a scene using spheres placed in the scene.
Can also be used to calibrate a lighting dome (RTI type).
'''
inputs = [
desc.File(
name="inputPath",
label="Input SfMData",
description="Input SfMData file.",
value="",
uid=[0]
),
desc.File(
name="inputJSON",
label="Sphere Detection File",
description="Input JSON file containing sphere centers and radiuses.",
value="",
uid=[0]
),
desc.BoolParam(
name="saveAsModel",
label="Save As Model",
description="Check if this calibration file will be used with other datasets.",
value=False,
uid=[0]
),
desc.ChoiceParam(
name="method",
label="Calibration Method",
description="Method used for light calibration.\n"
"Use 'brightestPoint' for shiny spheres and 'whiteSphere' for white matte spheres.",
values=["brightestPoint", "whiteSphere"],
value="brightestPoint",
exclusive=True,
uid=[0]
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
uid=[],
)
]
outputs = [
desc.File(
name="outputFile",
label="Light File",
description="Light information will be written here.",
value=desc.Node.internalFolder + "/lights.json",
uid=[]
)
]