diff --git a/meshroom/nodes/aliceVision/CheckerboardDetection.py b/meshroom/nodes/aliceVision/CheckerboardDetection.py new file mode 100644 index 0000000000..0dcba781ff --- /dev/null +++ b/meshroom/nodes/aliceVision/CheckerboardDetection.py @@ -0,0 +1,67 @@ +__version__ = "1.0" + +from meshroom.core import desc + + +class CheckerboardDetection(desc.AVCommandLineNode): + commandLine = 'aliceVision_checkerboardDetection {allParams}' + size = desc.DynamicNodeSize('input') + parallelization = desc.Parallelization(blockSize=5) + commandLineRange = '--rangeStart {rangeStart} --rangeSize {rangeBlockSize}' + + category = 'Other' + documentation = ''' +Detect checkerboard structures in a set of images. +The detection method also supports nested calibration grids. +''' + + inputs = [ + desc.File( + name='input', + label='Input', + description='SfMData File. Viewpoints must correspond to lens calibration grids.', + value='', + uid=[0], + ), + desc.BoolParam( + name='useNestedGrids', + label='Nested calibration grid', + description='Images contain nested calibration grids. These grids must be centered on the image center.', + value=False, + uid=[0], + ), + desc.BoolParam( + name='doubleSize', + label='Double Size', + description='Double the image size prior to processing', + value=False, + uid=[0], + ), + desc.BoolParam( + name='exportDebugImages', + label='Export Debug Images', + description='Export Debug Images', + value=False, + uid=[0], + ), + ] + + outputs = [ + desc.File( + name='output', + label='Folder', + description='', + value=desc.Node.internalFolder, + uid=[], + ), + desc.File( + name='checkerLines', + enabled= lambda node: node.exportDebugImages.value, + label='Checker Lines', + description='Debug Images.', + semantic='image', + value=desc.Node.internalFolder + '.png', + group='', # do not export on the command line + uid=[], + ), + ]