[nodes] StereoPhotometry: Update nodes' parameters and descriptions

This commit is contained in:
Candice Bentéjac 2023-05-31 12:47:52 +02:00
parent 578d1abbf4
commit f0f5b205bf
4 changed files with 188 additions and 84 deletions

View file

@ -1,4 +1,4 @@
__version__ = "3.0"
__version__ = "1.0"
from meshroom.core import desc
@ -11,44 +11,53 @@ TODO.
'''
inputs = [
desc.File(
name='inputJSON',
label='Sphere detection file',
description='Input file containing spheres centers and radius.',
value='',
uid=[0],
),
desc.File(
name='inputPath',
label='SfmData',
label='SfMData',
description='Input file. Could be SfMData file or folder.',
value='',
uid=[0],
uid=[0]
),
desc.File(
name='inputJSON',
label='Sphere Detection File',
description='Input JSON file containing spheres centers and radius.',
value='',
uid=[0]
),
desc.BoolParam(
name='saveAsModel',
label='Save as model',
description='Check if this calibration file will be used with other datasets',
label='Save As Model',
description='Check if this calibration file will be used with other datasets.',
value=False,
uid=[0],
uid=[0]
),
desc.ChoiceParam(
name='method',
label='Calibration method',
description='Method used for light calibration. Use brightestPoint for shiny sphere and whiteSphere for white matte sphere',
label='Calibration Method',
description='Method used for light calibration. Use "brightestPoint" for shiny spheres and "whiteSphere" for white matte spheres.',
values=['brightestPoint', 'whiteSphere'],
value='brightestPoint',
exclusive=True,
uid=[0],
uid=[0]
),
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='outputFile',
label='Output light file',
label='Light File',
description='Light information will be written here.',
value=desc.Node.internalFolder +'/lights.json' ,
uid=[],
uid=[]
)
]

View file

@ -1,4 +1,4 @@
__version__ = "3.0"
__version__ = "1.0"
from meshroom.core import desc
@ -10,28 +10,46 @@ TODO.
'''
inputs = [
desc.File(
name='inputPath',
label='Normal Maps Folder',
description='Path to the folder containing the normal maps and the masks.',
value='',
uid=[0]
),
desc.File(
name='sfmDataFile',
label='sfmDataFile',
description='''SfMData file.''',
label='SfMData',
description='Input SfMData file.',
value='',
uid=[0],
),
desc.File(
name='inputPath',
label='inputPath',
description='Normal maps folder',
value='',
desc.IntParam(
name='downscale',
label='Downscale Factor',
description='Downscale factor for faster results.',
value=1,
range=(1, 10, 1),
advanced=True,
uid=[0]
),
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='outputPath',
label='Output path',
description='Path to the output folder',
label='Output Path',
description='Path to the output folder.',
value=desc.Node.internalFolder,
uid=[],
uid=[]
)
]

View file

