diff --git a/meshroom/nodes/aliceVision/LightingCalibration.py b/meshroom/nodes/aliceVision/LightingCalibration.py index 68e81943..9f7ae210 100644 --- a/meshroom/nodes/aliceVision/LightingCalibration.py +++ b/meshroom/nodes/aliceVision/LightingCalibration.py @@ -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=[] ) ] diff --git a/meshroom/nodes/aliceVision/NormalIntegration.py b/meshroom/nodes/aliceVision/NormalIntegration.py index 3596b9c2..6fbe4407 100644 --- a/meshroom/nodes/aliceVision/NormalIntegration.py +++ b/meshroom/nodes/aliceVision/NormalIntegration.py @@ -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=[] ) ] diff --git a/meshroom/nodes/aliceVision/PhotometricStereo.py b/meshroom/nodes/aliceVision/PhotometricStereo.py index 78b2668f..e2de7163 100644 --- a/meshroom/nodes/aliceVision/PhotometricStereo.py +++ b/meshroom/nodes/aliceVision/PhotometricStereo.py @@ -1,4 +1,4 @@ -__version__ = "3.0" +__version__ = "1.0" from meshroom.core import desc @@ -10,54 +10,78 @@ TODO. ''' inputs = [ - desc.File( - name='pathToJSONLightFile', - label='Lights file', - description='File containing lighting information.', + desc.File( + 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 + '_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 + '_normals_w.exr', + uid=[], + group='', # do not export on the command line + ), desc.File( name='albedo', label='Albedo Maps', diff --git a/meshroom/nodes/aliceVision/SphereDetection.py b/meshroom/nodes/aliceVision/SphereDetection.py index 00c1aa85..cef254c1 100644 --- a/meshroom/nodes/aliceVision/SphereDetection.py +++ b/meshroom/nodes/aliceVision/SphereDetection.py @@ -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=[] ) ]