[nodes] Split360Images: add groups, enabled prop and verbose

This commit is contained in:
Fabien Castan 2021-07-07 22:01:47 +02:00
parent a68b8e925a
commit ae50018988

View file

@ -3,68 +3,95 @@ __version__ = "1.0"
from meshroom.core import desc from meshroom.core import desc
class Split360Images(desc.CommandLineNode): class Split360Images(desc.CommandLineNode):
commandLine = 'aliceVision_utils_split360Images {allParams}' commandLine = 'aliceVision_utils_split360Images {allParams}'
category = 'Utils' category = 'Utils'
documentation = '''This node is used to extract multiple images from equirectangular or dualfisheye images or image folder''' documentation = '''This node is used to extract multiple images from equirectangular or dualfisheye images or image folder'''
inputs = [ inputs = [
desc.File( desc.File(
name='input', name='input',
label='Images Folder', label='Images Folder',
description="Images Folder", description="Images Folder",
value='', value='',
uid=[0], uid=[0],
), ),
desc.ChoiceParam( desc.ChoiceParam(
name='splitMode', name='splitMode',
label='Split Mode', label='Split Mode',
description="Split mode (equirectangular, dualfisheye)", description="Split mode (equirectangular, dualfisheye)",
value='equirectangular', value='equirectangular',
values=['equirectangular', 'dualfisheye'], values=['equirectangular', 'dualfisheye'],
exclusive=True, exclusive=True,
uid=[0], uid=[0],
), ),
desc.ChoiceParam( desc.GroupAttribute(name="dualFisheyeGroup", label="Dual Fisheye", description="Dual Fisheye", group=None,
name='dualFisheyeSplitPreset', enabled=lambda node: node.splitMode.value == 'dualfisheye',
label='Dual Fisheye Split Preset', groupDesc=[
description="Dual-Fisheye split type preset (center, top, bottom)", desc.ChoiceParam(
value='center', name='dualFisheyeSplitPreset',
values=['center', 'top', 'bottom'], label='Split Preset',
exclusive=True, description="Dual-Fisheye split type preset (center, top, bottom)",
uid=[0], value='center',
), values=['center', 'top', 'bottom'],
desc.IntParam( exclusive=True,
name='equirectangularNbSplits', uid=[0],
label='Equirectangular Nb Splits', ),
description="Equirectangular number of splits", ]
value=2, ),
range=(1, 100, 1), desc.GroupAttribute(name="equirectangularGroup", label="Equirectangular", description="Equirectangular", group=None,
uid=[0], enabled=lambda node: node.splitMode.value == 'equirectangular',
), groupDesc=[
desc.IntParam( desc.IntParam(
name='equirectangularSplitResolution', name='equirectangularNbSplits',
label='Equirectangular Split Resolution', label='Nb Splits',
description="Equirectangular split resolution", description="Equirectangular number of splits",
value=1200, value=2,
range=(100, 10000, 1), range=(1, 100, 1),
uid=[0], uid=[0],
), ),
desc.BoolParam( desc.IntParam(
name='equirectangularDemoMode', name='equirectangularSplitResolution',
label='Equirectangular Demo Mode', label='Split Resolution',
description="Export a SVG file that simulates the split", description="Equirectangular split resolution",
value=False, value=1200,
uid=[0], range=(100, 10000, 1),
), uid=[0],
] ),
desc.BoolParam(
name='equirectangularDemoMode',
label='Demo Mode',
description="Export a SVG file that simulates the split",
value=False,
uid=[0],
),
desc.FloatParam(
name='fov',
label='Field of View',
description="Field of View to extract (in degree)",
value=110.0,
range=(0.0, 180.0, 1.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 = [ outputs = [
desc.File( desc.File(
name='output', name='output',
label='Output Folder', label='Output Folder',
description="Output folder for extracted frames.", description="Output folder for extracted frames.",
value=desc.Node.internalFolder, value=desc.Node.internalFolder,
uid=[], uid=[],
), ),
] ]