[nodes] use 'desc.Node.internalFolder' in outputs values

* avoid duplicating the same string everywhere
* don't override 'internalFolder' with the same value default value in subclasses
This commit is contained in:
Yann Lanthony 2018-07-09 17:32:34 +02:00
parent 2eb2c3ac6f
commit 346277629a
34 changed files with 41 additions and 70 deletions

View file

@ -94,7 +94,6 @@ from meshroom.core import desc
class __COMMANDNAME__(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = '__SOFT__ {allParams}'
'''.replace('__COMMANDNAME__', args.node).replace('__SOFT__', soft)

View file

@ -350,7 +350,6 @@ class Node(object):
class CommandLineNode(Node):
"""
"""
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = '' # need to be defined on the node
parallelization = None
commandLineRange = ''

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class CameraCalibration(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_cameraCalibration {allParams}'
inputs = [
@ -121,7 +120,7 @@ class CameraCalibration(desc.CommandLineNode):
name='output',
label='Output',
description='''Output filename for intrinsic [and extrinsic] parameters.''',
value='{cache}/{nodeType}/{uid0}/cameraCalibration.cal',
value=desc.Node.internalFolder + '/cameraCalibration.cal',
uid=[],
),
]

View file

@ -2,7 +2,7 @@ from meshroom.core import desc
class CameraConnection(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
internalFolder = desc.Node.internalFolder
commandLine = 'aliceVision_cameraConnection {allParams}'
size = desc.DynamicNodeSize('ini')

View file

@ -43,7 +43,6 @@ Intrinsic = [
class CameraInit(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_cameraInit {allParams} --allowSingleView 1' # don't throw an error if there is only one image
size = desc.DynamicNodeSize('viewpoints')
@ -94,7 +93,7 @@ class CameraInit(desc.CommandLineNode):
name='output',
label='Output SfMData File',
description='''Output SfMData.''',
value='{cache}/{nodeType}/{uid0}/cameraInit.sfm',
value=desc.Node.internalFolder + 'cameraInit.sfm',
uid=[],
),
]
@ -185,7 +184,7 @@ class CameraInit(desc.CommandLineNode):
"featureFolder": "",
"matchingFolder": "",
}
node.viewpointsFile = '{cache}/{nodeType}/{uid0}/viewpoints.sfm'.format(**node._cmdVars)
node.viewpointsFile = (node.nodeDesc.internalFolder + '/viewpoints.sfm').format(**node._cmdVars)
with open(node.viewpointsFile, 'w') as f:
json.dump(sfmData, f, indent=4)

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class CameraLocalization(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_cameraLocalization {allParams}'
inputs = [
@ -208,14 +207,14 @@ class CameraLocalization(desc.CommandLineNode):
name='outputAlembic',
label='Output Alembic',
description='''Filename for the SfMData export file (where camera poses will be stored)''',
value='{cache}/{nodeType}/{uid0}/trackedCameras.abc',
value=desc.Node.internalFolder + 'trackedCameras.abc',
uid=[],
),
desc.File(
name='outputJSON',
label='Output JSON',
description='''Filename for the localization results as .json''',
value='{cache}/{nodeType}/{uid0}/trackedCameras.json',
value=desc.Node.internalFolder + 'trackedCameras.json',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class CameraRigCalibration(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_rigCalibration {allParams}'
inputs = [
@ -164,7 +163,7 @@ class CameraRigCalibration(desc.CommandLineNode):
name='outfile',
label='Output File',
description='''The name of the file where to store the calibration data''',
value='{cache}/{nodeType}/{uid0}/cameraRigCalibration.rigCal',
value=desc.Node.internalFolder + 'cameraRigCalibration.rigCal',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class CameraRigLocalization(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_rigLocalization {allParams}'
inputs = [
@ -171,7 +170,7 @@ class CameraRigLocalization(desc.CommandLineNode):
name='outputAlembic',
label='Output Alembic',
description='''Filename for the SfMData export file (where camera poses will be stored).''',
value='{cache}/{nodeType}/{uid0}/trackedcameras.abc',
value=desc.Node.internalFolder + 'trackedcameras.abc',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class ConvertAnimatedCamera(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_convertAnimatedCamera {allParams}'
inputs = [
@ -21,7 +20,7 @@ class ConvertAnimatedCamera(desc.CommandLineNode):
name='output',
label='Output',
description='Path to the output Alembic file.',
value='{cache}/{nodeType}/{uid0}/animatedCamera.abc',
value=desc.Node.internalFolder + 'animatedCamera.abc',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class ConvertSfMFormat(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_convertSfMFormat {allParams}'
inputs = [
@ -75,7 +74,7 @@ class ConvertSfMFormat(desc.CommandLineNode):
name='output',
label='Output',
description='Path to the output SfM Data file.',
value='{cache}/{nodeType}/{uid0}/sfm.{fileExtValue}',
value=desc.Node.internalFolder + 'sfm.{fileExtValue}',
uid=[],
),
]

View file

@ -1,7 +1,6 @@
from meshroom.core import desc
class DepthMap(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_depthMapEstimation {allParams}'
gpu = desc.Level.INTENSIVE
size = desc.DynamicNodeSize('ini')
@ -144,7 +143,7 @@ class DepthMap(desc.CommandLineNode):
name='output',
label='Output',
description='Output folder for generated depth maps.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -1,7 +1,6 @@
from meshroom.core import desc
class DepthMapFilter(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_depthMapFiltering {allParams}'
gpu = desc.Level.NORMAL
size = desc.DynamicNodeSize('ini')
@ -79,7 +78,7 @@ class DepthMapFilter(desc.CommandLineNode):
name='output',
label='Output',
description='Output folder for generated depth maps.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -2,7 +2,6 @@ from meshroom.core import desc
class ExportAnimatedCamera(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_exportAnimatedCamera {allParams}'
inputs = [
@ -36,7 +35,7 @@ class ExportAnimatedCamera(desc.CommandLineNode):
name='output',
label='Output filename',
description='Output filename for the alembic animated camera.',
value='{cache}/{nodeType}/{uid0}/camera.abc',
value=desc.Node.internalFolder + 'camera.abc',
uid=[],
),
]

View file

@ -2,7 +2,6 @@ from meshroom.core import desc
class ExportMaya(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_exportMayaMVG {allParams}'
inputs = [
@ -20,7 +19,7 @@ class ExportMaya(desc.CommandLineNode):
name='output',
label='Output Folder',
description='Folder for MeshroomMaya outputs: undistorted images and thumbnails.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -1,7 +1,6 @@
from meshroom.core import desc
class ExportUndistortedImages(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_exportUndistortedImages {allParams}'
inputs = [
@ -37,7 +36,7 @@ class ExportUndistortedImages(desc.CommandLineNode):
name='output',
label='Output Folder',
description='Output folder for the undistorted images.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class FeatureExtraction(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_featureExtraction {allParams}'
size = desc.DynamicNodeSize('input')
parallelization = desc.Parallelization(blockSize=40)
@ -59,7 +58,7 @@ class FeatureExtraction(desc.CommandLineNode):
name='output',
label='Output Folder',
description='Output path for the features and descriptors files (*.feat, *.desc).',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class FeatureMatching(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_featureMatching {allParams}'
size = desc.DynamicNodeSize('input')
parallelization = desc.Parallelization(blockSize=20)
@ -144,7 +143,7 @@ class FeatureMatching(desc.CommandLineNode):
name='output',
label='Output Folder',
description='Path to a folder in which computed matches will be stored.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -4,7 +4,6 @@ from meshroom.core import desc
class ImageMatching(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_imageMatching {allParams}'
size = desc.DynamicNodeSize('input')
@ -82,7 +81,7 @@ class ImageMatching(desc.CommandLineNode):
name='output',
label='Output List File',
description='Filepath to the output file with the list of selected image pairs.',
value='{cache}/{nodeType}/{uid0}/imageMatches.txt',
value=desc.Node.internalFolder + 'imageMatches.txt',
uid=[],
),
]

View file

@ -4,7 +4,6 @@ from meshroom.core import desc
class ImageMatchingMultiSfM(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_imageMatching {allParams}'
# use both SfM inputs to define Node's size
size = desc.MultiDynamicNodeSize(['input', 'inputB'])
@ -99,14 +98,14 @@ class ImageMatchingMultiSfM(desc.CommandLineNode):
name='output',
label='Output List File',
description='Filepath to the output file with the list of selected image pairs.',
value='{cache}/{nodeType}/{uid0}/imageMatches.txt',
value=desc.Node.internalFolder + 'imageMatches.txt',
uid=[],
),
desc.File(
name='outputCombinedSfM',
label='Output Combined SfM',
description='Path for the combined SfMData file',
value='{cache}/{nodeType}/{uid0}/combineSfM.sfm',
value=desc.Node.internalFolder + 'combineSfM.sfm',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class KeyframeSelection(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_utils_keyframeSelection {allParams}'
inputs = [
@ -106,7 +105,7 @@ class KeyframeSelection(desc.CommandLineNode):
name='outputFolder',
label='Output Folder',
description='''Output keyframes folder for extracted frames.''',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -1,7 +1,6 @@
from meshroom.core import desc
class MeshDecimate(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_meshDecimate {allParams}'
cpu = desc.Level.NORMAL
@ -72,7 +71,7 @@ class MeshDecimate(desc.CommandLineNode):
name="output",
label="Output mesh",
description="Output mesh (OBJ file format).",
value='{cache}/{nodeType}/{uid0}/mesh.obj',
value=desc.Node.internalFolder + 'mesh.obj',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class MeshDenoising(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_meshDenoising {allParams}'
inputs = [
@ -91,7 +90,7 @@ class MeshDenoising(desc.CommandLineNode):
name='output',
label='Output',
description='''Output mesh (OBJ file format).''',
value='{cache}/{nodeType}/{uid0}/mesh.obj',
value=desc.Node.internalFolder + 'mesh.obj',
uid=[],
),
]

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class MeshFiltering(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_meshFiltering {allParams}'
inputs = [
@ -61,7 +60,7 @@ class MeshFiltering(desc.CommandLineNode):
name='output',
label='Output',
description='''Output mesh (OBJ file format).''',
value='{cache}/{nodeType}/{uid0}/mesh.obj',
value=desc.Node.internalFolder + 'mesh.obj',
uid=[],
),
]

View file

@ -1,7 +1,7 @@
from meshroom.core import desc
class MeshResampling(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_meshResampling {allParams}'
cpu = desc.Level.NORMAL
@ -78,7 +78,7 @@ class MeshResampling(desc.CommandLineNode):
name="output",
label="Output mesh",
description="Output mesh (OBJ file format).",
value='{cache}/{nodeType}/{uid0}/mesh.obj',
value=desc.Node.internalFolder + 'mesh.obj',
uid=[],
),
]

View file

@ -2,7 +2,6 @@ from meshroom.core import desc
class Meshing(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_meshing {allParams}'
cpu = desc.Level.INTENSIVE

View file

@ -3,7 +3,6 @@ from meshroom.core import desc
class PrepareDenseScene(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_prepareDenseScene {allParams}'
size = desc.DynamicNodeSize('input')
@ -31,7 +30,7 @@ class PrepareDenseScene(desc.CommandLineNode):
name='ini',
label='MVS Configuration file',
description='',
value='{cache}/{nodeType}/{uid0}/mvs.ini',
value=desc.Node.internalFolder + 'mvs.ini',
uid=[],
group='', # not a command line arg
),
@ -40,7 +39,7 @@ class PrepareDenseScene(desc.CommandLineNode):
name='output',
label='Output',
description='''Output folder.''',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
)
]

View file

@ -4,7 +4,6 @@ from meshroom.core import desc
class SfMAlignment(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_utils_sfmAlignment {allParams}'
size = desc.DynamicNodeSize('input')
@ -39,7 +38,7 @@ class SfMAlignment(desc.CommandLineNode):
name='output',
label='Output',
description='''Aligned SfMData file .''',
value='{cache}/{nodeType}/{uid0}/alignedSfM.abc',
value=desc.Node.internalFolder + 'alignedSfM.abc',
uid=[],
),
]

View file

@ -4,7 +4,6 @@ from meshroom.core import desc
class SfMTransform(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_utils_sfmTransform {allParams}'
size = desc.DynamicNodeSize('input')
@ -66,7 +65,7 @@ class SfMTransform(desc.CommandLineNode):
name='output',
label='Output',
description='''Aligned SfMData file .''',
value='{cache}/{nodeType}/{uid0}/transformedSfM.abc',
value=desc.Node.internalFolder + 'transformedSfM.abc',
uid=[],
),
]

View file

@ -5,7 +5,6 @@ from meshroom.core import desc
class StructureFromMotion(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_incrementalSfM {allParams}'
size = desc.DynamicNodeSize('input')
@ -199,21 +198,21 @@ class StructureFromMotion(desc.CommandLineNode):
name='output',
label='Output SfMData File',
description='Path to the output sfmdata file',
value='{cache}/{nodeType}/{uid0}/sfm.abc',
value=desc.Node.internalFolder + 'sfm.abc',
uid=[],
),
desc.File(
name='outputViewsAndPoses',
label='Output SfMData File',
description='''Path to the output sfmdata file with cameras (views and poses).''',
value='{cache}/{nodeType}/{uid0}/cameras.sfm',
value=desc.Node.internalFolder + 'cameras.sfm',
uid=[],
),
desc.File(
name='extraInfoFolder',
label='Output Folder',
description='Folder for intermediate reconstruction files and additional reconstruction information files.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
]

View file

@ -2,7 +2,6 @@ from meshroom.core import desc
class Texturing(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_texturing {allParams}'
cpu = desc.Level.INTENSIVE
ram = desc.Level.INTENSIVE
@ -106,14 +105,14 @@ class Texturing(desc.CommandLineNode):
name='output',
label='Output Folder',
description='Folder for output mesh: OBJ, material and texture files.',
value='{cache}/{nodeType}/{uid0}/',
value=desc.Node.internalFolder,
uid=[],
),
desc.File(
name='outputMesh',
label='Output Mesh',
description='Folder for output mesh: OBJ, material and texture files.',
value='{cache}/{nodeType}/{uid0}/texturedMesh.obj',
value=desc.Node.internalFolder + 'texturedMesh.obj',
uid=[],
group='',
),
@ -121,7 +120,7 @@ class Texturing(desc.CommandLineNode):
name='outputMaterial',
label='Output Material',
description='Folder for output mesh: OBJ, material and texture files.',
value='{cache}/{nodeType}/{uid0}/texturedMesh.mtl',
value=desc.Node.internalFolder + 'texturedMesh.mtl',
uid=[],
group='',
),
@ -129,7 +128,7 @@ class Texturing(desc.CommandLineNode):
name='outputTextures',
label='Output Textures',
description='Folder for output mesh: OBJ, material and texture files.',
value='{cache}/{nodeType}/{uid0}/texture_*.png',
value=desc.Node.internalFolder + 'texture_*.png',
uid=[],
group='',
),

View file

@ -40,7 +40,7 @@ class AppendFiles(desc.CommandLineNode):
name='output',
label='Output',
description='''''',
value='{cache}/{nodeType}/{uid0}/appendText.txt',
value=desc.Node.internalFolder + 'appendText.txt',
uid=[],
)
]

View file

@ -26,7 +26,7 @@ class AppendText(desc.CommandLineNode):
name='output',
label='Output',
description='''''',
value='{cache}/{nodeType}/{uid0}/appendText.txt',
value=desc.Node.internalFolder + 'appendText.txt',
uid=[],
),
]

View file

@ -18,7 +18,7 @@ class Ls(desc.CommandLineNode):
name='output',
label='Output',
description='''''',
value='{cache}/{nodeType}/{uid0}/ls.txt',
value=desc.Node.internalFolder + 'ls.txt',
uid=[],
)
]

View file

@ -6,13 +6,12 @@ from meshroom.core import desc, registerNodeType
class SampleNode(desc.Node):
""" Sample Node for unit testing """
internalFolder = '{cache}/{nodeType}/{uid0}/'
inputs = [
desc.File(name='input', label='Input', description='', value='', uid=[0],),
desc.StringParam(name='paramA', label='ParamA', description='', value='', uid=[]) # No impact on UID
]
outputs = [
desc.File(name='output', label='Output', description='', value='{cache}/{nodeType}/{uid0}/', uid=[])
desc.File(name='output', label='Output', description='', value=desc.Node.internalFolder, uid=[])
]