@ -1,4 +1,4 @@
__version__ = "3.0"
__version__ = "1.0"
from meshroom.core import desc
@ -11,53 +11,77 @@ TODO.
inputs = [
desc.File(
name='pathToJSONLightFile',
label='Lights file',
description='File containing lighting information.',
name='inputPath',
label='SfMData',
description='Input file. Could be an SfMData file or folder containing images.',
value='',
uid=[0]
),
desc.File(
name='inputPath',
label='SfmData',
description='Input file. Could be SfMData file or folder.',
value='',
uid=[0],
name='pathToJSONLightFile',
label='Light File',
description='Path to a JSON file containing the lighting information.\n'
'If empty, .txt files are expected in the image folder.',
value='defaultJSON.txt',
uid=[0]
),
desc.File(
name='maskPath',
label='Mask folder path',
description='Mask folder path',
label='Mask Folder Path',
description='Path to a folder containing masks or to a mask directly.',
value='',
uid=[0],
uid=[0]
),
desc.ChoiceParam(
name='SHOrder',
label='Spherical Harmonics Order',
description='Order of the spherical harmonics.\n'
'- 0: directional\n'
'- 1: directional + ambiant\n'
'- 2: second order spherical harmonics',
values=['0', '1', '2'],
value='0',
exclusive=True,
advanced=True,
uid=[0]
),
desc.BoolParam(
name='removeAmbiant',
label='Remove Ambiant Light',
description='True if the ambiant light is to be removed on the PS images, false otherwise.',
value=False,
advanced=True,
uid=[0]
),
desc.BoolParam(
name='isRobust',
label='Use Robust Algorithm',
description='True to use the robust algorithm, false otherwise.',
value=False,
advanced=True,
uid=[0]
),
desc.IntParam(
name='downscale',
label='Downscale Factor',
description='Downscale factor for faster results.',
value=1,
range=(1, 10, 1),
advanced=True,
uid=[0]
),
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='outputSfmData',
label='SfmData',
description='',
value=desc.Node.internalFolder + '/sfmData.sfm',
uid=[],
group='', # remove from command line
),
desc.File(
name='outputSfmDataAlbedo',
label='SfmData Albedo',
description='',
value=desc.Node.internalFolder + '/albedoMaps.sfm',
uid=[],
group='', # remove from command line
),
desc.File(
name='outputSfmDataNormal',
label='SfmData Normal',
description='',
value=desc.Node.internalFolder + '/normalMaps.sfm',
uid=[],
group='', # remove from command line
),
desc.File(
name='outputPath',
label='Output Folder',
@ -65,18 +89,51 @@ TODO.
value=desc.Node.internalFolder,
uid=[],
),
desc.File(
name='outputSfmData',
label='SfMData',
description='Output path for the Sfm',
value=desc.Node.internalFolder + '/sfmData.sfm',
uid=[],
group='', # remove from command line
),
desc.File(
name='outputSfmDataAlbedo',
label='SfMData Albedo',
description='',
value=desc.Node.internalFolder + '/albedoMaps.sfm',
uid=[],
group='', # remove from command line
),
desc.File(
name='outputSfmDataNormal',
label='SfMData Normal',
description='',
value=desc.Node.internalFolder + '/normalMaps.sfm',
uid=[],
group='', # remove from command line
),
# these attributes are only here to describe more accurately the output of the node
# by specifying that it generates 2 sequences of images
# (see in Viewer2D.qml how these attributes can be used)
desc.File(
name='normals',
label='Normal Maps',
description='Generated normal maps.',
label='Normal Maps Camera',
description='Generated normal maps in the camera coordinate system.',
semantic='image',
value=desc.Node.internalFolder + '<POSE_ID>_normals.exr',
uid=[],
group='', # do not export on the command line
),
desc.File(
name='normalsWorld',
label='Normal Maps World',
description='Generated normal maps in the world coordinate system.',
semantic='image',
value=desc.Node.internalFolder + '<POSE_ID>_normals_w.exr',
uid=[],
group='', # do not export on the command line
),
desc.File(
name='albedo',
label='Albedo Maps',

View file

@ -1,4 +1,4 @@
__version__ = "3.0"
__version__ = "1.0"
from meshroom.core import desc
@ -12,29 +12,38 @@ TODO.
inputs = [
desc.File(
name='input_sfmdata_path',
label="SfmData",
name='input',
label="SfMData",
description='Input SfMData file.',
value='',
uid=[0],
uid=[0]
),
desc.File(
name='input_model_path',
label='Deep learning net for automatic detection',
description='Deep learning net for automatic detection.',
name='modelPath',
label='Detection Network',
description='Deep learning network for automatic calibration sphere detection.',
value='${ALICEVISION_SPHERE_DETECTION_MODEL}',
uid=[0],
uid=[0]
),
desc.BoolParam(
name='autoDetect',
label='Automatic Sphere Detection',
description='Automatic detection of calibration spheres',
value=False,
uid=[0],
uid=[0]
),
desc.FloatParam(
name="minScore",
label="Minimum Score",
description="Minimum score for the detection.",
value=0.0,
range=(0.0, 50.0, 0.01),
advanced=True,
uid=[0]
),
desc.GroupAttribute(
name="sphereCenter",
label="Sphere center",
label="Sphere Center",
description="Center of the circle (XY offset to the center of the image in pixels).",
groupDesc=[
desc.FloatParam(
@ -48,7 +57,8 @@ TODO.
uid=[0],
range=(-1000.0, 10000.0, 1.0)),
],
group=None, # skip group from command line
enabled=lambda node: not node.autoDetect.value,
group=None # skip group from command line
),
desc.FloatParam(
name='sphereRadius',
@ -56,16 +66,26 @@ TODO.
description='Sphere radius in pixels.',
value=500.0,
range=(0.0, 1000.0, 0.1),
uid=[0],
enabled=lambda node: not node.autoDetect.value,
uid=[0]
),
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_path',
label='Output light file folder',
name='output',
label='Light File Folder',
description='Light information will be written here.',
value=desc.Node.internalFolder,
uid=[],
uid=[]
)
]