Meshroom/meshroom/nodes/aliceVision/CameraCalibration.py
Candice Bentéjac 241bead35c [nodes] A-C: Harmonize and improve labels and descriptions
Use CamelCase for all labels, always end descriptions with periods, and
replace the mixed use of single and double quotes with double quotes
only.
2023-06-16 10:30:42 +02:00

145 lines
4.5 KiB
Python

__version__ = "1.0"
from meshroom.core import desc
class CameraCalibration(desc.AVCommandLineNode):
commandLine = 'aliceVision_cameraCalibration {allParams}'
category = 'Utils'
documentation = '''
'''
inputs = [
desc.File(
name="input",
label="Input",
description="Input images in one of the following form:\n"
" - folder containing images.\n"
" - image sequence like \"/path/to/seq.@.jpg\".\n"
" - video file.",
value="",
uid=[0],
),
desc.ChoiceParam(
name="pattern",
label="Pattern",
description="Type of pattern (CHESSBOARD, CIRCLES, ASYMMETRIC_CIRCLES, ASYMMETRIC_CCTAG).",
value="CHESSBOARD",
values=["CHESSBOARD", "CIRCLES", "ASYMMETRIC_CIRCLES", "ASYMMETRIC_CCTAG"],
exclusive=True,
uid=[0],
),
desc.GroupAttribute(
name="size",
label="Size",
description="Number of inner corners per one of board dimension like W H.",
groupDesc=[
desc.IntParam(
name="width",
label="Width",
description="",
value=7,
range=(0, 10000, 1),
uid=[0],
),
desc.IntParam(
name="height",
label="Height",
description="",
value=5,
range=(0, 10000, 1),
uid=[0],
),
]
),
desc.FloatParam(
name="squareSize",
label="Square Size",
description="Size of the grid's square cells (mm).",
value=1.0,
range=(0.0, 100.0, 1.0),
uid=[0],
),
desc.IntParam(
name="nbDistortionCoef",
label="Nb Distortion Coef",
description="Number of distortion coefficients.",
value=3,
range=(0, 5, 1),
uid=[0],
),
desc.IntParam(
name="maxFrames",
label="Max Frames",
description="Maximum number of frames to extract from the video file.",
value=0,
range=(0, 5, 1),
uid=[0],
),
desc.IntParam(
name="maxCalibFrames",
label="Max Calib Frames",
description="Maximum number of frames to use to calibrate from the selected frames.",
value=100,
range=(0, 1000, 1),
uid=[0],
),
desc.IntParam(
name="calibGridSize",
label="Calib Grid Size",
description="Define the number of cells per edge.",
value=10,
range=(0, 50, 1),
uid=[0],
),
desc.IntParam(
name="minInputFrames",
label="Min Input Frames",
description="Minimum number of frames to limit the refinement loop.",
value=10,
range=(0, 100, 1),
uid=[0],
),
desc.FloatParam(
name="maxTotalAvgErr",
label="Max Total Avg Err",
description="Maximum total average error.",
value=0.10000000000000001,
range=(0.0, 1.0, 0.01),
uid=[0],
),
desc.File(
name="debugRejectedImgFolder",
label="Debug Rejected Img Folder",
description="Folder to export images that were deleted during the refinement loop.",
value="",
uid=[0],
),
desc.File(
name="debugSelectedImgFolder",
label="Debug Selected Img Folder",
description="Folder to export debug images.",
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",
label="Output",
description="Output filename for intrinsic [and extrinsic] parameters.",
value=desc.Node.internalFolder + "/cameraCalibration.cal",
uid=[],
),
]