Meshroom/meshroom/nodes/aliceVision/KeyframeSelection.py
2018-01-01 20:28:54 +01:00

113 lines
3.4 KiB
Python

import sys, os
from meshroom.core import desc
class KeyframeSelection(desc.CommandLineNode):
internalFolder = '{cache}/{nodeType}/{uid0}/'
commandLine = 'aliceVision_utils_keyframeSelection {allParams}'
inputs = [
desc.File(
name='mediaPaths',
label='Media Paths',
description='''Input video files or image sequence directories.''',
value='',
uid=[0],
),
desc.IntParam(
name='maxNbOutFrame',
label='Max Nb Out Frame',
description='''maximum number of output frames (0 = no limit)''',
value=1000,
range=(0, 10000, 1),
uid=[],
),
desc.File(
name='sensorDbPath',
label='Sensor Db Path',
description='''Camera sensor width database path.''',
value=os.environ.get('ALICEVISION_SENSOR_DB', ''),
uid=[0],
),
desc.File(
name='voctreePath',
label='Voctree Path',
description='''Vocabulary tree path.''',
value=os.environ.get('ALICEVISION_VOCTREE', ''),
uid=[0],
),
desc.StringParam(
name='brands',
label='Brands',
description='''Camera brands.''',
value='',
uid=[0],
),
desc.StringParam(
name='models',
label='Models',
description='''Camera models.''',
value='',
uid=[0],
),
desc.FloatParam(
name='mmFocals',
label='Mm Focals',
description='''Focals in mm (will be use if not 0).''',
value=0.0,
range=(0.0, 500.0, 1.0),
uid=[0],
),
desc.FloatParam(
name='pxFocals',
label='Px Focals',
description='''Focals in px (will be use and convert in mm if not 0).''',
value=0.0,
range=(0.0, 500.0, 1.0),
uid=[0],
),
desc.ChoiceParam(
name='sharpnessPreset',
label='Sharpness Preset',
description='''Preset for sharpnessSelection : {ultra, high, normal, low, very_low, none}''',
value='normal',
values=['ultra', 'high', 'normal', 'low', 'very_low', 'none'],
exclusive=True,
uid=[0],
),
desc.IntParam(
name='sharpSubset',
label='Sharp Subset',
description='''sharp part of the image (1 = all, 2 = size/2, ...)''',
value=4,
range=(1, 100, 1),
uid=[0],
),
desc.IntParam(
name='minFrameStep',
label='Min Frame Step',
description='''minimum number of frames between two keyframes''',
value=12,
range=(1, 100, 1),
uid=[0],
),
desc.IntParam(
name='maxFrameStep',
label='Max Frame Step',
description='''maximum number of frames after which a keyframe can be taken''',
value=36,
range=(2, 1000, 1),
uid=[0],
),
]
outputs = [
desc.File(
name='outputFolder',
label='Output Folder',
description='''Output keyframes folder for extracted frames.''',
value='{cache}/{nodeType}/{uid0}/',
uid=[],
),
]