[nodes] Remove invalidate=True from descriptions

This commit is contained in:
Candice Bentéjac 2024-09-06 17:30:22 +02:00
parent 07b65499ce
commit 41a1b47c43
81 changed files with 8 additions and 1076 deletions

View file

@ -18,21 +18,18 @@ Overwrite intrinsics with a calibrated intrinsic.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="calibration",
label="Calibration",
description="Calibration file (SfmData or Lens calibration file).",
value="",
invalidate=True,
),
desc.BoolParam(
name="useJson",
label="Use Lens Calibration File",
description="Calibration is a Lens calibration file generated using 3Dequalizer instead of an sfmData.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -40,7 +37,6 @@ Overwrite intrinsics with a calibrated intrinsic.
description="Verbosity level (fatal, error, warning, info, debug, trace).",
values=VERBOSE_LEVEL,
value="info",
invalidate=False,
exclusive=True,
),
]
@ -51,6 +47,5 @@ Overwrite intrinsics with a calibrated intrinsic.
label="SMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ class CameraCalibration(desc.AVCommandLineNode):
" - image sequence like \"/path/to/seq.@.jpg\".\n"
" - video file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="pattern",
@ -29,7 +28,6 @@ class CameraCalibration(desc.AVCommandLineNode):
value="CHESSBOARD",
values=["CHESSBOARD", "CIRCLES", "ASYMMETRIC_CIRCLES", "ASYMMETRIC_CCTAG"],
exclusive=True,
invalidate=True,
),
desc.GroupAttribute(
name="size",
@ -42,7 +40,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="",
value=7,
range=(0, 10000, 1),
invalidate=True,
),
desc.IntParam(
name="height",
@ -50,7 +47,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="",
value=5,
range=(0, 10000, 1),
invalidate=True,
),
],
),
@ -60,7 +56,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Size of the grid's square cells (mm).",
value=1.0,
range=(0.0, 100.0, 1.0),
invalidate=True,
),
desc.IntParam(
name="nbDistortionCoef",
@ -68,7 +63,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Number of distortion coefficients.",
value=3,
range=(0, 5, 1),
invalidate=True,
),
desc.IntParam(
name="maxFrames",
@ -76,7 +70,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Maximum number of frames to extract from the video file.",
value=0,
range=(0, 5, 1),
invalidate=True,
),
desc.IntParam(
name="maxCalibFrames",
@ -84,7 +77,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Maximum number of frames to use to calibrate from the selected frames.",
value=100,
range=(0, 1000, 1),
invalidate=True,
),
desc.IntParam(
name="calibGridSize",
@ -92,7 +84,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Define the number of cells per edge.",
value=10,
range=(0, 50, 1),
invalidate=True,
),
desc.IntParam(
name="minInputFrames",
@ -100,7 +91,6 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Minimum number of frames to limit the refinement loop.",
value=10,
range=(0, 100, 1),
invalidate=True,
),
desc.FloatParam(
name="maxTotalAvgErr",
@ -108,21 +98,18 @@ class CameraCalibration(desc.AVCommandLineNode):
description="Maximum total average error.",
value=0.10000000000000001,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.File(
name="debugRejectedImgFolder",
label="Debug Rejected Img Folder",
description="Folder to export images that were deleted during the refinement loop.",
value="",
invalidate=True,
),
desc.File(
name="debugSelectedImgFolder",
label="Debug Selected Img Folder",
description="Folder to export debug images.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -131,7 +118,6 @@ class CameraCalibration(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -141,6 +127,5 @@ class CameraCalibration(desc.AVCommandLineNode):
label="Output",
description="Output filename for intrinsic [and extrinsic] parameters.",
value=desc.Node.internalFolder + "/cameraCalibration.cal",
invalidate=False,
),
]

View file

@ -17,7 +17,6 @@ Viewpoint = [
label="ID",
description="Image UID.",
value=-1,
invalidate=True,
range=None,
),
desc.IntParam(
@ -25,7 +24,6 @@ Viewpoint = [
label="Pose ID",
description="Pose ID.",
value=-1,
invalidate=True,
range=None,
),
desc.File(
@ -33,14 +31,12 @@ Viewpoint = [
label="Image Path",
description="Image filepath.",
value="",
invalidate=True,
),
desc.IntParam(
name="intrinsicId",
label="Intrinsic",
description="Internal camera parameters.",
value=-1,
invalidate=True,
range=None,
),
desc.IntParam(
@ -48,7 +44,6 @@ Viewpoint = [
label="Rig",
description="Rig parameters.",
value=-1,
invalidate=True,
range=None,
),
desc.IntParam(
@ -56,7 +51,6 @@ Viewpoint = [
label="Rig Sub-Pose",
description="Rig sub-pose parameters.",
value=-1,
invalidate=True,
range=None,
),
desc.StringParam(
@ -81,7 +75,6 @@ Intrinsic = [
label="ID",
description="Intrinsic UID.",
value=-1,
invalidate=True,
range=None,
),
desc.FloatParam(
@ -92,7 +85,6 @@ Intrinsic = [
"So this value is used to limit the range of possible values in the optimization.\n"
"If this value is set to -1, it will not be used and the focal length will not be bounded.",
value=-1.0,
invalidate=True,
range=None,
),
desc.FloatParam(
@ -100,7 +92,6 @@ Intrinsic = [
label="Focal Length",
description="Known/calibrated focal length (in mm).",
value=1000.0,
invalidate=True,
range=(0.0, 10000.0, 1.0),
),
desc.FloatParam(
@ -108,7 +99,6 @@ Intrinsic = [
label="Pixel Ratio",
description="Ratio between the pixel width and the pixel height.",
value=1.0,
invalidate=True,
range=(0.0, 10.0, 0.1),
),
desc.BoolParam(
@ -116,28 +106,24 @@ Intrinsic = [
label="Pixel Ratio Locked",
description="The pixel ratio value is locked for estimation.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="scaleLocked",
label="Focal length Locked",
description="The focal length is locked for estimation.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="offsetLocked",
label="Optical Center Locked",
description="The optical center coordinates are locked for estimation.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="distortionLocked",
label="Distortion Locked",
description="The distortion parameters are locked for estimation.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="type",
@ -148,7 +134,6 @@ Intrinsic = [
value="pinhole",
values=["pinhole", "equidistant"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="distortionType",
@ -163,14 +148,12 @@ Intrinsic = [
value="radialk3",
values=["none", "radialk1", "radialk3", "radialk3pt", "brown", "fisheye4", "fisheye1"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="width",
label="Width",
description="Image width.",
value=0,
invalidate=True,
range=(0, 10000, 1),
),
desc.IntParam(
@ -178,7 +161,6 @@ Intrinsic = [
label="Height",
description="Image height.",
value=0,
invalidate=True,
range=(0, 10000, 1),
),
desc.FloatParam(
@ -186,7 +168,6 @@ Intrinsic = [
label="Sensor Width",
description="Sensor width (in mm).",
value=36.0,
invalidate=True,
range=(0.0, 1000.0, 1.0),
),
desc.FloatParam(
@ -194,7 +175,6 @@ Intrinsic = [
label="Sensor Height",
description="Sensor height (in mm).",
value=24.0,
invalidate=True,
range=(0.0, 1000.0, 1.0),
),
desc.StringParam(
@ -202,7 +182,6 @@ Intrinsic = [
label="Serial Number",
description="Device serial number (Camera UID and Lens UID combined).",
value="",
invalidate=True,
),
desc.GroupAttribute(
name="principalPoint",
@ -214,7 +193,6 @@ Intrinsic = [
label="x",
description="",
value=0.0,
invalidate=True,
range=(0.0, 10000.0, 1.0),
),
desc.FloatParam(
@ -222,7 +200,6 @@ Intrinsic = [
label="y",
description="",
value=0.0,
invalidate=True,
range=(0.0, 10000.0, 1.0),
),
],
@ -238,7 +215,6 @@ Intrinsic = [
values=["calibrated", "estimated", "unknown", "none"],
value="none",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="distortionInitializationMode",
@ -251,7 +227,6 @@ Intrinsic = [
values=["calibrated", "estimated", "unknown", "none"],
value="none",
exclusive=True,
invalidate=True,
),
desc.ListAttribute(
name="distortionParams",
@ -260,7 +235,6 @@ Intrinsic = [
label="",
description="",
value=0.0,
invalidate=True,
range=(-0.1, 0.1, 0.01),
),
label="Distortion Params",
@ -276,7 +250,6 @@ Intrinsic = [
label="x",
description="",
value=0.0,
invalidate=True,
range=(0.0, 10000.0, 1.0),
),
desc.FloatParam(
@ -284,7 +257,6 @@ Intrinsic = [
label="y",
description="",
value=0.0,
invalidate=True,
range=(0.0, 10000.0, 1.0),
),
],
@ -296,7 +268,6 @@ Intrinsic = [
label="",
description="",
value=0.0,
invalidate=True,
range=(-0.1, 0.1, 0.01),
),
label="Undistortion Params",
@ -307,7 +278,6 @@ Intrinsic = [
label="Locked",
description="If the camera has been calibrated, the internal camera parameters (intrinsics) can be locked. It should improve robustness and speed-up the reconstruction.",
value=False,
invalidate=True,
),
]
@ -420,7 +390,6 @@ The needed metadata are:
label="LCP Generic Search",
description="The lens name and camera maker are used to match the LCP database, but the camera model is ignored.",
value=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -457,7 +426,6 @@ The needed metadata are:
values=RAW_COLOR_INTERPRETATION,
value="DCPLinearProcessing" if os.environ.get("ALICEVISION_COLOR_PROFILE_DB", "") else "LibRawWhiteBalancing",
exclusive=True,
invalidate=True,
),
desc.File(
name="colorProfileDatabase",
@ -474,7 +442,6 @@ The needed metadata are:
"When disabled, if no color profile is found for some images, it will fallback to libRawWhiteBalancing for those images.",
value=True,
enabled=lambda node: node.rawColorInterpretation.value.startswith("DCP"),
invalidate=True,
),
desc.ChoiceParam(
name="viewIdMethod",
@ -510,7 +477,6 @@ The needed metadata are:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -520,7 +486,6 @@ The needed metadata are:
label="SfMData",
description="Output SfMData.",
value=desc.Node.internalFolder + "cameraInit.sfm",
invalidate=False,
),
]

View file

@ -18,28 +18,24 @@ class CameraLocalization(desc.AVCommandLineNode):
label="SfMData",
description="The SfMData file generated by AliceVision.",
value="",
invalidate=True,
),
desc.File(
name="mediafile",
label="Media File",
description="The folder path or the filename for the media to track.",
value="",
invalidate=True,
),
desc.File(
name="visualDebug",
label="Visual Debug Folder",
description="If a folder is provided, this enables visual debug and all the debugging information will be saved in that folder.",
value="",
invalidate=True,
),
desc.File(
name="descriptorPath",
label="Descriptor Path",
description="Folder containing the descriptors for all the images (ie. the *.desc.).",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="matchDescTypes",
@ -48,7 +44,6 @@ class CameraLocalization(desc.AVCommandLineNode):
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -58,7 +53,6 @@ class CameraLocalization(desc.AVCommandLineNode):
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="resectionEstimator",
@ -67,7 +61,6 @@ class CameraLocalization(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="matchingEstimator",
@ -76,21 +69,18 @@ class CameraLocalization(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.File(
name="calibration",
label="Calibration",
description="Calibration file.",
value="",
invalidate=True,
),
desc.BoolParam(
name="refineIntrinsics",
label="Refine Intrinsics",
description="Enable/Disable camera intrinsics refinement for each localized image.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="reprojectionError",
@ -98,7 +88,6 @@ class CameraLocalization(desc.AVCommandLineNode):
description="Maximum reprojection error (in pixels) allowed for resectioning. If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.1, 50.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="nbImageMatch",
@ -106,7 +95,6 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[voctree] Number of images to retrieve in database.",
value=4,
range=(1, 1000, 1),
invalidate=True,
),
desc.IntParam(
name="maxResults",
@ -114,7 +102,6 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[voctree] For algorithm AllResults, it stops the image matching when this number of matched images is reached. If 0 it is ignored.",
value=10,
range=(1, 100, 1),
invalidate=True,
),
desc.IntParam(
name="commonviews",
@ -122,21 +109,18 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[voctree] Number of minimum images in which a point must be seen to be used in cluster tracking.",
value=3,
range=(2, 50, 1),
invalidate=True,
),
desc.File(
name="voctree",
label="Voctree",
description="[voctree] Filename for the vocabulary tree.",
value="${ALICEVISION_VOCTREE}",
invalidate=True,
),
desc.File(
name="voctreeWeights",
label="Voctree Weights",
description="[voctree] Filename for the vocabulary tree weights.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="algorithm",
@ -145,7 +129,6 @@ class CameraLocalization(desc.AVCommandLineNode):
value="AllResults",
values=["FirstBest", "AllResults"],
exclusive=True,
invalidate=True,
),
desc.FloatParam(
name="matchingError",
@ -153,7 +136,6 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[voctree] Maximum matching error (in pixels) allowed for image matching with geometric verification. If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.0, 50.0, 1.0),
invalidate=True,
),
desc.IntParam(
name="nbFrameBufferMatching",
@ -161,14 +143,12 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[voctree] Number of previous frames of the sequence to use for matching (0 = Disable).",
value=10,
range=(0, 100, 1),
invalidate=True,
),
desc.BoolParam(
name="robustMatching",
label="Robust Matching",
description="[voctree] Enable/Disable the robust matching between query and database images, all putative matches will be considered.",
value=True,
invalidate=True,
),
desc.IntParam(
name="nNearestKeyFrames",
@ -176,28 +156,24 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[cctag] Number of images to retrieve in the database. Parameters specific for final (optional) bundle adjustment optimization of the sequence.",
value=5,
range=(1, 100, 1),
invalidate=True,
),
desc.StringParam(
name="globalBundle",
label="Global Bundle",
description="[bundle adjustment] If --refineIntrinsics is not set, this option allows to run a final global bundle adjustment to refine the scene.",
value="",
invalidate=True,
),
desc.BoolParam(
name="noDistortion",
label="No Distortion",
description="[bundle adjustment] It does not take into account distortion during the BA, it considers the distortion coefficients to all be equal to 0.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="noBArefineIntrinsics",
label="No BA Refine Intrinsics",
description="[bundle adjustment] If set to true, does not refine intrinsics during BA.",
value=False,
invalidate=True,
),
desc.IntParam(
name="minPointVisibility",
@ -205,7 +181,6 @@ class CameraLocalization(desc.AVCommandLineNode):
description="[bundle adjustment] Minimum number of observations that a point must have in order to be considered for bundle adjustment.",
value=2,
range=(2, 50, 1),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -214,7 +189,6 @@ class CameraLocalization(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -224,13 +198,11 @@ class CameraLocalization(desc.AVCommandLineNode):
label="Alembic",
description="Filename for the SfMData export file (where camera poses will be stored).",
value=desc.Node.internalFolder + "trackedCameras.abc",
invalidate=False,
),
desc.File(
name="outputJSON",
label="JSON File",
description="Filename for the localization results as .json.",
value=desc.Node.internalFolder + "trackedCameras.json",
invalidate=False,
),
]

View file

@ -18,7 +18,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="mediapath",
@ -26,28 +25,24 @@ class CameraRigCalibration(desc.AVCommandLineNode):
description="The path to the video file, the folder of the image sequence or a text file\n"
"(one image path per line) for each camera of the rig (eg. --mediapath /path/to/cam1.mov /path/to/cam2.mov).",
value="",
invalidate=True,
),
desc.File(
name="cameraIntrinsics",
label="Camera Intrinsics",
description="The intrinsics calibration file for each camera of the rig (eg. --cameraIntrinsics /path/to/calib1.txt /path/to/calib2.txt).",
value="",
invalidate=True,
),
desc.File(
name="export",
label="Export File",
description="Filename for the alembic file containing the rig poses with the 3D points. It also saves a file for each camera named 'filename.cam##.abc'.",
value="trackedcameras.abc",
invalidate=True,
),
desc.File(
name="descriptorPath",
label="Descriptor Path",
description="Folder containing the .desc.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="matchDescTypes",
@ -56,7 +51,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -66,7 +60,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="resectionEstimator",
@ -75,7 +68,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="matchingEstimator",
@ -84,14 +76,12 @@ class CameraRigCalibration(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.StringParam(
name="refineIntrinsics",
label="Refine Intrinsics",
description="Enable/Disable camera intrinsics refinement for each localized image.",
value="",
invalidate=True,
),
desc.FloatParam(
name="reprojectionError",
@ -100,7 +90,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
"If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="maxInputFrames",
@ -108,21 +97,18 @@ class CameraRigCalibration(desc.AVCommandLineNode):
description="Maximum number of frames to read in input. 0 means no limit.",
value=0,
range=(0, 1000, 1),
invalidate=True,
),
desc.File(
name="voctree",
label="Voctree",
description="[voctree] Filename for the vocabulary tree.",
value="${ALICEVISION_VOCTREE}",
invalidate=True,
),
desc.File(
name="voctreeWeights",
label="Voctree Weights",
description="[voctree] Filename for the vocabulary tree weights.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="algorithm",
@ -131,7 +117,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
value="AllResults",
values=["FirstBest", "AllResults"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="nbImageMatch",
@ -139,7 +124,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
description="[voctree] Number of images to retrieve in the database.",
value=4,
range=(0, 50, 1),
invalidate=True,
),
desc.IntParam(
name="maxResults",
@ -147,7 +131,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
description="[voctree] For algorithm AllResults, it stops the image matching when this number of matched images is reached. If set to 0, it is ignored.",
value=10,
range=(0, 100, 1),
invalidate=True,
),
desc.FloatParam(
name="matchingError",
@ -156,7 +139,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
"If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="nNearestKeyFrames",
@ -164,7 +146,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
description="[cctag] Number of images to retrieve in database.",
value=5,
range=(0, 50, 1),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -173,7 +154,6 @@ class CameraRigCalibration(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -183,6 +163,5 @@ class CameraRigCalibration(desc.AVCommandLineNode):
label="Output File",
description="The name of the file to store the calibration data in.",
value=desc.Node.internalFolder + "cameraRigCalibration.rigCal",
invalidate=False,
),
]

View file

@ -18,35 +18,30 @@ class CameraRigLocalization(desc.AVCommandLineNode):
label="SfMData",
description="The input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="mediapath",
label="Media Path",
description="The path to the video file, the folder of the image sequence or a text file (one image path per line) for each camera of the rig (eg. --mediapath /path/to/cam1.mov /path/to/cam2.mov).",
value="",
invalidate=True,
),
desc.File(
name="calibration",
label="Rig Calibration File",
description="The file containing the calibration data for the rig (subposes).",
value="",
invalidate=True,
),
desc.File(
name="cameraIntrinsics",
label="Camera Intrinsics",
description="The intrinsics calibration file for each camera of the rig (eg. --cameraIntrinsics /path/to/calib1.txt /path/to/calib2.txt).",
value="",
invalidate=True,
),
desc.File(
name="descriptorPath",
label="Descriptor Path",
description="Folder containing the .desc.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="matchDescTypes",
@ -55,7 +50,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -65,7 +59,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="resectionEstimator",
@ -74,7 +67,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="matchingEstimator",
@ -83,14 +75,12 @@ class CameraRigLocalization(desc.AVCommandLineNode):
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
),
desc.StringParam(
name="refineIntrinsics",
label="Refine Intrinsics",
description="Enable/Disable camera intrinsics refinement for each localized image.",
value="",
invalidate=True,
),
desc.FloatParam(
name="reprojectionError",
@ -99,14 +89,12 @@ class CameraRigLocalization(desc.AVCommandLineNode):
"If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
),
desc.BoolParam(
name="useLocalizeRigNaive",
label="Use Localize Rig Naive",
description="Enable/Disable the naive method for rig localization: naive method tries to localize each camera separately.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="angularThreshold",
@ -114,21 +102,18 @@ class CameraRigLocalization(desc.AVCommandLineNode):
description="The maximum angular threshold in degrees between feature bearing vector and 3D point direction. Used only with the opengv method.",
value=0.1,
range=(0.0, 10.0, 0.01),
invalidate=True,
),
desc.File(
name="voctree",
label="Voctree",
description="[voctree] Filename for the vocabulary tree.""",
value="${ALICEVISION_VOCTREE}",
invalidate=True,
),
desc.File(
name="voctreeWeights",
label="Voctree Weights",
description="[voctree] Filename for the vocabulary tree weights.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="algorithm",
@ -137,7 +122,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
value="AllResults",
values=["FirstBest", "AllResults"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="nbImageMatch",
@ -145,7 +129,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
description="[voctree] Number of images to retrieve in the database.",
value=4,
range=(0, 100, 1),
invalidate=True,
),
desc.IntParam(
name="maxResults",
@ -154,7 +137,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
"If set to 0, it is ignored.",
value=10,
range=(0, 100, 1),
invalidate=True,
),
desc.FloatParam(
name="matchingError",
@ -163,7 +145,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
"If set to 0, it lets the ACRansac select an optimal value.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="nNearestKeyFrames",
@ -171,7 +152,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
description="[cctag] Number of images to retrieve in database.",
value=5,
range=(0, 50, 1),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -180,7 +160,6 @@ class CameraRigLocalization(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -190,6 +169,5 @@ class CameraRigLocalization(desc.AVCommandLineNode):
label="Alembic",
description="Filename for the SfMData export file (where camera poses will be stored).",
value=desc.Node.internalFolder + "trackedcameras.abc",
invalidate=False,
),
]

View file

@ -19,14 +19,12 @@ Estimate the camera intrinsics and extrinsincs on a set of checkerboard images.
label="Input SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="checkerboards",
label="Checkerboards Folder",
description="Folder containing checkerboard JSON files.",
value="",
invalidate=True,
),
desc.FloatParam(
name="squareSize",
@ -34,7 +32,6 @@ Estimate the camera intrinsics and extrinsincs on a set of checkerboard images.
description="Checkerboard square width in mm",
value=10.,
range=(0.1, 100., 0.1),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -43,7 +40,6 @@ Estimate the camera intrinsics and extrinsincs on a set of checkerboard images.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -53,6 +49,5 @@ Estimate the camera intrinsics and extrinsincs on a set of checkerboard images.
label="SfMData File",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
)
]

View file

@ -22,35 +22,30 @@ The detection method also supports nested calibration grids.
label="Input",
description="Input SfMData file. Viewpoints must correspond to lens calibration grids.",
value="",
invalidate=True,
),
desc.BoolParam(
name="useNestedGrids",
label="Nested Calibration Grid",
description="Enable if images contain nested calibration grids. These grids must be centered on the image center.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="doubleSize",
label="Double Size",
description="Double the image size prior to processing.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="ignorePixelAspectRatio",
label="Ignore Pixel Aspect Ratio",
description="Ignore pixel aspect ratio for detection.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="exportDebugImages",
label="Export Debug Images",
description="Export debug images.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -59,7 +54,6 @@ The detection method also supports nested calibration grids.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -69,7 +63,6 @@ The detection method also supports nested calibration grids.
label="Folder",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="checkerLines",
@ -79,6 +72,5 @@ The detection method also supports nested calibration grids.
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>.png",
group="", # do not export on the command line
invalidate=False,
),
]

View file

@ -28,7 +28,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
label="Color Checker Data",
description="Position and colorimetric data of the color checker.",
value="",
invalidate=True,
),
desc.File(
name="input",
@ -36,7 +35,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
description="Input SfMData file, image filenames or regex(es) on the image file path.\n"
"Supported regex: '#' matches a single digit, '@' one or more digits, '?' one character and '*' zero or more.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="extension",
@ -45,7 +43,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
value="exr",
values=["exr", ""],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="storageDataType",
@ -58,7 +55,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -67,7 +63,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -77,7 +72,6 @@ If multiple color charts are submitted, only the first one will be taken in acco
label="SfMData",
description="Output SfMData.",
value=lambda attr: (desc.Node.internalFolder + os.path.basename(attr.node.input.value)) if (os.path.splitext(attr.node.input.value)[1] in [".abc", ".sfm"]) else "",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -85,6 +79,5 @@ If multiple color charts are submitted, only the first one will be taken in acco
label="Folder",
description="Output images folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -34,7 +34,6 @@ Dev notes:
description="SfMData file input, image filenames or regex(es) on the image file path.\n"
"Supported regex: '#' matches a single digit, '@' one or more digits, '?' one character and '*' zero or more.",
value="",
invalidate=True,
),
desc.IntParam(
name="maxCount",
@ -42,7 +41,6 @@ Dev notes:
description="Maximum color charts count to detect in a single image.",
value=1,
range=(1, 3, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -50,7 +48,6 @@ Dev notes:
label="Debug",
description="If checked, debug data will be generated.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -59,7 +56,6 @@ Dev notes:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -69,6 +65,5 @@ Dev notes:
label="Color Checker Data",
description="Output position and colorimetric data extracted from detected color checkers in the images.",
value=desc.Node.internalFolder + "/ccheckers.json",
invalidate=False,
),
]

View file

@ -19,7 +19,6 @@ class ConvertDistortion(desc.AVCommandLineNode):
label="Input",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="from",
@ -28,7 +27,6 @@ class ConvertDistortion(desc.AVCommandLineNode):
value="distortion",
values=["distortion", "undistortion"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="to",
@ -37,7 +35,6 @@ class ConvertDistortion(desc.AVCommandLineNode):
value="undistortion",
values=["distortion", "undistortion"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -46,7 +43,6 @@ class ConvertDistortion(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -56,6 +52,5 @@ class ConvertDistortion(desc.AVCommandLineNode):
label="Output",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.abc",
invalidate=False,
),
]

View file

@ -16,7 +16,6 @@ class ConvertMesh(desc.AVCommandLineNode):
label="Input Mesh",
description="Input mesh (*.obj, *.mesh, *.meshb, *.ply, *.off, *.stl).",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -25,7 +24,6 @@ class ConvertMesh(desc.AVCommandLineNode):
value="obj",
values=["gltf", "obj", "fbx", "stl"],
exclusive=True,
invalidate=True,
group="",
),
desc.ChoiceParam(
@ -35,7 +33,6 @@ class ConvertMesh(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -45,6 +42,5 @@ class ConvertMesh(desc.AVCommandLineNode):
label="Mesh",
description="Output mesh (*.obj, *.mesh, *.meshb, *.ply, *.off, *.stl).",
value=desc.Node.internalFolder + "mesh." + "{outputMeshFileTypeValue}",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
label="Input",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="fileExt",
@ -29,7 +28,6 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
value="abc",
values=["abc", "sfm", "json", "ply", "baf"],
exclusive=True,
invalidate=True,
group="", # exclude from command line
),
desc.ChoiceParam(
@ -39,7 +37,6 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ListAttribute(
@ -48,7 +45,6 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
label="Image ID",
description="UID or path of an image to add to the white list.",
value="",
invalidate=True,
),
name="imageWhiteList",
label="Image White List",
@ -59,35 +55,30 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
label="Views",
description="Export views.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="intrinsics",
label="Intrinsics",
description="Export intrinsics.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="extrinsics",
label="Extrinsics",
description="Export extrinsics.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="structure",
label="Structure",
description="Export structure.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="observations",
label="Observations",
description="Export observations.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -96,7 +87,6 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -106,6 +96,5 @@ It can also be used to remove specific parts of from an SfM scene (like filter a
label="Output",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.{fileExtValue}",
invalidate=False,
),
]

View file

@ -28,7 +28,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="imagesFolder",
@ -36,7 +35,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Use images from a specific folder instead of those specified in the SfMData file.\n"
"Filename should be the image UID.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="downscale",
@ -48,7 +46,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
value=2,
values=[1, 2, 4, 8, 16],
exclusive=True,
invalidate=True,
),
desc.FloatParam(
name="minViewAngle",
@ -56,7 +53,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Minimum angle between two views (select the neighbouring cameras, select depth planes from epipolar segment point).",
value=2.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -65,7 +61,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum angle between two views (select the neighbouring cameras, select depth planes from epipolar segment point).",
value=70.0,
range=(10.0, 120.0, 1.0),
invalidate=True,
advanced=True,
),
desc.GroupAttribute(
@ -80,7 +75,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum tile buffer width.",
value=1024,
range=(-1, 2000, 10),
invalidate=True,
),
desc.IntParam(
name="tileBufferHeight",
@ -88,7 +82,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum tile buffer height.",
value=1024,
range=(-1, 2000, 10),
invalidate=True,
),
desc.IntParam(
name="tilePadding",
@ -96,7 +89,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Buffer padding for overlapping tiles.",
value=64,
range=(0, 500, 1),
invalidate=True,
),
desc.BoolParam(
name="autoAdjustSmallImage",
@ -104,7 +96,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Automatically adjust depth map parameters if images are smaller than one tile\n"
"(maxTCamsPerTile = maxTCams, adjust step if needed).",
value=True,
invalidate=True,
advanced=True,
),
],
@ -114,7 +105,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Choose Neighbour Cameras Per Tile",
description="Choose neighbour cameras per tile or globally to the image.",
value=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -123,7 +113,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum number of neighbour cameras per image.",
value=10,
range=(1, 20, 1),
invalidate=True,
),
desc.GroupAttribute(
name="sgm",
@ -138,7 +127,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Downscale factor applied on source images for the SGM step (in addition to the global downscale).",
value=2,
range=(-1, 10, 1),
invalidate=True,
),
desc.IntParam(
name="sgmStepXY",
@ -146,7 +134,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="The step is used to compute the similarity volume for one pixel over N (in the XY image plane).",
value=2,
range=(-1, 10, 1),
invalidate=True,
),
desc.IntParam(
name="sgmStepZ",
@ -156,7 +143,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
"This value will be adjusted in all case to fit in the max memory (sgmMaxDepths).",
value=-1,
range=(-1, 10, 1),
invalidate=True,
),
desc.IntParam(
name="sgmMaxTCamsPerTile",
@ -164,7 +150,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum number of neighbour cameras used per tile.",
value=4,
range=(1, 20, 1),
invalidate=True,
),
desc.IntParam(
name="sgmWSH",
@ -172,7 +157,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Half-size of the patch used to compute the similarity. Patch width is wsh*2+1.",
value=4,
range=(1, 20, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -180,7 +164,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Use SfM Landmarks",
description="Use landmarks from Structure-from-Motion as input seeds to define min/max depth ranges.",
value=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -189,7 +172,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Inflate factor to add margins around SfM seeds.",
value=0.2,
range=(0.0, 2.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -198,7 +180,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Inflate factor to add margins to the depth thickness.",
value=0.0,
range=(0.0, 2.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -207,7 +188,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum similarity threshold (between 0 and 1) used to filter out poorly supported depth values.",
value=1.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -216,7 +196,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="GammaC threshold used for similarity computation.",
value=5.5,
range=(0.0, 30.0, 0.5),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -225,7 +204,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="GammaP threshold used for similarity computation.",
value=8.0,
range=(0.0, 30.0, 0.5),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -234,7 +212,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="P1 parameter for SGM filtering.",
value=10.0,
range=(0.0, 255.0, 0.5),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -243,7 +220,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="P2 weighting parameter for SGM filtering.",
value=100.0,
range=(-255.0, 255.0, 0.5),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -252,7 +228,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum number of depths in the similarity volume.",
value=1500,
range=(1, 5000, 1),
invalidate=True,
advanced=True,
),
desc.StringParam(
@ -260,7 +235,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Filtering Axes",
description="Define axes for the filtering of the similarity volume.",
value="YX",
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -268,7 +242,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Depth List Per Tile",
description="Select the list of depth planes per tile or globally to the image.",
value=True,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -276,7 +249,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Consistent Scale",
description="Compare patch with consistent scale for similarity volume computation.",
value=False,
invalidate=True,
),
],
),
@ -292,7 +264,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Enable",
description="Enable depth/similarity map refinement process.",
value=True,
invalidate=True,
),
desc.IntParam(
name="refineScale",
@ -300,7 +271,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Downscale factor applied on source images for the Refine step (in addition to the global downscale).",
value=1,
range=(-1, 10, 1),
invalidate=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
desc.IntParam(
@ -309,7 +279,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="The step is used to compute the refine volume for one pixel over N (in the XY image plane).",
value=1,
range=(-1, 10, 1),
invalidate=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
desc.IntParam(
@ -318,7 +287,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Maximum number of neighbour cameras used per tile.",
value=4,
range=(1, 20, 1),
invalidate=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
desc.IntParam(
@ -327,7 +295,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="The number of subsamples used to extract the best depth from the refine volume (sliding gaussian window precision).",
value=10,
range=(1, 30, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -339,7 +306,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
"for which we evaluate the similarity with a finer z sampling.",
value=15,
range=(1, 50, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -349,7 +315,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Half-size of the patch used to compute the similarity. Patch width is wsh*2+1.",
value=3,
range=(1, 20, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -359,7 +324,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Sigma (2*sigma^2) of the Gaussian filter used to extract the best depth from the refine volume.",
value=15.0,
range=(0.0, 30.0, 0.5),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -369,7 +333,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="GammaC threshold used for similarity computation.",
value=15.5,
range=(0.0, 30.0, 0.5),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -379,7 +342,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="GammaP threshold used for similarity computation.",
value=8.0,
range=(0.0, 30.0, 0.5),
invalidate=True,
advanced=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
@ -388,7 +350,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Interpolate Middle Depth",
description="Enable middle depth bilinear interpolation.",
value=False,
invalidate=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
desc.BoolParam(
@ -396,7 +357,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Consistent Scale",
description="Compare patch with consistent scale for similarity volume computation.",
value=False,
invalidate=True,
enabled=lambda node: node.refine.refineEnabled.value,
),
],
@ -412,7 +372,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Enable",
description="Enable depth/similarity map post-process color optimization.",
value=True,
invalidate=True,
),
desc.IntParam(
name="colorOptimizationNbIterations",
@ -420,7 +379,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Number of iterations for the optimization.",
value=100,
range=(1, 500, 10),
invalidate=True,
advanced=True,
enabled=lambda node: node.colorOptimization.colorOptimizationEnabled.value,
),
@ -438,7 +396,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Enable For SGM",
description="Enable custom patch pattern for similarity volume computation at the SGM step.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -446,7 +403,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Enable For Refine",
description="Enable custom patch pattern for similarity volume computation at the Refine step.",
value=False,
invalidate=True,
advanced=True,
),
desc.ListAttribute(
@ -469,7 +425,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
value="full",
values=["full", "circle"],
exclusive=True,
invalidate=True,
),
desc.FloatParam(
name="customPatchPatternSubpartRadius",
@ -477,7 +432,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Patch pattern subpart half-width or circle radius.",
value=2.5,
range=(0.5, 30.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="customPatchPatternSubpartNbCoords",
@ -485,7 +439,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Patch pattern subpart number of coordinates (for circle or ignore).",
value=12,
range=(3, 24, 1),
invalidate=True,
),
desc.IntParam(
name="customPatchPatternSubpartLevel",
@ -493,7 +446,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Patch pattern subpart image level.",
value=0,
range=(0, 2, 1),
invalidate=True,
),
desc.FloatParam(
name="customPatchPatternSubpartWeight",
@ -501,7 +453,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Patch pattern subpart weight.",
value=1.0,
range=(0.0, 1.0, 0.1),
invalidate=True,
),
],
),
@ -511,7 +462,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Group Subparts Per Level",
description="Group all subparts with the same image level.",
value=False,
invalidate=True,
advanced=True,
enabled=lambda node: (node.customPatchPattern.sgmUseCustomPatchPattern.value or node.customPatchPattern.refineUseCustomPatchPattern.value),
),
@ -530,7 +480,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Depth Maps",
description="Export intermediate depth/similarity maps from the SGM and Refine steps.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -538,7 +487,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Normal Maps",
description="Export intermediate normal maps from the SGM and Refine steps.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -546,7 +494,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Volumes",
description="Export intermediate full similarity volumes from the SGM and Refine steps.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -554,7 +501,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Cross Volumes",
description="Export intermediate similarity cross volumes from the SGM and Refine steps.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -562,7 +508,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Cut Volumes",
description="Export intermediate similarity topographic cut volumes from the SGM and Refine steps.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -570,7 +515,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export 9 Points",
description="Export intermediate volumes 9 points from the SGM and Refine steps in CSV files.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -578,7 +522,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Export Tile Pattern",
description="Export the bounding boxes of tiles volumes as meshes. This allows to visualize the depth map search areas.",
value=False,
invalidate=True,
advanced=True,
),
],
@ -599,7 +542,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -609,7 +551,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Folder",
description="Output folder for generated depth maps.",
value=desc.Node.internalFolder,
invalidate=False,
),
# these attributes are only here to describe more accurately the output of the node
# by specifying that it generates 2 sequences of images
@ -620,7 +561,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Generated depth maps.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_depthMap.exr",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -629,7 +569,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Generated sim maps.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_simMap.exr",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -637,7 +576,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
label="Tile Pattern",
description="Debug: Tile pattern.",
value=desc.Node.internalFolder + "<VIEW_ID>_tilePattern.obj",
invalidate=False,
group="", # do not export on the command line
enabled=lambda node: node.intermediateResults.exportTilePattern.value,
),
@ -647,7 +585,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Debug: Depth maps SGM",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_depthMap_sgm.exr",
invalidate=False,
group="", # do not export on the command line
enabled=lambda node: node.intermediateResults.exportIntermediateDepthSimMaps.value,
),
@ -657,7 +594,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Debug: Depth maps SGM upscaled.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_depthMap_sgmUpscaled.exr",
invalidate=False,
group="", # do not export on the command line
enabled=lambda node: node.intermediateResults.exportIntermediateDepthSimMaps.value,
),
@ -667,7 +603,6 @@ Use a downscale factor of one (full-resolution) only if the quality of the input
description="Debug: Depth maps after refinement",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_depthMap_refinedFused.exr",
invalidate=False,
group="", # do not export on the command line
enabled=lambda node: node.intermediateResults.exportIntermediateDepthSimMaps.value,
),

View file

@ -23,14 +23,12 @@ This allows to filter unstable points before starting the fusion of all depth ma
label="SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="depthMapsFolder",
label="Depth Maps Folder",
description="Input depth maps folder.",
value="",
invalidate=True,
),
desc.FloatParam(
name="minViewAngle",
@ -38,7 +36,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Minimum angle between two views.",
value=2.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -47,7 +44,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Maximum angle between two views.",
value=70.0,
range=(10.0, 120.0, 1.0),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -56,7 +52,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Number of nearest cameras used for filtering.",
value=10,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -65,7 +60,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Minimum number of consistent cameras.",
value=3,
range=(0, 10, 1),
invalidate=True,
),
desc.IntParam(
name="minNumOfConsistentCamsWithLowSimilarity",
@ -73,7 +67,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Minimum number of consistent cameras for pixels with weak similarity value.",
value=4,
range=(0, 10, 1),
invalidate=True,
),
desc.FloatParam(
name="pixToleranceFactor",
@ -81,7 +74,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Filtering tolerance size factor, in pixels.",
value=2.0,
range=(0.001, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -90,7 +82,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Filtering size in pixels.",
value=0,
range=(0, 10, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -99,7 +90,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Filtering size in pixels for low similarity.",
value=0,
range=(0, 10, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -107,7 +97,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
label="Compute Normal Maps",
description="Compute normal maps for each depth map.",
value=False,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -117,7 +106,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -127,7 +115,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
label="Filtered Depth Maps Folder",
description="Output folder for generated depth maps.",
value=desc.Node.internalFolder,
invalidate=False,
),
# these attributes are only here to describe more accurately the output of the node
# by specifying that it generates 2 sequences of images
@ -138,7 +125,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Filtered depth maps.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_depthMap.exr",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -147,7 +133,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Filtered sim maps.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_simMap.exr",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -156,7 +141,6 @@ This allows to filter unstable points before starting the fusion of all depth ma
description="Normal maps.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>_normalMap.exr",
invalidate=False,
enabled=lambda node: node.computeNormalMaps.value,
group="", # do not export on the command line
),

View file

@ -19,14 +19,12 @@ Calibration of a camera/lens couple distortion using a full screen checkerboard.
label="Input SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="checkerboards",
label="Checkerboards Folder",
description="Folder containing checkerboard JSON files.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="undistortionModelName",
@ -35,21 +33,18 @@ Calibration of a camera/lens couple distortion using a full screen checkerboard.
value="3deanamorphic4",
values=["3deanamorphic4", "3declassicld", "3deradial4"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="handleSqueeze",
label="Handle Squeeze",
description="Estimate squeeze.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="isDesqueezed",
label="Is Desqueezed",
description="True if the input image is already desqueezed.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -58,7 +53,6 @@ Calibration of a camera/lens couple distortion using a full screen checkerboard.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -68,6 +62,5 @@ Calibration of a camera/lens couple distortion using a full screen checkerboard.
label="SfMData File",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ Based on the input image filenames, it will recognize the input video sequence t
label="Input SfMData",
description="SfMData file containing a complete SfM.",
value="",
invalidate=True,
),
desc.File(
name="sfmDataFilter",
@ -28,7 +27,6 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Filter out cameras from the export if they are part of this SfMData.\n"
"If empty, export all cameras.",
value="",
invalidate=True,
),
desc.File(
name="viewFilter",
@ -36,7 +34,6 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Select the cameras to export using an expression based on the image filepath.\n"
"If empty, export all cameras.",
value="",
invalidate=True,
),
desc.BoolParam(
name="exportSTMaps",
@ -44,14 +41,12 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Export ST maps. Motion (x, y) is encoded in the image channels to correct the lens distortion.\n"
"It represents the absolute pixel positions of an image normalized between 0 and 1.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="exportUndistortedImages",
label="Export Undistorted Images",
description="Export undistorted images.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="undistortedImageType",
@ -60,7 +55,6 @@ Based on the input image filenames, it will recognize the input video sequence t
value="exr",
values=["jpg", "png", "tif", "exr"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.exportUndistortedImages.value,
),
desc.BoolParam(
@ -69,14 +63,12 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Export full ROD.",
value=False,
enabled=lambda node: node.exportUndistortedImages.value and node.undistortedImageType.value == "exr",
invalidate=True,
),
desc.BoolParam(
name="correctPrincipalPoint",
label="Correct Principal Point",
description="Correct principal point.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -85,7 +77,6 @@ Based on the input image filenames, it will recognize the input video sequence t
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -95,7 +86,6 @@ Based on the input image filenames, it will recognize the input video sequence t
label="Folder",
description="Output folder with animated camera and undistorted images.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputCamera",
@ -103,7 +93,6 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Output filename for the animated camera in Alembic format.",
value=desc.Node.internalFolder + "camera.abc",
group="", # exclude from command line
invalidate=False,
),
desc.File(
name="outputUndistorted",
@ -111,7 +100,6 @@ Based on the input image filenames, it will recognize the input video sequence t
description="Output undistorted folder.",
value=desc.Node.internalFolder + "undistort/",
group="", # exclude from command line
invalidate=False,
),
desc.File(
name="outputImages",
@ -121,6 +109,5 @@ Based on the input image filenames, it will recognize the input video sequence t
semantic="image",
group="", # exclude from command line
enabled=lambda node: node.exportUndistortedImages.value,
invalidate=False,
),
]

View file

@ -17,7 +17,6 @@ class ExportColoredPointCloud(desc.AVCommandLineNode):
label="Input SfMData",
description="SfMData file containing a complete SfM.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -26,7 +25,6 @@ class ExportColoredPointCloud(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -36,6 +34,5 @@ class ExportColoredPointCloud(desc.AVCommandLineNode):
label="Point Cloud Filepath",
description="Output point cloud with visibilities as SfMData file.",
value=desc.Node.internalFolder + "pointCloud.abc",
invalidate=False,
),
]

View file

@ -18,7 +18,6 @@ It also allows to export an undistorted image of the lens grids for validation.
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.BoolParam(
name="exportNukeNode",
@ -26,21 +25,18 @@ It also allows to export an undistorted image of the lens grids for validation.
description="Export Nuke LensDistortion node as nuke file.\n"
"Only supports 3DEqualizer lens models.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="exportLensGridsUndistorted",
label="Export Lens Grids Undistorted",
description="Export the lens grids undistorted for validation.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="exportSTMaps",
label="Export STMaps",
description="Export STMaps for distortion and undistortion.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -49,7 +45,6 @@ It also allows to export an undistorted image of the lens grids for validation.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -59,7 +54,6 @@ It also allows to export an undistorted image of the lens grids for validation.
label="Folder",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="distortionNukeNode",
@ -67,7 +61,6 @@ It also allows to export an undistorted image of the lens grids for validation.
description="Calibrated distortion ST map.",
value=desc.Node.internalFolder + "nukeLensDistortion_<INTRINSIC_ID>.nk",
group="", # do not export on the command line
invalidate=False,
enabled=lambda node: node.exportNukeNode.value,
),
desc.File(
@ -77,7 +70,6 @@ It also allows to export an undistorted image of the lens grids for validation.
semantic="image",
value=desc.Node.internalFolder + "lensgrid_<VIEW_ID>_undistort.exr",
group="", # do not export on the command line
invalidate=False,
enabled=lambda node: node.exportLensGridsUndistorted.value,
),
desc.File(
@ -87,7 +79,6 @@ It also allows to export an undistorted image of the lens grids for validation.
semantic="image",
value=desc.Node.internalFolder + "stmap_<INTRINSIC_ID>_distort.exr",
group="", # do not export on the command line
invalidate=False,
enabled=lambda node: node.exportSTMaps.value,
),
desc.File(
@ -97,7 +88,6 @@ It also allows to export an undistorted image of the lens grids for validation.
semantic="image",
value=desc.Node.internalFolder + "stmap_<INTRINSIC_ID>_undistort.exr",
group="", # do not export on the command line
invalidate=False,
enabled=lambda node: node.exportSTMaps.value,
),
]

View file

@ -18,7 +18,6 @@ class ExportMatches(desc.AVCommandLineNode):
label="Input",
description="SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="describerTypes",
@ -27,7 +26,6 @@ class ExportMatches(desc.AVCommandLineNode):
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ListAttribute(
@ -36,7 +34,6 @@ class ExportMatches(desc.AVCommandLineNode):
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -48,7 +45,6 @@ class ExportMatches(desc.AVCommandLineNode):
label="Matches Folder",
description="Folder containing some computed matches.",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -61,7 +57,6 @@ class ExportMatches(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -71,6 +66,5 @@ class ExportMatches(desc.AVCommandLineNode):
label="Folder",
description="Output path for the features and descriptors files (*.feat, *.desc).",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -21,7 +21,6 @@ MeshroomMaya contains a user interface to browse all cameras.
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -30,7 +29,6 @@ MeshroomMaya contains a user interface to browse all cameras.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -40,6 +38,5 @@ MeshroomMaya contains a user interface to browse all cameras.
label="Folder",
description="Folder for MeshroomMaya outputs: undistorted images and thumbnails.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -37,14 +37,12 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="masksFolder",
label="Masks Folder",
description="Use masks to filter features. Filename should be the same or the image UID.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="maskExtension",
@ -53,14 +51,12 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
value="png",
values=["png", "exr", "jpg"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="maskInvert",
label="Invert Masks",
description="Invert mask values.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="describerTypes",
@ -69,7 +65,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -80,7 +75,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
value="normal",
values=["low", "medium", "normal", "high", "ultra", "custom"],
exclusive=True,
invalidate=True,
group=lambda node: 'allParams' if node.describerPreset.value != 'custom' else None,
),
desc.IntParam(
@ -89,7 +83,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
description="Maximum number of features extracted (0 means default value based on Describer Density).",
value=0,
range=(0, 100000, 1000),
invalidate=True,
advanced=True,
enabled=lambda node: (node.describerPreset.value == "custom"),
),
@ -100,7 +93,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="contrastFiltering",
@ -117,7 +109,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
values=["Static", "AdaptiveToMedianVariance", "NoFiltering", "GridSortOctaves", "GridSort", "GridSortScaleSteps", "GridSortOctaveSteps", "NonExtremaFiltering"],
exclusive=True,
advanced=True,
invalidate=True,
),
desc.FloatParam(
name="relativePeakThreshold",
@ -126,7 +117,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
value=0.01,
range=(0.01, 1.0, 0.001),
advanced=True,
invalidate=True,
enabled=lambda node: (node.contrastFiltering.value == "AdaptiveToMedianVariance"),
),
desc.BoolParam(
@ -135,7 +125,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
description="Enable grid filtering. Highly recommended to ensure usable number of features.",
value=True,
advanced=True,
invalidate=True,
),
desc.ChoiceParam(
name="workingColorSpace",
@ -144,14 +133,12 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
values=COLORSPACES,
value="sRGB",
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="forceCpuExtraction",
label="Force CPU Extraction",
description="Use only CPU feature extraction.",
value=True,
invalidate=False,
advanced=True,
),
desc.IntParam(
@ -170,7 +157,6 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -180,6 +166,5 @@ It is robust to motion-blur, depth-of-field, occlusion. Be careful to have enoug
label="Features Folder",
description="Output path for the features and descriptors files (*.feat, *.desc).",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -39,7 +39,6 @@ then it checks the number of features that validates this model and iterate thro
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -47,7 +46,6 @@ then it checks the number of features that validates this model and iterate thro
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -58,7 +56,6 @@ then it checks the number of features that validates this model and iterate thro
label="Image Pairs",
description="Path to a file which contains the list of image pairs to match.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="describerTypes",
@ -67,7 +64,6 @@ then it checks the number of features that validates this model and iterate thro
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -83,7 +79,6 @@ then it checks the number of features that validates this model and iterate thro
value="ANN_L2",
values=["BRUTE_FORCE_L2", "ANN_L2", "CASCADE_HASHING_L2", "FAST_CASCADE_HASHING_L2", "BRUTE_FORCE_HAMMING"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -95,7 +90,6 @@ then it checks the number of features that validates this model and iterate thro
value="acransac",
values=["acransac", "loransac"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -111,7 +105,6 @@ then it checks the number of features that validates this model and iterate thro
value="fundamental_matrix",
values=["fundamental_matrix", "fundamental_with_distortion", "essential_matrix", "homography_matrix", "homography_growing", "no_filtering"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -120,7 +113,6 @@ then it checks the number of features that validates this model and iterate thro
description="Distance ratio to discard non meaningful matches.",
value=0.8,
range=(0.0, 1.0, 0.01),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -129,7 +121,6 @@ then it checks the number of features that validates this model and iterate thro
description="Maximum number of iterations allowed in the Ransac step.",
value=50000,
range=(1, 100000, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -140,7 +131,6 @@ then it checks the number of features that validates this model and iterate thro
"(if ACRansac, it will analyze the input data to select the optimal value).",
value=0.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -150,7 +140,6 @@ then it checks the number of features that validates this model and iterate thro
"If set to 0 it lets the ACRansac select an optimal value.",
value=5.0,
range=(0.0, 100.0, 1.0),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -161,7 +150,6 @@ then it checks the number of features that validates this model and iterate thro
"Useful for filtering the background during acquisition with a turntable and a static camera.",
value=-1.0,
range=(0.0, 10.0, 1.0),
invalidate=True,
),
desc.IntParam(
name="maxMatches",
@ -169,7 +157,6 @@ then it checks the number of features that validates this model and iterate thro
description="Maximum number of matches to keep.",
value=0,
range=(0, 10000, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -177,7 +164,6 @@ then it checks the number of features that validates this model and iterate thro
label="Save Putative Matches",
description="Save putative matches.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -185,14 +171,12 @@ then it checks the number of features that validates this model and iterate thro
label="Cross Matching",
description="Ensure that the matching process is symmetric (same matches for I->J than for J->I).",
value=False,
invalidate=True,
),
desc.BoolParam(
name="guidedMatching",
label="Guided Matching",
description="Use the found model to improve the pairwise correspondences.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="matchFromKnownCameraPoses",
@ -200,7 +184,6 @@ then it checks the number of features that validates this model and iterate thro
description="Enable the usage of geometric information from known camera poses to guide the feature matching.\n"
"If some cameras have unknown poses (so there is no geometric prior), the standard feature matching will be performed.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="exportDebugFiles",
@ -217,7 +200,6 @@ then it checks the number of features that validates this model and iterate thro
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
outputs = [
@ -226,6 +208,5 @@ then it checks the number of features that validates this model and iterate thro
label="Matches Folder",
description="Path to a folder in which the computed matches are stored.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -21,7 +21,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
label="Input Folder",
description="Input folder with evaluation datasets.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="describerTypes",
@ -30,7 +29,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
values=DESCRIBER_TYPES,
value=["sift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -41,7 +39,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="describerQuality",
@ -50,7 +47,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
value="normal",
values=["low", "medium", "normal", "high", "ultra"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="contrastFiltering",
@ -67,7 +63,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
values=["Static", "AdaptiveToMedianVariance", "NoFiltering", "GridSortOctaves", "GridSort", "GridSortScaleSteps", "GridSortOctaveSteps", "NonExtremaFiltering"],
exclusive=True,
advanced=True,
invalidate=True,
),
desc.FloatParam(
name="relativePeakThreshold",
@ -76,7 +71,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
value=0.01,
range=(0.01, 1.0, 0.001),
advanced=True,
invalidate=True,
enabled=lambda node: (node.contrastFiltering.value == "AdaptiveToMedianVariance"),
),
desc.BoolParam(
@ -85,7 +79,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
description="Enable grid filtering. Highly recommended to ensure a usable number of features.",
value=True,
advanced=True,
invalidate=True,
),
desc.BoolParam(
name="forceCpuExtraction",
@ -102,7 +95,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
value=0,
range=(0, 10000, 1),
group="",
invalidate=True,
),
desc.StringParam(
name="comments",
@ -119,7 +111,6 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -129,6 +120,5 @@ Compare feature/descriptor matching repeatability on some dataset with known hom
label="Folder",
description="Output path for the features and descriptors files (*.feat, *.desc).",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -23,7 +23,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -31,7 +30,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
label="Features Folder",
description="Folder containing some extracted features.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -43,7 +41,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
label="Matches Folder",
description="Folder containing some computed matches.",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -56,7 +53,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -68,7 +64,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
values=["L1_minimization", "L2_minimization"],
value="L2_minimization",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="translationAveraging",
@ -80,7 +75,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
values=["L1_minimization", "L2_minimization", "L1_soft_minimization"],
value="L1_soft_minimization",
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="lockAllIntrinsics",
@ -89,7 +83,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
"principal point, distortion if any) constant during the reconstruction.\n"
"This may be helpful if the input cameras are already fully calibrated.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -98,7 +91,6 @@ It is known to be faster but less robust to challenging datasets than the Increm
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -108,20 +100,17 @@ It is known to be faster but less robust to challenging datasets than the Increm
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Output Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
desc.File(
name="extraInfoFolder",
label="Folder",
description="Folder for intermediate reconstruction files and additional reconstruction information files.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -19,7 +19,6 @@ class ImageMasking(desc.AVCommandLineNode):
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="algorithm",
@ -28,7 +27,6 @@ class ImageMasking(desc.AVCommandLineNode):
value="HSV",
values=["HSV", "AutoGrayscaleThreshold"],
exclusive=True,
invalidate=True,
),
desc.GroupAttribute(
name="hsv",
@ -48,7 +46,6 @@ class ImageMasking(desc.AVCommandLineNode):
semantic="color/hue",
value=0.33,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="hsvHueRange",
@ -56,7 +53,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="Tolerance around the hue value to isolate.",
value=0.1,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="hsvMinSaturation",
@ -64,7 +60,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="Hue is meaningless if saturation is low. Do not mask pixels below this threshold.",
value=0.3,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="hsvMaxSaturation",
@ -72,7 +67,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="Do not mask pixels above this threshold. It might be useful to mask white/black pixels.",
value=1.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="hsvMinValue",
@ -80,7 +74,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="Hue is meaningless if the value is low. Do not mask pixels below this threshold.",
value=0.3,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="hsvMaxValue",
@ -88,7 +81,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="Do not mask pixels above this threshold. It might be useful to mask white/black pixels.",
value=1.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
],
),
@ -98,7 +90,6 @@ class ImageMasking(desc.AVCommandLineNode):
description="If selected, the selected area is ignored.\n"
"If not, only the selected area is considered.",
value=True,
invalidate=True,
),
desc.IntParam(
name="growRadius",
@ -107,7 +98,6 @@ class ImageMasking(desc.AVCommandLineNode):
"It might be used to fill the holes: then use shrinkRadius to restore the initial coutours.",
value=0,
range=(0, 50, 1),
invalidate=True,
),
desc.IntParam(
name="shrinkRadius",
@ -115,21 +105,18 @@ class ImageMasking(desc.AVCommandLineNode):
description="Shrink the selected area.",
value=0,
range=(0, 50, 1),
invalidate=True,
),
desc.File(
name="depthMapFolder",
label="Depth Mask Folder",
description="Depth mask folder.",
value="",
invalidate=True,
),
desc.StringParam(
name="depthMapExp",
label="Depth Mask Expression",
description="Depth mask expression, like '{inputFolder}/{stem}-depth.{ext}'.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -138,7 +125,6 @@ class ImageMasking(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -148,6 +134,5 @@ class ImageMasking(desc.AVCommandLineNode):
label="Output",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -40,7 +40,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -48,7 +47,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -69,7 +67,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
value="SequentialAndVocabularyTree",
values=["VocabularyTree", "Sequential", "SequentialAndVocabularyTree", "Exhaustive", "Frustum", "FrustumOrVocabularyTree"],
exclusive=True,
invalidate=True,
),
desc.File(
name="tree",
@ -85,7 +82,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
description="Input name for the weight file.\n"
"If not provided, the weights will be computed on the database built with the provided set.",
value="",
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -96,7 +92,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
"If we have less features than this threshold, we will compute all matching combinations.",
value=200,
range=(0, 500, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -106,7 +101,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
description="Limit the number of descriptors you load per image. 0 means no limit.",
value=500,
range=(0, 100000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -116,7 +110,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
description="The number of matches to retrieve for each image. (If 0, it will retrieve all the matches).",
value=40,
range=(0, 1000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -126,7 +119,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
description="The number of neighbors to retrieve for each image. (If 0, it will retrieve all the neighbors).",
value=5,
range=(0, 1000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "Sequential" in node.method.value,
),
@ -137,7 +129,6 @@ If images have known poses, use frustum intersection else use VocabularuTree.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -147,6 +138,5 @@ If images have known poses, use frustum intersection else use VocabularuTree.
label="Image Pairs",
description="Filepath to the output file with the list of selected image pairs.",
value=desc.Node.internalFolder + "imageMatches.txt",
invalidate=False,
),
]

View file

@ -25,14 +25,12 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
label="Input A",
description="First input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="inputB",
label="Input B",
description="Second input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -40,7 +38,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -60,7 +57,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
value="SequentialAndVocabularyTree",
values=["VocabularyTree", "SequentialAndVocabularyTree", "Exhaustive", "Frustum"],
exclusive=True,
invalidate=True,
),
desc.File(
name="tree",
@ -76,7 +72,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
description="Input name for the weight file.\n"
"If not provided, the weights will be computed on the database built with the provided set.",
value="",
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -90,7 +85,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
value="a/a+a/b",
values=["a/a+a/b","a/ab", "a/b"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="minNbImages",
@ -99,7 +93,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
"If we have less features than this threshold, we will compute all the matching combinations.",
value=200,
range=(0, 500, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -109,7 +102,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
description="Limit the number of descriptors you load per image. 0 means no limit.",
value=500,
range=(0, 100000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -119,7 +111,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
description="The number of matches to retrieve for each image. (If 0, it will retrieve all the matches).",
value=40,
range=(0, 1000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "VocabularyTree" in node.method.value,
),
@ -129,7 +120,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
description="The number of neighbors to retrieve for each image. (If 0, it will retrieve all the neighbors).",
value=5,
range=(0, 1000, 1),
invalidate=True,
advanced=True,
enabled=lambda node: "Sequential" in node.method.value,
),
@ -140,7 +130,6 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -150,13 +139,11 @@ Thanks to this node, the FeatureMatching node will only compute the matches betw
label="List File",
description="Filepath to the output file with the list of selected image pairs.",
value=desc.Node.internalFolder + "imageMatches.txt",
invalidate=False,
),
desc.File(
name="outputCombinedSfM",
label="Combined SfM",
description="Path for the combined SfMData file.",
value=desc.Node.internalFolder + "combineSfM.sfm",
invalidate=False,
),
]

View file

@ -52,7 +52,6 @@ Convert or apply filtering to the input images.
" - '?' matches one character.\n"
" - '*' matches zero character or more.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -60,7 +59,6 @@ Convert or apply filtering to the input images.
label="Input Folder",
description="Folder containing images.",
value="",
invalidate=True,
),
name="inputFolders",
label="Input Images Folders",
@ -72,7 +70,6 @@ Convert or apply filtering to the input images.
label="Metadata Folder",
description="Specific folder containing images with metadata.",
value="",
invalidate=True,
),
name="metadataFolders",
label="Input Metadata Folders",
@ -86,49 +83,42 @@ Convert or apply filtering to the input images.
value="",
values=["", "exr", "jpg", "tiff", "png"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="reconstructedViewsOnly",
label="Only Reconstructed Views",
description="Only process reconstructed views.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="keepImageFilename",
label="Keep Image Name",
description="Keep the original image name instead of the view name.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="reorient",
label="Automatic Reorientation",
description="Automatic image reorientation.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="fixNonFinite",
label="Fix Non-Finite",
description="Fix non-finite pixels based on neighboring pixels average.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="exposureCompensation",
label="Exposure Compensation",
description="Exposure compensation (only valid for SfMData).",
value=False,
invalidate=True,
),
desc.BoolParam(
name="rawAutoBright",
label="RAW Auto Bright",
description="Enable automatic exposure adjustment for RAW images.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="rawExposureAdjust",
@ -136,7 +126,6 @@ Convert or apply filtering to the input images.
description="Manual exposure adjustment in fstops for RAW images.",
value=0.0,
range=(-2.0, 3.0, 0.125),
invalidate=True,
),
desc.GroupAttribute(
name="lensCorrection",
@ -149,14 +138,12 @@ Convert or apply filtering to the input images.
label="Enable",
description="Enable lens correction.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="geometry",
label="Geometry",
description="Geometry correction if a model is available in the SfMData.",
value=False,
invalidate=True,
enabled=lambda node: node.lensCorrection.lensCorrectionEnabled.value,
),
desc.BoolParam(
@ -164,7 +151,6 @@ Convert or apply filtering to the input images.
label="Vignetting",
description="Vignetting correction if the model parameters are available in the metadata.",
value=False,
invalidate=True,
enabled=lambda node: node.lensCorrection.lensCorrectionEnabled.value,
),
desc.BoolParam(
@ -172,7 +158,6 @@ Convert or apply filtering to the input images.
label="Chromatic Aberration",
description="Chromatic aberration (fringing) correction if the model parameters are available in the metadata.",
value=False,
invalidate=True,
enabled=lambda node: node.lensCorrection.lensCorrectionEnabled.value,
),
],
@ -183,7 +168,6 @@ Convert or apply filtering to the input images.
description="Scale factor.",
value=1.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.IntParam(
name="maxWidth",
@ -191,7 +175,6 @@ Convert or apply filtering to the input images.
description="Maximum width of the output images (0: ignored).",
value=0,
range=(0, 10000, 1),
invalidate=True,
),
desc.IntParam(
name="maxHeight",
@ -199,7 +182,6 @@ Convert or apply filtering to the input images.
description="Maximum height of the output images (0: ignored).",
value=0,
range=(0, 10000, 1),
invalidate=True,
),
desc.FloatParam(
name="contrast",
@ -207,7 +189,6 @@ Convert or apply filtering to the input images.
description="Contrast.",
value=1.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
),
desc.IntParam(
name="medianFilter",
@ -215,7 +196,6 @@ Convert or apply filtering to the input images.
description="Median filter.",
value=0,
range=(0, 10, 1),
invalidate=True,
),
desc.BoolParam(
name="fillHoles",
@ -223,7 +203,6 @@ Convert or apply filtering to the input images.
description="Fill holes based on the alpha channel.\n"
"Note: It will enable 'fixNonFinite', as it is required for the image pyramid construction used to fill holes.",
value=False,
invalidate=True,
),
desc.GroupAttribute(
name="sharpenFilter",
@ -236,7 +215,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Use sharpen filter.",
value=False,
invalidate=True,
),
desc.IntParam(
name="width",
@ -244,7 +222,6 @@ Convert or apply filtering to the input images.
description="Sharpening width.",
value=3,
range=(1, 9, 2),
invalidate=True,
enabled=lambda node: node.sharpenFilter.sharpenFilterEnabled.value,
),
desc.FloatParam(
@ -253,7 +230,6 @@ Convert or apply filtering to the input images.
description="Sharpening contrast.",
value=1.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
enabled=lambda node: node.sharpenFilter.sharpenFilterEnabled.value,
),
desc.FloatParam(
@ -262,7 +238,6 @@ Convert or apply filtering to the input images.
description="Sharpening threshold.",
value=0.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
enabled=lambda node: node.sharpenFilter.sharpenFilterEnabled.value,
),
],
@ -278,7 +253,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Use bilateral filter.",
value=False,
invalidate=True,
),
desc.IntParam(
name="bilateralFilterDistance",
@ -287,7 +261,6 @@ Convert or apply filtering to the input images.
"Could be very slow for large filters, so it is recommended to use 5.",
value=0,
range=(0, 9, 1),
invalidate=True,
enabled=lambda node: node.bilateralFilter.bilateralFilterEnabled.value,
),
desc.FloatParam(
@ -296,7 +269,6 @@ Convert or apply filtering to the input images.
description="Bilateral filter sigma in the coordinate space.",
value=0.0,
range=(0.0, 150.0, 0.01),
invalidate=True,
enabled=lambda node: node.bilateralFilter.bilateralFilterEnabled.value,
),
desc.FloatParam(
@ -305,7 +277,6 @@ Convert or apply filtering to the input images.
description="Bilateral filter sigma in the color space.",
value=0.0,
range=(0.0, 150.0, 0.01),
invalidate=True,
enabled=lambda node: node.bilateralFilter.bilateralFilterEnabled.value,
),
],
@ -321,7 +292,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Use Contrast Limited Adaptive Histogram Equalization (CLAHE) filter.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="claheClipLimit",
@ -329,7 +299,6 @@ Convert or apply filtering to the input images.
description="Threshold for contrast limiting.",
value=4.0,
range=(0.0, 8.0, 1.0),
invalidate=True,
enabled=lambda node: node.claheFilter.claheEnabled.value,
),
desc.IntParam(
@ -339,7 +308,6 @@ Convert or apply filtering to the input images.
"Input image will be divided into equally sized rectangular tiles.",
value=8,
range=(4, 64, 4),
invalidate=True,
enabled=lambda node: node.claheFilter.claheEnabled.value,
),
],
@ -355,7 +323,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Add noise.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="noiseMethod",
@ -367,7 +334,6 @@ Convert or apply filtering to the input images.
value="uniform",
values=["uniform", "gaussian", "salt"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.noiseFilter.noiseEnabled.value,
),
desc.FloatParam(
@ -379,7 +345,6 @@ Convert or apply filtering to the input images.
" - salt: the value of the specified portion of pixels.",
value=0.0,
range=(0.0, 1.0, 0.0001),
invalidate=True,
enabled=lambda node: node.noiseFilter.noiseEnabled.value,
),
desc.FloatParam(
@ -391,7 +356,6 @@ Convert or apply filtering to the input images.
" - salt: the portion of pixels to set to a specified value.",
value=1.0,
range=(0.0, 1.0, 0.0001),
invalidate=True,
enabled=lambda node: node.noiseFilter.noiseEnabled.value,
),
desc.BoolParam(
@ -400,7 +364,6 @@ Convert or apply filtering to the input images.
description="If selected, a single noise value will be applied to all channels.\n"
"Otherwise, a separate noise value will be computed for each channel.",
value=True,
invalidate=True,
enabled=lambda node: node.noiseFilter.noiseEnabled.value,
),
],
@ -417,7 +380,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Use Non-Local Mean Denoising from OpenCV to denoise images.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="nlmFilterH",
@ -427,7 +389,6 @@ Convert or apply filtering to the input images.
"smaller H value preserves details but also preserves some noise.",
value=5.0,
range=(1.0, 1000.0, 0.01),
invalidate=True,
enabled=lambda node: node.nlmFilter.nlmFilterEnabled.value,
),
desc.FloatParam(
@ -438,7 +399,6 @@ Convert or apply filtering to the input images.
"smaller HColor value preserves details but also preserves some noise.",
value=10.0,
range=(0.0, 1000.0, 0.01),
invalidate=True,
enabled=lambda node: node.nlmFilter.nlmFilterEnabled.value,
),
desc.IntParam(
@ -447,7 +407,6 @@ Convert or apply filtering to the input images.
description="Size in pixels of the template patch that is used to compute weights. Should be odd.",
value=7,
range=(1, 101, 2),
invalidate=True,
enabled=lambda node: node.nlmFilter.nlmFilterEnabled.value,
),
desc.IntParam(
@ -457,7 +416,6 @@ Convert or apply filtering to the input images.
"Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time.",
value=21,
range=(1, 1001, 2),
invalidate=True,
enabled=lambda node: node.nlmFilter.nlmFilterEnabled.value,
),
],
@ -473,7 +431,6 @@ Convert or apply filtering to the input images.
label="Enable",
description="Apply pixel aspect ratio.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="parRowDecimation",
@ -481,7 +438,6 @@ Convert or apply filtering to the input images.
description="If selected, reduce image height by decimating the number of rows.\n"
"Otherwise, increase width by upsampling image columns.",
value=False,
invalidate=True,
enabled=lambda node: node.parFilter.parEnabled.value,
),
],
@ -493,7 +449,6 @@ Convert or apply filtering to the input images.
value="rgba",
values=["rgba", "rgb", "grayscale"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="inputColorSpace",
@ -502,7 +457,6 @@ Convert or apply filtering to the input images.
values=COLORSPACES,
value="AUTO",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="outputColorSpace",
@ -511,7 +465,6 @@ Convert or apply filtering to the input images.
values=COLORSPACES,
value="AUTO",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="workingColorSpace",
@ -520,7 +473,6 @@ Convert or apply filtering to the input images.
values=COLORSPACES,
value="Linear",
exclusive=True,
invalidate=True,
enabled=lambda node: not node.applyDcpMetadata.value,
),
desc.ChoiceParam(
@ -530,14 +482,12 @@ Convert or apply filtering to the input images.
values=RAW_COLOR_INTERPRETATION,
value="DCPLinearProcessing" if os.environ.get("ALICEVISION_COLOR_PROFILE_DB", "") else "LibRawWhiteBalancing",
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="applyDcpMetadata",
label="Apply DCP Metadata",
description="If the image contains some DCP metadata, then generate a DCP profile from them and apply it to the image content.",
value=False,
invalidate=True,
),
desc.File(
name="colorProfileDatabase",
@ -552,7 +502,6 @@ Convert or apply filtering to the input images.
label="Error On Missing DCP Color Profile",
description="If a color profile database is specified but no color profile is found for at least one image, then an error is thrown.",
value=True,
invalidate=True,
enabled=lambda node: (node.rawColorInterpretation.value == "DCPLinearProcessing") or (node.rawColorInterpretation.value == "DCPMetadata"),
),
desc.BoolParam(
@ -560,7 +509,6 @@ Convert or apply filtering to the input images.
label="Use DCP Color Matrix Only",
description="Use only the Color Matrix information from the DCP and ignore the Forward Matrix.",
value=True,
invalidate=True,
enabled=lambda node: (node.rawColorInterpretation.value == "DCPLinearProcessing") or (node.rawColorInterpretation.value == "DCPMetadata"),
),
desc.BoolParam(
@ -568,7 +516,6 @@ Convert or apply filtering to the input images.
label="WB After Demosaicing",
description="Do White Balance after demosaicing, just before DCP profile application.",
value=False,
invalidate=True,
enabled=lambda node: (node.rawColorInterpretation.value == "DCPLinearProcessing") or (node.rawColorInterpretation.value == "DCPMetadata"),
),
desc.ChoiceParam(
@ -578,7 +525,6 @@ Convert or apply filtering to the input images.
value="AHD",
values=["linear", "VNG", "PPG", "AHD", "DCB", "AHD-Mod", "AFD", "VCD", "Mixed", "LMMSE", "AMaZE", "DHT", "AAHD", "none"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="highlightMode",
@ -591,7 +537,6 @@ Convert or apply filtering to the input images.
value=0,
values=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
exclusive=True,
invalidate=True,
),
desc.FloatParam(
name="correlatedColorTemperature",
@ -600,7 +545,6 @@ Convert or apply filtering to the input images.
"A negative or null value indicates that the metadata information will be used.",
value=-1.0,
range=(-1.0, 10000.0, 1.0),
invalidate=True,
),
desc.File(
name="lensCorrectionProfileInfo",
@ -614,7 +558,6 @@ Convert or apply filtering to the input images.
label="LCP Generic Search",
description="The lens name and camera maker are used to match the LCP database, but the camera model is ignored.",
value=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -628,7 +571,6 @@ Convert or apply filtering to the input images.
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="exrCompressionMethod",
@ -637,7 +579,6 @@ Convert or apply filtering to the input images.
value="auto",
values=["none", "auto", "rle", "zip", "zips", "piz", "pxr24", "b44", "b44a", "dwaa", "dwab"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="exrCompressionLevel",
@ -647,7 +588,6 @@ Convert or apply filtering to the input images.
"A value of 0 will be ignored, and the default value for the selected method will be used.",
value=0,
range=(0, 500, 1),
invalidate=True,
enabled=lambda node: node.exrCompressionMethod.value in ["dwaa", "dwab", "zip", "zips"],
),
desc.BoolParam(
@ -655,7 +595,6 @@ Convert or apply filtering to the input images.
label="JPEG Compress",
description="Enable JPEG compression.",
value=True,
invalidate=True,
),
desc.IntParam(
name="jpegQuality",
@ -663,7 +602,6 @@ Convert or apply filtering to the input images.
description="JPEG images quality after compression.",
value=90,
range=(0, 100, 1),
invalidate=True,
enabled=lambda node: node.jpegCompress.value,
),
desc.ChoiceParam(
@ -673,7 +611,6 @@ Convert or apply filtering to the input images.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -683,7 +620,6 @@ Convert or apply filtering to the input images.
label="SfMData",
description="Output SfMData file.",
value=lambda attr: (desc.Node.internalFolder + os.path.basename(attr.node.input.value)) if (os.path.splitext(attr.node.input.value)[1] in [".abc", ".sfm"]) else "",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -691,7 +627,6 @@ Convert or apply filtering to the input images.
label="Folder",
description="Output images folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputImages",
@ -700,6 +635,5 @@ Convert or apply filtering to the input images.
semantic="image",
value=outputImagesValueFunct,
group="", # do not export on the command line
invalidate=False,
),
]

View file

@ -22,14 +22,12 @@ Generate a mask with segmented labels for each pixel.
label="Input",
description="SfMData file input.",
value="",
invalidate=True,
),
desc.File(
name="modelPath",
label="Segmentation Model",
description="Weights file for the internal model.",
value="${ALICEVISION_SEMANTIC_SEGMENTATION_MODEL}",
invalidate=True,
),
desc.ChoiceParam(
name="validClasses",
@ -49,14 +47,12 @@ Generate a mask with segmented labels for each pixel.
"train", "tvmonitor"
],
exclusive=False,
invalidate=True,
),
desc.BoolParam(
name="maskInvert",
label="Invert Masks",
description="Invert mask values. If selected, the pixels corresponding to the mask will be set to 0 instead of 255.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="useGpu",
@ -70,7 +66,6 @@ Generate a mask with segmented labels for each pixel.
label="Keep Filename",
description="Keep Input Filename",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -79,7 +74,6 @@ Generate a mask with segmented labels for each pixel.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -89,7 +83,6 @@ Generate a mask with segmented labels for each pixel.
label="Masks Folder",
description="Output path for the masks.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="masks",
@ -98,6 +91,5 @@ Generate a mask with segmented labels for each pixel.
semantic="image",
value=lambda attr: desc.Node.internalFolder + "<VIEW_ID>.exr" if not attr.node.keepFilename.value else desc.Node.internalFolder + "<FILESTEM>.exr",
group="",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ Import an E57 file and generate an SfMData.
label="E57 File",
description="Path to an E57 file.",
value="",
invalidate=True,
),
name="input",
label="Input Files",
@ -32,7 +31,6 @@ Import an E57 file and generate an SfMData.
description="Ensure each point has no neighbour closer than maxDensity meters.",
value=0.01,
range=(0.0, 0.2, 0.001),
invalidate=True,
),
desc.FloatParam(
name="minIntensity",
@ -40,7 +38,6 @@ Import an E57 file and generate an SfMData.
description="Ensure no point has an intensity lower than this value.",
value=0.03,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.IntParam(
name="maxPointsPerBlock",
@ -48,7 +45,6 @@ Import an E57 file and generate an SfMData.
description="Limit the number of points per computation region (For memory usage, 0 means no limit).",
value=5000000,
range=(0, 10000000, 100000),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -57,7 +53,6 @@ Import an E57 file and generate an SfMData.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -67,6 +62,5 @@ Import an E57 file and generate an SfMData.
label="Output",
description="Path to the output JSON file.",
value=desc.Node.internalFolder + "inputset.json",
invalidate=False,
),
]

View file

@ -18,14 +18,12 @@ class ImportKnownPoses(desc.AVCommandLineNode):
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="knownPosesData",
label="Known Poses Data",
description="Known poses data in the JSON or XMP format.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -34,7 +32,6 @@ class ImportKnownPoses(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -44,7 +41,6 @@ class ImportKnownPoses(desc.AVCommandLineNode):
label="Output",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "/sfmData.abc",
invalidate=False,
),
]

View file

@ -73,7 +73,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Input Path",
description="Input path.",
value="",
invalidate=True,
),
name="inputPaths",
label="Input Paths",
@ -85,7 +84,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Brand",
description="Camera brand.",
value="",
invalidate=True,
),
name="brands",
label="Brands",
@ -97,7 +95,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Model",
description="Camera model.",
value="",
invalidate=True,
),
name="models",
label="Models",
@ -110,7 +107,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Focal in mm (will be used if not 0).",
value=0.0,
range=(0.0, 500.0, 1.0),
invalidate=True,
),
name="mmFocals",
label="Focals",
@ -121,7 +117,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Sensor Database",
description="Camera sensor width database path.",
value="${ALICEVISION_SENSOR_DB}",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -129,7 +124,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Masks Path",
description="Directory containing masks to apply to the frames.",
value="",
invalidate=True,
),
name="maskPaths",
label="Masks",
@ -150,7 +144,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Use Smart Keyframe Selection",
description="Use the smart keyframe selection.",
value=True,
invalidate=True,
),
desc.GroupAttribute(
name="regularSelection",
@ -166,7 +159,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Minimum number of frames between two keyframes.",
value=12,
range=(1, 1000, 1),
invalidate=True,
enabled=lambda node: node.regularSelection.enabled,
),
desc.IntParam(
@ -175,7 +167,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Maximum number of frames between two keyframes. Ignored if equal to 0.",
value=0,
range=(0, 1000, 1),
invalidate=True,
enabled=lambda node: node.regularSelection.enabled,
),
desc.IntParam(
@ -186,7 +177,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
"might cause the selection to stop before reaching the end of the input sequence(s).",
value=0,
range=(0, 10000, 1),
invalidate=True,
enabled=lambda node: node.regularSelection.enabled,
),
],
@ -205,7 +195,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="The percentage of pixels in the frame that need to have moved since the last keyframe to be considered for the selection.",
value=10.0,
range=(0.0, 100.0, 1.0),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
),
desc.IntParam(
@ -214,7 +203,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Minimum number of frames selected to be keyframes.",
value=40,
range=(1, 100, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
),
desc.IntParam(
@ -223,7 +211,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Maximum number of frames selected to be keyframes.",
value=2000,
range=(1, 10000, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
),
desc.IntParam(
@ -233,7 +220,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
"Aspect ratio will be preserved. No rescale will be performed if equal to 0.",
value=720,
range=(0, 4000, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
advanced=True,
),
@ -244,7 +230,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
"Aspect ratio will be preserved. No rescale will be performed if equal to 0.",
value=720,
range=(0, 4000, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
advanced=True,
),
@ -254,7 +239,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="The size, in pixels, of the sliding window used to evaluate a frame's sharpness.",
value=200,
range=(1, 10000, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
advanced=True,
),
@ -264,7 +248,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="The size, in pixels, of the cells within a frame in which the optical flow scores is evaluated.",
value=90,
range=(10, 2000, 1),
invalidate=True,
enabled=lambda node: node.smartSelection.enabled,
advanced=True,
),
@ -292,7 +275,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
"option enabled instead of [00015.exr, 00294.exr, 00825.exr].",
value=False,
enabled=lambda node: node.outputExtension.value != "none",
invalidate=True,
),
desc.ChoiceParam(
name="outputExtension",
@ -305,7 +287,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
exclusive=True,
validValue=lambda node: not (any(ext in input.value.lower() for ext in videoExts for input in node.inputPaths.value) and node.outputExtension.value == "none"),
errorMessage="A video input has been provided. The output extension should be different from 'none'.",
invalidate=True,
),
desc.ChoiceParam(
name="storageDataType",
@ -318,7 +299,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
enabled=lambda node: node.outputExtension.value == "exr",
advanced=True,
),
@ -342,14 +322,12 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Export Scores To CSV",
description="Export the computed sharpness and optical flow scores to a CSV file.",
value=False,
invalidate=True,
),
desc.StringParam(
name="csvFilename",
label="CSV Filename",
description="Name of the CSV file to export. It will be written in the node's output folder.",
value="scores.csv",
invalidate=True,
enabled=lambda node: node.debugOptions.debugScores.exportScores.value,
),
desc.BoolParam(
@ -357,7 +335,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Export Selected Frames",
description="Add a column in the CSV file containing 1s for frames that were selected and 0s for those that were not.",
value=False,
invalidate=True,
enabled=lambda node: node.debugOptions.debugScores.exportScores.value,
),
],
@ -374,7 +351,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Visualise Optical Flow",
description="Export each frame's optical flow HSV visualisation as PNG images.",
value=False,
invalidate=True,
enabled=lambda node: node.debugOptions.opticalFlowVisualisation.enabled,
),
desc.BoolParam(
@ -383,7 +359,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Export each frame's optical flow HSV visualisation as PNG images, but do not perform any score computation or frame selection.\n"
"If this option is selected, all the other options will be ignored.",
value=False,
invalidate=True,
enabled=lambda node: node.debugOptions.opticalFlowVisualisation.enabled,
),
],
@ -393,7 +368,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Skip Sharpness Computation",
description="Skip the sharpness score computation. A fixed score of 1.0 will be applied by default to all the frames.",
value=False,
invalidate=True,
enabled=lambda node: node.debugOptions.enabled,
),
desc.BoolParam(
@ -401,7 +375,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Skip Frame Selection",
description="Compute the sharpness and optical flow scores, but do not proceed to the frame selection.",
value=False,
invalidate=True,
enabled=lambda node: node.debugOptions.enabled,
),
],
@ -413,7 +386,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -423,14 +395,12 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
label="Folder",
description="Output keyframes folder for extracted frames.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputSfMDataKeyframes",
label="Keyframes SfMData",
description="Output SfMData file containing all the selected keyframes.",
value=desc.Node.internalFolder + "keyframes.sfm",
invalidate=False,
),
desc.File(
name="outputSfMDataFrames",
@ -438,7 +408,6 @@ You can extract frames at regular interval by configuring only the min/maxFrameS
description="Output SfMData file containing all the frames that were not selected as keyframes.\n"
"If the input contains videos, this file will not be written since all the frames that were not selected do not actually exist on disk.",
value=desc.Node.internalFolder + "frames.sfm",
invalidate=False,
),
]

View file

@ -44,14 +44,12 @@ Calibrate LDR to HDR response curve from samples.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="samples",
label="Samples Folder",
description="Samples folder.",
value=desc.Node.internalFolder,
invalidate=True,
),
desc.IntParam(
name="userNbBrackets",
@ -72,7 +70,6 @@ Calibrate LDR to HDR response curve from samples.
"else it is equal to 'userNbBrackets'.",
value=0,
range=(0, 15, 1),
invalidate=True,
group="bracketsParams",
),
desc.BoolParam(
@ -80,7 +77,6 @@ Calibrate LDR to HDR response curve from samples.
label="Bypass",
description="Bypass HDR creation and use the medium bracket as the source for the next steps.",
value=False,
invalidate=True,
enabled=lambda node: node.nbBrackets.value != 1,
),
desc.ChoiceParam(
@ -95,7 +91,6 @@ Calibrate LDR to HDR response curve from samples.
values=["auto", "linear", "debevec", "grossberg", "laguerre"],
value="auto",
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.ChoiceParam(
@ -109,7 +104,6 @@ Calibrate LDR to HDR response curve from samples.
value="default",
values=["default", "gaussian", "triangle", "plateau"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.IntParam(
@ -118,7 +112,6 @@ Calibrate LDR to HDR response curve from samples.
description="Quantization level like 8 bits or 10 bits.",
value=10,
range=(8, 14, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -142,7 +135,6 @@ Calibrate LDR to HDR response curve from samples.
"can be managed by the calibration step (in term of computation time and memory usage).",
value=1000000,
range=(8, 10000000, 1000),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -153,7 +145,6 @@ Calibrate LDR to HDR response curve from samples.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -163,7 +154,6 @@ Calibrate LDR to HDR response curve from samples.
label="Response File",
description="Path to the output response file.",
value=desc.Node.internalFolder + "response_<INTRINSIC_ID>.csv",
invalidate=False,
),
]

View file

@ -43,14 +43,12 @@ Merge LDR images into HDR images.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="response",
label="Response File",
description="Response file.",
value="",
invalidate=True,
),
desc.IntParam(
name="userNbBrackets",
@ -71,7 +69,6 @@ Merge LDR images into HDR images.
"is 0, else it is equal to 'userNbBrackets'.",
value=0,
range=(0, 15, 1),
invalidate=True,
group="bracketsParams",
),
desc.BoolParam(
@ -79,7 +76,6 @@ Merge LDR images into HDR images.
label="Manually Specify Ref Bracket",
description="Manually specify the reference bracket index to control the exposure of the HDR image.",
value=False,
invalidate=True,
group="user", # not used directly on the command line
),
desc.IntParam(
@ -89,7 +85,6 @@ Merge LDR images into HDR images.
"+N to use a more exposed bracket or -N to use a less exposed bracket.",
value=1,
range=(-4, 4, 1),
invalidate=True,
enabled=lambda node: (node.nbBrackets.value != 1 and node.offsetRefBracketIndexEnabled.value),
),
desc.FloatParam(
@ -98,7 +93,6 @@ Merge LDR images into HDR images.
description="Expected mean luminance of the HDR images used to compute the final panorama.",
value=0.4,
range=(0.0, 1.0, 0.01),
invalidate=True,
enabled=lambda node: (node.nbBrackets.value != 1 and not node.offsetRefBracketIndexEnabled.value),
),
desc.FloatParam(
@ -107,7 +101,6 @@ Merge LDR images into HDR images.
description="Minimum channel input value to be considered in advanced pixelwise merging.",
value=0.05,
range=(0.0, 1.0, 0.001),
invalidate=True,
enabled=lambda node: (node.nbBrackets.value != 1),
),
desc.FloatParam(
@ -116,7 +109,6 @@ Merge LDR images into HDR images.
description="Maximum channel input value to be considered in advanced pixelwise merging.",
value=0.995,
range=(0.0, 1.0, 0.001),
invalidate=True,
enabled=lambda node: (node.nbBrackets.value != 1),
),
desc.BoolParam(
@ -124,7 +116,6 @@ Merge LDR images into HDR images.
label="Compute Light Masks",
description="Compute masks of low and high lights and missing info.",
value=False,
invalidate=True,
enabled=lambda node: node.nbBrackets.value != 1,
),
desc.BoolParam(
@ -132,7 +123,6 @@ Merge LDR images into HDR images.
label="Bypass",
description="Bypass HDR creation and use the medium bracket as the source for the next steps.",
value=False,
invalidate=True,
enabled=lambda node: node.nbBrackets.value != 1,
),
desc.BoolParam(
@ -140,7 +130,6 @@ Merge LDR images into HDR images.
label="Keep Source Image Name",
description="Keep the filename of the input image selected as central image for the output image filename.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="fusionWeight",
@ -152,7 +141,6 @@ Merge LDR images into HDR images.
value="gaussian",
values=["gaussian", "triangle", "plateau"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.IntParam(
@ -161,7 +149,6 @@ Merge LDR images into HDR images.
description="Quantization level like 8 bits or 10 bits.",
value=10,
range=(8, 14, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -173,7 +160,6 @@ Merge LDR images into HDR images.
values=COLORSPACES,
value="AUTO",
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.BoolParam(
@ -181,7 +167,6 @@ Merge LDR images into HDR images.
label="Enable Highlight",
description="Enable highlights correction.",
value=False,
invalidate=True,
group="user", # not used directly on the command line
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -195,7 +180,6 @@ Merge LDR images into HDR images.
"This parameter is float to enable to weight this correction.",
value=1.0,
range=(0.0, 1.0, 0.01),
invalidate=True,
enabled=lambda node: node.enableHighlight.enabled and node.enableHighlight.value,
),
desc.FloatParam(
@ -218,7 +202,6 @@ Merge LDR images into HDR images.
" - 150 lux: Home\n",
value=120000.0,
range=(1000.0, 150000.0, 1.0),
invalidate=True,
enabled=lambda node: node.enableHighlight.enabled and node.enableHighlight.value and node.highlightCorrectionFactor.value != 0,
),
desc.ChoiceParam(
@ -232,7 +215,6 @@ Merge LDR images into HDR images.
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -241,7 +223,6 @@ Merge LDR images into HDR images.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -251,7 +232,6 @@ Merge LDR images into HDR images.
label="Folder",
description="Path to the folder containing the merged HDR images.",
value=desc.Node.internalFolder,
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -259,7 +239,6 @@ Merge LDR images into HDR images.
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -65,7 +65,6 @@ Sample pixels from Low range images for HDR creation.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.IntParam(
name="userNbBrackets",
@ -86,7 +85,6 @@ Sample pixels from Low range images for HDR creation.
"is 0, else it is equal to 'userNbBrackets'.",
value=0,
range=(0, 15, 1),
invalidate=True,
group="bracketsParams",
),
desc.BoolParam(
@ -94,7 +92,6 @@ Sample pixels from Low range images for HDR creation.
label="Bypass",
description="Bypass HDR creation and use the medium bracket as the source for the next steps.",
value=False,
invalidate=True,
enabled=lambda node: node.nbBrackets.value != 1,
),
desc.ChoiceParam(
@ -109,7 +106,6 @@ Sample pixels from Low range images for HDR creation.
values=["auto", "linear", "debevec", "grossberg", "laguerre"],
value="auto",
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.IntParam(
@ -118,7 +114,6 @@ Sample pixels from Low range images for HDR creation.
description="Quantization level like 8 bits or 10 bits.",
value=10,
range=(8, 14, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -130,7 +125,6 @@ Sample pixels from Low range images for HDR creation.
values=COLORSPACES,
value="AUTO",
exclusive=True,
invalidate=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
desc.IntParam(
@ -139,7 +133,6 @@ Sample pixels from Low range images for HDR creation.
description="Size of the image tile to extract a sample.",
value=256,
range=(8, 1024, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -149,7 +142,6 @@ Sample pixels from Low range images for HDR creation.
description="Radius of the patch used to analyze the sample statistics.",
value=5,
range=(0, 10, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -159,7 +151,6 @@ Sample pixels from Low range images for HDR creation.
description="Maximum number of samples per image group.",
value=200,
range=(10, 1000, 10),
invalidate=True,
advanced=True,
enabled=lambda node: node.byPass.enabled and not node.byPass.value,
),
@ -178,7 +169,6 @@ Sample pixels from Low range images for HDR creation.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -188,7 +178,6 @@ Sample pixels from Low range images for HDR creation.
label="Folder",
description="Output path for the samples.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -24,7 +24,6 @@ class LidarDecimating(desc.AVCommandLineNode):
label="Input JSON",
description="Input JSON file with description of inputs.",
value="",
invalidate=True,
),
desc.FloatParam(
name="errorLimit",
@ -32,7 +31,6 @@ class LidarDecimating(desc.AVCommandLineNode):
description="Maximal distance (in meters) allowed.",
value=0.001,
range=(0.0, 1.0, 0.001),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -41,7 +39,6 @@ class LidarDecimating(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -51,13 +48,11 @@ class LidarDecimating(desc.AVCommandLineNode):
label="Sub-Meshes Directory",
description="Output directory for sub-meshes.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputJson",
label="Scene Description",
description="Output scene description.",
value=desc.Node.internalFolder + "scene.json",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ class LidarMerging(desc.AVCommandLineNode):
label="Input JSON",
description="Input JSON file with description of inputs.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -29,7 +28,6 @@ class LidarMerging(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -39,6 +37,5 @@ class LidarMerging(desc.AVCommandLineNode):
label="Mesh Path Output",
description="Output directory for mesh.",
value=desc.Node.internalFolder + "output.obj",
invalidate=False,
),
]

View file

@ -24,7 +24,6 @@ class LidarMeshing(desc.AVCommandLineNode):
label="Input JSON",
description="Input JSON file with description of inputs.",
value="",
invalidate=True,
),
desc.BoolParam(
name="useBoundingBox",
@ -33,7 +32,6 @@ class LidarMeshing(desc.AVCommandLineNode):
"If enabled, it takes priority over the 'Estimate Space From SfM' option.\n"
"Parameters can be adjusted in advanced settings.",
value=False,
invalidate=True,
group="",
),
desc.GroupAttribute(
@ -49,19 +47,16 @@ class LidarMeshing(desc.AVCommandLineNode):
desc.FloatParam(
name="x", label="x", description="X offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
name="y", label="y", description="Y offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
name="z", label="z", description="Z offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
],
@ -75,19 +70,16 @@ class LidarMeshing(desc.AVCommandLineNode):
desc.FloatParam(
name="x", label="x", description="Euler X rotation.",
value=0.0,
invalidate=True,
range=(-90.0, 90.0, 1.0),
),
desc.FloatParam(
name="y", label="y", description="Euler Y rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0),
),
desc.FloatParam(
name="z", label="z", description="Euler Z rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0),
),
],
@ -101,19 +93,16 @@ class LidarMeshing(desc.AVCommandLineNode):
desc.FloatParam(
name="x", label="x", description="X scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
desc.FloatParam(
name="y", label="y", description="Y scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
desc.FloatParam(
name="z", label="z", description="Z scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
],
@ -130,7 +119,6 @@ class LidarMeshing(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -140,13 +128,11 @@ class LidarMeshing(desc.AVCommandLineNode):
label="Sub-Meshes Directory",
description="Output directory for sub-meshes",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputJson",
label="Scene Description",
description="Output scene description.",
value=desc.Node.internalFolder + "scene.json",
invalidate=False,
),
]

View file

@ -18,28 +18,24 @@ Can also be used to calibrate a lighting dome (RTI type).
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="inputDetection",
label="Sphere Detection File",
description="Input JSON file containing sphere centers and radiuses.",
value="",
invalidate=True,
),
desc.BoolParam(
name="saveAsModel",
label="Save As Model",
description="Check if this calibration file will be used with other datasets.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="ellipticEstimation",
label="Use elliptic estimation",
description="Consider the right projection of the sphere. Fit the circle tool on the small axe of the ellipse.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="method",
@ -50,7 +46,6 @@ Can also be used to calibrate a lighting dome (RTI type).
values=["brightestPoint", "whiteSphere", "SH"],
value="brightestPoint",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -59,7 +54,6 @@ Can also be used to calibrate a lighting dome (RTI type).
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -69,7 +63,6 @@ Can also be used to calibrate a lighting dome (RTI type).
label="Light File",
description="Light information will be written here.",
value=desc.Node.internalFolder + "/lights.json",
invalidate=False,
),
desc.File(
name="lightingEstimationVisualization",
@ -77,6 +70,5 @@ Can also be used to calibrate a lighting dome (RTI type).
description="Estimated Lighting Visualization.",
semantic="image",
value=desc.Node.internalFolder + "/<FILESTEM>_{methodValue}.png",
invalidate=False,
),
]

View file

@ -17,14 +17,12 @@ class LightingEstimation(desc.AVCommandLineNode):
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="depthMapsFilterFolder",
label="Filtered Depth Maps Folder",
description="Input filtered depth maps folder.",
value="",
invalidate=True,
),
desc.File(
name="imagesFolder",
@ -32,7 +30,6 @@ class LightingEstimation(desc.AVCommandLineNode):
description="Use images from a specific folder instead of those specify in the SfMData file.\n"
"Filename should be the image UID.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="lightingEstimationMode",
@ -41,7 +38,6 @@ class LightingEstimation(desc.AVCommandLineNode):
value="global",
values=["global", "per_image"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -51,7 +47,6 @@ class LightingEstimation(desc.AVCommandLineNode):
value="RGB",
values=["RGB", "Luminance"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -61,7 +56,6 @@ class LightingEstimation(desc.AVCommandLineNode):
value="constant",
values=["constant", "picture", "median_filter", "blur_filter"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -70,7 +64,6 @@ class LightingEstimation(desc.AVCommandLineNode):
description="Albedo filter size for estimation method using filter.",
value=3,
range=(0, 100, 1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -80,7 +73,6 @@ class LightingEstimation(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -90,6 +82,5 @@ class LightingEstimation(desc.AVCommandLineNode):
label="Folder",
description="Folder for output lighting vector files.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -24,14 +24,12 @@ Operation types used to merge two meshes:
label="First Mesh",
description="Input first mesh (*.obj, *.mesh, *.meshb, *.ply, *.off, *.stl).",
value="",
invalidate=True,
),
desc.File(
name="inputSecondMesh",
label="Second Mesh",
description="Input second mesh (*.obj, *.mesh, *.meshb, *.ply, *.off, *.stl).",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="mergeOperation",
@ -40,21 +38,18 @@ Operation types used to merge two meshes:
value="boolean_union",
values=["boolean_union", "boolean_intersection", "boolean_difference"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="preProcess",
label="Pre-Process",
description="Pre-process the input meshes in order to avoid geometric errors in the merging process.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="postProcess",
label="Post-Process",
description="Post-process the output mesh in order to avoid future geometric errors.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -63,7 +58,6 @@ Operation types used to merge two meshes:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -73,6 +67,5 @@ Operation types used to merge two meshes:
label="Mesh",
description="Output mesh (*.obj, *.mesh, *.meshb, *.ply, *.off, *.stl).",
value=desc.Node.internalFolder + "mesh.stl",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ This node allows to reduce the density of the Mesh.
label="Mesh",
description="Input mesh in the OBJ format.",
value="",
invalidate=True,
),
desc.FloatParam(
name="simplificationFactor",
@ -28,7 +27,6 @@ This node allows to reduce the density of the Mesh.
description="Simplification factor for the decimation.",
value=0.5,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.IntParam(
name="nbVertices",
@ -36,7 +34,6 @@ This node allows to reduce the density of the Mesh.
description="Fixed number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.IntParam(
name="minVertices",
@ -44,7 +41,6 @@ This node allows to reduce the density of the Mesh.
description="Minimum number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.IntParam(
name="maxVertices",
@ -52,7 +48,6 @@ This node allows to reduce the density of the Mesh.
description="Maximum number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.BoolParam(
name="flipNormals",
@ -61,7 +56,6 @@ This node allows to reduce the density of the Mesh.
"It can be needed as it depends on the vertices order in triangles\n"
"and the convention changes from one software to another.",
value=False,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -71,7 +65,6 @@ This node allows to reduce the density of the Mesh.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -81,6 +74,5 @@ This node allows to reduce the density of the Mesh.
label="Mesh",
description="Output mesh in the OBJ file format.",
value=desc.Node.internalFolder + "mesh.obj",
invalidate=False,
),
]

View file

@ -19,7 +19,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
label="Mesh",
description="Input mesh in the OBJ file format.",
value="",
invalidate=True,
),
desc.IntParam(
name="denoisingIterations",
@ -27,7 +26,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
description="Number of denoising iterations.",
value=5,
range=(0, 30, 1),
invalidate=True,
),
desc.FloatParam(
name="meshUpdateClosenessWeight",
@ -35,7 +33,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
description="Closeness weight for mesh update. Must be positive.",
value=0.001,
range=(0.0, 0.1, 0.001),
invalidate=True,
),
desc.FloatParam(
name="lambda",
@ -43,7 +40,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
description="Regularization weight.",
value=2.0,
range=(0.0, 10.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="eta",
@ -53,7 +49,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
"Must be positive.",
value=1.5,
range=(0.0, 20.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="mu",
@ -61,7 +56,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
description="Gaussian standard deviation for guidance weight.",
value=1.5,
range=(0.0, 10.0, 0.01),
invalidate=True,
),
desc.FloatParam(
name="nu",
@ -69,7 +63,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
description="Gaussian standard deviation for signal weight.",
value=0.3,
range=(0.0, 5.0, 0.01),
invalidate=True,
),
desc.ChoiceParam(
name="meshUpdateMethod",
@ -80,7 +73,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
value=0,
values=[0, 1],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -89,7 +81,6 @@ for now, the parameters are difficult to control and vary a lot from one dataset
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -99,6 +90,5 @@ for now, the parameters are difficult to control and vary a lot from one dataset
label="Output",
description="Output mesh in the OBJ file format.",
value=desc.Node.internalFolder + "mesh.obj",
invalidate=False,
),
]

View file

@ -18,7 +18,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
label="Mesh",
description="Input mesh file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -27,7 +26,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
value="obj",
values=["gltf", "obj", "fbx", "stl"],
exclusive=True,
invalidate=True,
group="",
),
desc.BoolParam(
@ -35,7 +33,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
label="Keep Only The Largest Mesh",
description="Keep only the largest connected triangles group.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="smoothingSubset",
@ -44,7 +41,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
value="all",
values=["all", "surface_boundaries", "surface_inner_part"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -53,7 +49,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
description="Neighbours of the boundaries to consider.",
value=0,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -62,7 +57,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
description="Number of smoothing iterations.",
value=5,
range=(0, 50, 1),
invalidate=True,
),
desc.FloatParam(
name="smoothingLambda",
@ -70,7 +64,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
description="Smoothing size.",
value=1.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -80,7 +73,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
value="all",
values=["all", "surface_boundaries", "surface_inner_part"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -89,7 +81,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
description="Number of filtering iterations.",
value=1,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -100,7 +91,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
"0 disables the filtering.",
value=60.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
),
desc.FloatParam(
name="filterTrianglesRatio",
@ -109,7 +99,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
"0 disables the filtering.",
value=0.0,
range=(1.0, 50.0, 0.1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -119,7 +108,6 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -129,6 +117,5 @@ This node applies a Laplacian filtering to remove local defects from the raw Mes
label="Mesh",
description="Output mesh file.",
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
invalidate=False,
),
]

View file

@ -17,14 +17,12 @@ Decimate triangles based on image masks.
label="Dense SfMData",
description="Dense SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="inputMesh",
label="Input Mesh",
description="Input mesh.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -33,7 +31,6 @@ Decimate triangles based on image masks.
value="obj",
values=["obj", "gltf", "fbx", "stl"],
exclusive=True,
invalidate=True,
group="",
),
desc.ListAttribute(
@ -42,7 +39,6 @@ Decimate triangles based on image masks.
label="Masks Folder",
description="Folder containing some masks.",
value="",
invalidate=True,
),
name="masksFolders",
label="Masks Folders",
@ -55,7 +51,6 @@ Decimate triangles based on image masks.
value="png",
values=["exr", "jpg", "png"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="threshold",
@ -63,14 +58,12 @@ Decimate triangles based on image masks.
description="The minimum number of visibilities to keep a vertex.",
value=1,
range=(1, 100, 1),
invalidate=True,
),
desc.BoolParam(
name="smoothBoundary",
label="Smooth Boundary",
description="Modify the triangles at the boundary to fit the masks.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="invert",
@ -78,7 +71,6 @@ Decimate triangles based on image masks.
description="If ticked, the selected area is ignored.\n"
"If not, only the selected area is considered.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="undistortMasks",
@ -86,7 +78,6 @@ Decimate triangles based on image masks.
description="Undistort the masks with the same parameters as the matching image.\n"
"Select it if the masks are drawn on the original images.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="usePointsVisibilities",
@ -94,7 +85,6 @@ Decimate triangles based on image masks.
description="Use the points visibilities from the meshing to filter triangles.\n"
"Example: when they are occluded, back-face, etc.",
value=False,
invalidate=True
),
desc.ChoiceParam(
name="verboseLevel",
@ -103,7 +93,6 @@ Decimate triangles based on image masks.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -113,6 +102,5 @@ Decimate triangles based on image masks.
label="Mesh",
description="Output mesh file.",
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
invalidate=False,
),
]

View file

@ -21,14 +21,12 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="inputMesh",
label="Mesh",
description="Input Mesh file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -37,7 +35,6 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
value="obj",
values=["gltf", "obj", "fbx", "stl"],
exclusive=True,
invalidate=True,
group="",
),
desc.IntParam(
@ -46,7 +43,6 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
description="Minimal number of observations to keep a vertex.",
value=1,
range=(0, 5, 1),
invalidate=True,
),
desc.IntParam(
name="minVertices",
@ -54,7 +50,6 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
description="Minimal number of killed vertices in a triangle to remove the triangle.",
value=3,
range=(1, 3, 1),
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -63,7 +58,6 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -73,6 +67,5 @@ Remove triangles from the mesh when the vertices are not visible by any camera.
label="Mesh",
description="Output mesh file.",
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
label="Input Mesh",
description="Input mesh in the OBJ file format.",
value="",
invalidate=True,
),
desc.FloatParam(
name="simplificationFactor",
@ -28,7 +27,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Simplification factor for the resampling.",
value=0.5,
range=(0.0, 1.0, 0.01),
invalidate=True,
),
desc.IntParam(
name="nbVertices",
@ -36,7 +34,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Fixed number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.IntParam(
name="minVertices",
@ -44,7 +41,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Minimum number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.IntParam(
name="maxVertices",
@ -52,7 +48,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Maximum number of output vertices.",
value=0,
range=(0, 1000000, 1),
invalidate=True,
),
desc.IntParam(
name="nbLloydIter",
@ -60,7 +55,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Number of iterations for Lloyd pre-smoothing.",
value=40,
range=(0, 100, 1),
invalidate=True,
),
desc.BoolParam(
name="flipNormals",
@ -68,7 +62,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
description="Option to flip face normals.\n"
"It can be needed as it depends on the vertices order in triangles and the convention changes from one software to another.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -77,7 +70,6 @@ This node allows to recompute the mesh surface with a new topology and uniform d
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -87,6 +79,5 @@ This node allows to recompute the mesh surface with a new topology and uniform d
label="Mesh",
description="Output mesh in the OBJ file format.",
value=desc.Node.internalFolder + "mesh.obj",
invalidate=False,
),
]

View file

@ -28,14 +28,12 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="SfmData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="depthMapsFolder",
label="Depth Maps Folder",
description="Input depth maps folder.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -44,7 +42,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
value="obj",
values=["gltf", "obj", "fbx", "stl"],
exclusive=True,
invalidate=True,
group="",
),
desc.BoolParam(
@ -54,7 +51,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"If enabled, it takes priority over the 'Estimate Space From SfM' option.\n"
"Parameters can be adjusted in advanced settings.",
value=False,
invalidate=True,
group="",
),
desc.GroupAttribute(
@ -70,19 +66,16 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
desc.FloatParam(
name="x", label="x", description="X offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
name="y", label="y", description="Y offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
name="z", label="z", description="Z offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
],
@ -96,19 +89,16 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
desc.FloatParam(
name="x", label="x", description="Euler X rotation.",
value=0.0,
invalidate=True,
range=(-90.0, 90.0, 1.0)
),
desc.FloatParam(
name="y", label="y", description="Euler Y rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0)
),
desc.FloatParam(
name="z", label="z", description="Euler Z rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0)
),
],
@ -122,19 +112,16 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
desc.FloatParam(
name="x", label="x", description="X scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
desc.FloatParam(
name="y", label="y", description="Y scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
desc.FloatParam(
name="z", label="z", description="Z scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
],
@ -149,7 +136,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="Estimate Space From SfM",
description="Estimate the 3D space from the SfM.",
value=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -158,7 +144,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Minimum number of observations for the space estimation from the SfM.",
value=3,
range=(0, 100, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.estimateSpaceFromSfM.value,
),
@ -168,7 +153,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Minimum angle between two observations for the space estimation from the SfM.",
value=10.0,
range=(0.0, 120.0, 1.0),
invalidate=True,
enabled=lambda node: node.estimateSpaceFromSfM.value,
),
desc.IntParam(
@ -177,7 +161,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Maximum input points loaded from depth map images.",
value=50000000,
range=(500000, 500000000, 1000),
invalidate=True,
),
desc.IntParam(
name="maxPoints",
@ -185,7 +168,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Maximum points at the end of the depth maps fusion.",
value=5000000,
range=(100000, 10000000, 1000),
invalidate=True,
),
desc.IntParam(
name="maxPointsPerVoxel",
@ -193,7 +175,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Maximum points per voxel.",
value=1000000,
range=(500000, 30000000, 1000),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -204,7 +185,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"too much time at the beginning loading all the depth values.",
value=2,
range=(1, 20, 1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -214,7 +194,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
value="singleBlock",
values=["singleBlock", "auto"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -224,7 +203,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
value="multiResolution",
values=["multiResolution", "regularGrid"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -233,7 +211,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Angle factor.",
value=15.0,
range=(0.0, 200.0, 1.0),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -242,7 +219,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Sim factor.",
value=15.0,
range=(0.0, 200.0, 1.0),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -251,7 +227,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Filter points based on their number of observations.",
value=2,
range=(1, 20, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -260,7 +235,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Size of the margin init coefficient, in pixels.",
value=2.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -269,7 +243,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Size of the margin final coefficient, in pixels.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -278,7 +251,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Vote margin factor.",
value=4.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -287,7 +259,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Contribute margin factor.",
value=2.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -296,7 +267,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Sim Gaussian size init.",
value=10.0,
range=(0.0, 50.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -305,7 +275,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Sim Gaussian size.",
value=10.0,
range=(0.0, 50.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -314,7 +283,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Minimum angle threshold.",
value=1.0,
range=(0.0, 10.0, 0.01),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -322,7 +290,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="Refine Fuse",
description="Refine depth map fusion with the new pixels size defined by angle and similarity scores.",
value=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -331,7 +298,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Grid size for the helper points.",
value=10,
range=(0, 50, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -349,7 +315,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Densify vertices: front.",
value=1,
range=(0, 5, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.densify.value,
),
@ -359,7 +324,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Densify vertices: back.",
value=1,
range=(0, 5, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.densify.value,
),
@ -369,7 +333,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Scale between points used to densify the scene.",
value=20.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
enabled=lambda node: node.densify.value,
),
@ -379,7 +342,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Number of pixel size units to vote behind the vertex as FULL status.",
value=4.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -388,7 +350,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Weighting for full status.",
value=1.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -396,14 +357,12 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="Weakly Supported Surface Support",
description="Improve support of weakly supported surfaces with a tetrahedra fullness score filtering.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="addLandmarksToTheDensePointCloud",
label="Add Landmarks To The Dense Point Cloud",
description="Add SfM landmarks to the dense point cloud.",
value=False,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -413,7 +372,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"Set to 0 to disable.",
value=10,
range=(0, 30, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -423,7 +381,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"ratio between full/empty parts. Set to 0 to disable.",
value=0.2,
range=(0.0, 0.5, 0.01),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -433,7 +390,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"between full/empty parts. Set to 0 to disable.",
value=2,
range=(0, 30, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -441,7 +397,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="Colorize Output",
description="Whether to colorize output dense point cloud and mesh.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="addMaskHelperPoints",
@ -458,7 +413,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Weight value for mask helper points. 0 means no helper point.",
value=1.0,
range=(0.0, 20.0, 1.0),
invalidate=True,
advanced=True,
enabled=lambda node: node.addMaskHelperPoints.value,
),
@ -468,7 +422,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
description="Number of pixels on mask borders.",
value=4,
range=(0, 20, 1),
invalidate=True,
advanced=True,
enabled=lambda node: node.addMaskHelperPoints.value,
),
@ -480,7 +433,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"0 means that all helper points are removed. -1 means that helper points are not filtered at all.",
value=50,
range=(-1, 100, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -507,7 +459,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
"0 means use of random device instead of a fixed seed.",
value=0,
range=(0, 10000, 1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -517,7 +468,6 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -527,13 +477,11 @@ A Graph Cut Max-Flow is applied to optimally cut the volume. This cut represents
label="Mesh",
description="Output mesh.",
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
invalidate=False,
),
desc.File(
name="output",
label="Dense SfMData",
description="Output dense point cloud with visibilities (SfMData file format).",
value=desc.Node.internalFolder + "densePointCloud.abc",
invalidate=False,
),
]

View file

@ -19,21 +19,18 @@ A Structure-From-Motion node specifically designed to handle pure rotation camer
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="tracksFilename",
label="Tracks File",
description="Input tracks file.",
value="",
invalidate=True,
),
desc.File(
name="pairs",
label="Pairs File",
description="Information on pairs.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -42,7 +39,6 @@ A Structure-From-Motion node specifically designed to handle pure rotation camer
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -52,6 +48,5 @@ A Structure-From-Motion node specifically designed to handle pure rotation camer
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.abc",
invalidate=False,
),
]

View file

@ -16,14 +16,12 @@ Evaluate a depth map from a normals map (currently in development)
label="Normal Maps Folder",
description="Path to the folder containing the normal maps and the masks.",
value="",
invalidate=True,
),
desc.File(
name="sfmDataFile",
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.IntParam(
name="downscale",
@ -32,7 +30,6 @@ Evaluate a depth map from a normals map (currently in development)
value=1,
range=(1, 10, 1),
advanced=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -41,7 +38,6 @@ Evaluate a depth map from a normals map (currently in development)
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -52,7 +48,6 @@ Evaluate a depth map from a normals map (currently in development)
description="Generated depth in the camera coordinate system.",
semantic="image",
value=desc.Node.internalFolder + "<POSE_ID>_depthMap.exr",
invalidate=False,
group="", # do not export on the command line
)
]

View file

@ -29,21 +29,18 @@ Multiple cameras are contributing to the low frequencies and only the best one c
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="warpingFolder",
label="Warping Folder",
description="Panorama warping results folder.",
value="",
invalidate=True,
),
desc.File(
name="labels",
label="Labels Images",
description="Panorama seams results images.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="compositerType",
@ -55,7 +52,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
value="multiband",
values=["replace", "alpha", "multiband"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="forceMinPyramidLevels",
@ -63,7 +59,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
description="Force the minimal number of levels in the pyramid for multiband compositer.",
value=0,
range=(0, 16, 1),
invalidate=True,
enabled=lambda node: node.compositerType.value and node.compositerType.value == "multiband",
),
desc.IntParam(
@ -80,7 +75,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
label="Use Tiling",
description="Enable tiling mode for parallelization.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="storageDataType",
@ -93,7 +87,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="overlayType",
@ -107,7 +100,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
values=["none", "borders", "seams", "all"],
exclusive=True,
advanced=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -116,7 +108,6 @@ Multiple cameras are contributing to the low frequencies and only the best one c
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -126,6 +117,5 @@ Multiple cameras are contributing to the low frequencies and only the best one c
label="Folder",
description="Output folder containing the composited panorama.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -22,7 +22,6 @@ Estimate relative camera rotations between input images.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -30,7 +29,6 @@ Estimate relative camera rotations between input images.
label="Features Folder",
description="Folder containing some extracted features.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -42,7 +40,6 @@ Estimate relative camera rotations between input images.
label="Matches Folder",
description="Folder containing some matches.",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -55,7 +52,6 @@ Estimate relative camera rotations between input images.
values=DESCRIBER_TYPES,
value=["sift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.FloatParam(
@ -64,7 +60,6 @@ Estimate relative camera rotations between input images.
description="Offset to the panorama longitude (in degrees).",
value=0.0,
range=(-180.0, 180.0, 1.0),
invalidate=True,
),
desc.FloatParam(
name="offsetLatitude",
@ -72,7 +67,6 @@ Estimate relative camera rotations between input images.
description="Offset to the panorama latitude (in degrees).",
value=0.0,
range=(-90.0, 90.0, 1.0),
invalidate=True,
),
desc.ChoiceParam(
name="rotationAveraging",
@ -83,7 +77,6 @@ Estimate relative camera rotations between input images.
values=["L1_minimization", "L2_minimization"],
value="L2_minimization",
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -96,7 +89,6 @@ Estimate relative camera rotations between input images.
values=["essential_matrix", "homography_matrix", "rotation_matrix"],
value="rotation_matrix",
exclusive=True,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -104,7 +96,6 @@ Estimate relative camera rotations between input images.
label="Rotation Averaging Weighting",
description="Rotation averaging weighting based on the number of feature matches.",
value=True,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -112,14 +103,12 @@ Estimate relative camera rotations between input images.
label="Filter Matches",
description="Filter the matches.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="refine",
label="Refine",
description="Refine camera relative poses, points and optionally internal camera parameters.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="lockAllIntrinsics",
@ -128,7 +117,6 @@ Estimate relative camera rotations between input images.
"principal point, distortion if any) constant during the reconstruction.\n"
"This may be helpful if the input cameras are already fully calibrated.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="maxAngleToPrior",
@ -136,7 +124,6 @@ Estimate relative camera rotations between input images.
description="Maximum angle allowed regarding the input prior (in degrees) before refinement.",
value=20.0,
range=(0.0, 360.0, 1.0),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -145,7 +132,6 @@ Estimate relative camera rotations between input images.
description="Maximum angle allowed regarding the input prior (in degrees) after refinement.",
value=2.0,
range=(0.0, 360.0, 1.0),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -154,7 +140,6 @@ Estimate relative camera rotations between input images.
description="Maximum angular error in global rotation averging (in degrees).",
value=100.0,
range=(0.0, 360.0, 1.0),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -162,7 +147,6 @@ Estimate relative camera rotations between input images.
label="Intermediate Refine: Focal",
description="Intermediate refine with rotation and focal length only.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -170,7 +154,6 @@ Estimate relative camera rotations between input images.
label="Intermediate Refine: Focal And Distortion",
description="Intermediate refine with rotation, focal length and distortion.",
value=False,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -180,7 +163,6 @@ Estimate relative camera rotations between input images.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -190,13 +172,11 @@ Estimate relative camera rotations between input images.
label="SfM File",
description="Path to the output SfM file.",
value=desc.Node.internalFolder + "panorama.abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Views And Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
]

View file

@ -27,7 +27,6 @@ This node allows to setup the Panorama:
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="initializeCameras",
@ -36,14 +35,12 @@ This node allows to setup the Panorama:
value="No",
values=["No", "File", "Horizontal", "Horizontal+Zenith", "Zenith+Horizontal", "Spherical"],
exclusive=True,
invalidate=True,
),
desc.File(
name="config",
label="XML Config",
description="XML data file.",
value="",
invalidate=True,
enabled=lambda node: node.initializeCameras.value == "File",
),
desc.BoolParam(
@ -51,7 +48,6 @@ This node allows to setup the Panorama:
label="Yaw CW",
description="If selected, the yaw rotation will be clockwise. Otherwise, it will be counter-clockwise.",
value=True,
invalidate=True,
enabled=lambda node: ("Horizontal" in node.initializeCameras.value) or (node.initializeCameras.value == "Spherical"),
),
desc.BoolParam(
@ -60,7 +56,6 @@ This node allows to setup the Panorama:
description="Build the contact sheet for the panorama if an XML data file is provided.\n"
"The contact sheet consists in a preview of the panorama using the input images.",
value=True,
invalidate=True,
enabled=lambda node: node.config.enabled and node.config.value != "",
),
desc.ListAttribute(
@ -70,7 +65,6 @@ This node allows to setup the Panorama:
description="Number of views for a line.",
value=-1,
range=(-1, 20, 1),
invalidate=True,
),
name="nbViewsPerLine",
label="Spherical: Nb Views Per Line",
@ -85,14 +79,12 @@ This node allows to setup the Panorama:
label="Full Fisheye",
description="Set this option to declare a full fisheye panorama setup.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="estimateFisheyeCircle",
label="Estimate Fisheye Circle",
description="Automatically estimate the fisheye circle center and radius instead of using user values.",
value=True,
invalidate=True,
enabled=lambda node: node.useFisheye.value,
),
desc.GroupAttribute(
@ -105,7 +97,6 @@ This node allows to setup the Panorama:
label="x",
description="X offset in pixels.",
value=0.0,
invalidate=True,
range=(-1000.0, 10000.0, 1.0),
),
desc.FloatParam(
@ -113,7 +104,6 @@ This node allows to setup the Panorama:
label="y",
description="Y offset in pixels.",
value=0.0,
invalidate=True,
range=(-1000.0, 10000.0, 1.0),
),
],
@ -126,7 +116,6 @@ This node allows to setup the Panorama:
description="Fisheye visibillity circle radius (in % of image's shortest side).",
value=96.0,
range=(0.0, 150.0, 0.01),
invalidate=True,
enabled=lambda node: node.useFisheye.value and not node.estimateFisheyeCircle.value,
),
desc.ChoiceParam(
@ -136,14 +125,12 @@ This node allows to setup the Panorama:
value="None",
values=["None", "rotate90", "rotate180", "rotate270"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="debugFisheyeCircleEstimation",
label="Debug Fisheye Circle Detection",
description="Debug fisheye circle detection.",
value=False,
invalidate=True,
enabled=lambda node: node.useFisheye.value,
advanced=True,
),
@ -154,7 +141,6 @@ This node allows to setup the Panorama:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -164,6 +150,5 @@ This node allows to setup the Panorama:
label="SfMData File",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -24,14 +24,12 @@ Merge all inputs coming from the PanoramaCompositing node.
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="compositingFolder",
label="Compositing Folder",
description="Panorama compositing results.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="outputFileType",
@ -40,7 +38,6 @@ Merge all inputs coming from the PanoramaCompositing node.
value="exr",
values=["jpg", "png", "tif", "exr"],
exclusive=True,
invalidate=True,
group="", # not part of allParams, as this is not a parameter for the command line
),
desc.BoolParam(
@ -48,7 +45,6 @@ Merge all inputs coming from the PanoramaCompositing node.
label="Use Tiling",
description="Enable tiling mode for parallelization.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="storageDataType",
@ -61,7 +57,6 @@ Merge all inputs coming from the PanoramaCompositing node.
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -70,7 +65,6 @@ Merge all inputs coming from the PanoramaCompositing node.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -81,6 +75,5 @@ Merge all inputs coming from the PanoramaCompositing node.
description="Output merged panorama image.",
semantic="image",
value=desc.Node.internalFolder + "panorama.{outputFileTypeValue}",
invalidate=False,
),
]

View file

@ -23,21 +23,18 @@ Post process the panorama.
label="Input Panorama",
description="Input panorama image.",
value="",
invalidate=True,
),
desc.BoolParam(
name="fillHoles",
label="Fill Holes Algorithm",
description="Fill the non attributed pixels with push pull algorithm if set.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="exportLevels",
label="Export Downscaled Levels",
description="Export downscaled panorama levels.",
value=False,
invalidate=True,
),
desc.IntParam(
name="lastLevelMaxSize",
@ -45,7 +42,6 @@ Post process the panorama.
description="Maximum width of smallest downscaled panorama level.",
value=3840,
range=(1, 100000),
invalidate=True,
),
desc.IntParam(
name="previewSize",
@ -53,7 +49,6 @@ Post process the panorama.
description="The width (in pixels) of the output panorama preview.",
value=1000,
range=(0, 5000, 100),
invalidate=True,
),
desc.ChoiceParam(
name="outputColorSpace",
@ -62,7 +57,6 @@ Post process the panorama.
values=COLORSPACES,
value="Linear",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="compressionMethod",
@ -71,7 +65,6 @@ Post process the panorama.
value="auto",
values=["none", "auto", "rle", "zip", "zips", "piz", "pxr24", "b44", "b44a", "dwaa", "dwab"],
exclusive=True,
invalidate=True,
),
desc.IntParam(
name="compressionLevel",
@ -81,7 +74,6 @@ Post process the panorama.
"A value of 0 will be ignored, default value for the selected method will be used.",
value=0,
range=(0, 500, 1),
invalidate=True,
enabled=lambda node: node.compressionMethod.value in ["dwaa", "dwab", "zip", "zips"],
),
desc.StringParam(
@ -109,7 +101,6 @@ Post process the panorama.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -120,7 +111,6 @@ Post process the panorama.
description="Generated panorama in EXR format.",
semantic="image",
value=lambda attr: desc.Node.internalFolder + attr.node.panoramaName.value,
invalidate=False,
),
desc.File(
name="outputPanoramaPreview",
@ -128,14 +118,12 @@ Post process the panorama.
description="Preview of the generated panorama in JPG format.",
semantic="image",
value=lambda attr: desc.Node.internalFolder + attr.node.previewName.value,
invalidate=False,
),
desc.File(
name="downscaledPanoramaLevels",
label="Downscaled Panorama Levels",
description="Downscaled versions of the generated panorama.",
value=lambda attr: desc.Node.internalFolder + os.path.splitext(attr.node.panoramaName.value)[0] + "_level_*.exr",
invalidate=False,
group="",
),
]

View file

@ -21,7 +21,6 @@ Prepare images for Panorama pipeline: ensures that images orientations are coher
label="Input",
description="SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -30,7 +29,6 @@ Prepare images for Panorama pipeline: ensures that images orientations are coher
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -40,6 +38,5 @@ Prepare images for Panorama pipeline: ensures that images orientations are coher
label="SfMData",
description="Output SfMData file.",
value=lambda attr: desc.Node.internalFolder + os.path.basename(attr.node.input.value),
invalidate=False,
),
]

View file

@ -24,14 +24,12 @@ Estimate the seams lines between the inputs to provide an optimal compositing in
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="warpingFolder",
label="Warping Folder",
description="Panorama warping results.",
value="",
invalidate=True,
),
desc.IntParam(
name="maxWidth",
@ -39,14 +37,12 @@ Estimate the seams lines between the inputs to provide an optimal compositing in
description="Maximal resolution for the panorama seams estimation.",
value=5000,
range=(0, 100000, 1),
invalidate=True,
),
desc.BoolParam(
name="useGraphCut",
label="Use Smart Seams",
description="Use a graphcut algorithm to optimize seams for better transitions between images.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -55,7 +51,6 @@ Estimate the seams lines between the inputs to provide an optimal compositing in
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -66,13 +61,11 @@ Estimate the seams lines between the inputs to provide an optimal compositing in
description="",
semantic="image",
value=desc.Node.internalFolder + "labels.exr",
invalidate=False,
),
desc.File(
name="outputSfm",
label="Output SfMData File",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "panorama.sfm",
invalidate=False,
),
]

View file

@ -24,14 +24,12 @@ Compute the image warping for each input image in the panorama coordinate system
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.BoolParam(
name="estimateResolution",
label="Estimate Resolution",
description="Estimate output panorama resolution automatically based on the resolution of input images.",
value=True,
invalidate=True,
group=None, # skip group from command line
),
desc.IntParam(
@ -40,7 +38,6 @@ Compute the image warping for each input image in the panorama coordinate system
description="Choose the output panorama width (in pixels).",
value=10000,
range=(0, 50000, 1000),
invalidate=True,
enabled=lambda node: (not node.estimateResolution.value),
),
desc.IntParam(
@ -55,7 +52,6 @@ Compute the image warping for each input image in the panorama coordinate system
value=50,
range=(0, 100, 1),
enabled=lambda node: (node.estimateResolution.value),
invalidate=True,
),
desc.IntParam(
name="maxPanoramaWidth",
@ -63,7 +59,6 @@ Compute the image warping for each input image in the panorama coordinate system
description="Choose the maximum width for the output panorama (in pixels). 0 means no limit.",
value=70000,
range=(0, 100000, 1000),
invalidate=True,
enabled=lambda node: (node.estimateResolution.value),
),
desc.ChoiceParam(
@ -73,7 +68,6 @@ Compute the image warping for each input image in the panorama coordinate system
values=COLORSPACES,
value="Linear",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="storageDataType",
@ -86,7 +80,6 @@ Compute the image warping for each input image in the panorama coordinate system
values=EXR_STORAGE_DATA_TYPE,
value="float",
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -95,7 +88,6 @@ Compute the image warping for each input image in the panorama coordinate system
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -105,6 +97,5 @@ Compute the image warping for each input image in the panorama coordinate system
label="Folder",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -17,7 +17,6 @@ The lighting conditions are assumed to be known.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="pathToJSONLightFile",
@ -25,14 +24,12 @@ The lighting conditions are assumed to be known.
description="Path to a JSON file containing the lighting information.\n"
"If empty, .txt files are expected in the image folder.",
value="defaultJSON.txt",
invalidate=True,
),
desc.File(
name="maskPath",
label="Mask Folder Path",
description="Path to a folder containing masks or to a mask directly.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="SHOrder",
@ -45,7 +42,6 @@ The lighting conditions are assumed to be known.
value="0",
exclusive=True,
advanced=True,
invalidate=True,
),
desc.BoolParam(
name="removeAmbient",
@ -53,7 +49,6 @@ The lighting conditions are assumed to be known.
description="True if the ambient light is to be removed on the PS images, false otherwise.",
value=False,
advanced=True,
invalidate=True,
),
desc.BoolParam(
name="isRobust",
@ -61,7 +56,6 @@ The lighting conditions are assumed to be known.
description="True to use the robust algorithm, false otherwise.",
value=False,
advanced=True,
invalidate=True,
),
desc.IntParam(
name="downscale",
@ -70,7 +64,6 @@ The lighting conditions are assumed to be known.
value=1,
range=(1, 10, 1),
advanced=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -79,7 +72,6 @@ The lighting conditions are assumed to be known.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -89,14 +81,12 @@ The lighting conditions are assumed to be known.
label="Output Folder",
description="Path to the output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputSfmDataAlbedo",
label="SfMData Albedo",
description="Output SfMData file containing the albedo information.",
value=desc.Node.internalFolder + "/albedoMaps.sfm",
invalidate=False,
group="", # remove from command line
),
desc.File(
@ -104,7 +94,6 @@ The lighting conditions are assumed to be known.
label="SfMData Normal",
description="Output SfMData file containing the normal maps information.",
value=desc.Node.internalFolder + "/normalMaps.sfm",
invalidate=False,
group="", # remove from command line
),
desc.File(
@ -112,7 +101,6 @@ The lighting conditions are assumed to be known.
label="SfMData Normal PNG",
description="Output SfMData file containing the normal maps information.",
value=desc.Node.internalFolder + "/normalMapsPNG.sfm",
invalidate=False,
group="", # remove from command line
),
# these attributes are only here to describe more accurately the output of the node
@ -124,7 +112,6 @@ The lighting conditions are assumed to be known.
description="Generated normal maps in the camera coordinate system.",
semantic="image",
value=desc.Node.internalFolder + "<POSE_ID>_normals.exr",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -133,7 +120,6 @@ The lighting conditions are assumed to be known.
description="Generated normal maps in the camera coordinate system (in false colors).",
semantic="image",
value=desc.Node.internalFolder + "<POSE_ID>_normals.png",
invalidate=False,
group="", # do not export on the command line
),
desc.File(
@ -142,7 +128,6 @@ The lighting conditions are assumed to be known.
description="Generated normal maps in the world coordinate system.",
semantic="image",
value=desc.Node.internalFolder + "<POSE_ID>_normals_w.exr",
invalidate=False,
group="", # do not export on the command line
),
@ -152,7 +137,6 @@ The lighting conditions are assumed to be known.
description="Generated albedo maps.",
semantic="image",
value=desc.Node.internalFolder + "<POSE_ID>_albedo.png",
invalidate=False,
group="", # do not export on the command line
),
]

View file

@ -21,7 +21,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -29,7 +28,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Images Folder",
description="",
value="",
invalidate=True,
),
name="imagesFolders",
label="Images Folders",
@ -41,7 +39,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Masks Folder",
description="",
value="",
invalidate=True,
),
name="masksFolders",
label="Masks Folders",
@ -54,7 +51,6 @@ This node export undistorted images so the depth map and texturing can be comput
value="png",
values=["exr", "jpg", "png"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="outputFileType",
@ -63,7 +59,6 @@ This node export undistorted images so the depth map and texturing can be comput
value="exr",
values=["jpg", "png", "tif", "exr"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -71,7 +66,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Save Metadata",
description="Save projections and intrinsics information in images metadata (only for .exr images).",
value=True,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -79,7 +73,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Save Matrices Text Files",
description="Save projections and intrinsics information in text files.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -87,7 +80,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Correct Images Exposure",
description="Apply a correction on images' exposure value.",
value=False,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -97,7 +89,6 @@ This node export undistorted images so the depth map and texturing can be comput
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -107,7 +98,6 @@ This node export undistorted images so the depth map and texturing can be comput
label="Images Folder",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="undistorted",
@ -115,7 +105,6 @@ This node export undistorted images so the depth map and texturing can be comput
description="List of undistorted images.",
semantic="image",
value=desc.Node.internalFolder + "<VIEW_ID>.{outputFileTypeValue}",
invalidate=False,
group="",
advanced=True,
),

View file

@ -24,7 +24,6 @@ This node allows to copy files into a specific folder.
label="Input",
description="File or folder to publish.",
value="",
invalidate=True,
),
name="inputFiles",
label="Input Files",
@ -36,7 +35,6 @@ This node allows to copy files into a specific folder.
label="Output Folder",
description="Folder to publish to.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -45,7 +43,6 @@ This node allows to copy files into a specific folder.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]

View file

@ -21,21 +21,18 @@ Estimate relative pose between each pair of views that share tracks.
label="SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="tracksFilename",
label="Tracks File",
description="Tracks file.",
value="",
invalidate=True,
),
desc.BoolParam(
name="enforcePureRotation",
label="Enforce pure rotation",
description="Enforce pure rotation as a model",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -44,7 +41,6 @@ Estimate relative pose between each pair of views that share tracks.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -54,6 +50,5 @@ Estimate relative pose between each pair of views that share tracks.
label="Pairs Info",
description="Path to the output Pairs info files directory.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -21,7 +21,6 @@ Select Connected Views based on SfM landmarks.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.IntParam(
name="maxTCams",
@ -29,7 +28,6 @@ Select Connected Views based on SfM landmarks.
description="Maximum number of neighbour cameras per image.",
value=10,
range=(1, 20, 1),
invalidate=True,
),
desc.FloatParam(
name="minViewAngle",
@ -37,7 +35,6 @@ Select Connected Views based on SfM landmarks.
description="Minimum angle between two views (select the neighbouring cameras, select depth planes from epipolar segment point).",
value=2.0,
range=(0.0, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -46,7 +43,6 @@ Select Connected Views based on SfM landmarks.
description="Maximum angle between two views (select the neighbouring cameras, select depth planes from epipolar segment point).",
value=70.0,
range=(10.0, 120.0, 1.0),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -56,7 +52,6 @@ Select Connected Views based on SfM landmarks.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -66,6 +61,5 @@ Select Connected Views based on SfM landmarks.
label="Connected Views",
description="List of connected views in a text file.",
value=desc.Node.internalFolder + "connectedViews.txt",
invalidate=False,
),
]

View file

@ -29,14 +29,12 @@ The alignment can be based on:
label="Input",
description="Input SfMData file .",
value="",
invalidate=True,
),
desc.File(
name="reference",
label="Reference",
description="Path to the scene used as the reference coordinate system.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="method",
@ -51,7 +49,6 @@ The alignment can be based on:
value="from_cameras_viewid",
values=["from_cameras_viewid", "from_cameras_poseid", "from_cameras_filepath", "from_cameras_metadata", "from_markers", 'from_landmarks'],
exclusive=True,
invalidate=True,
),
desc.StringParam(
name="fileMatchingPattern",
@ -66,7 +63,6 @@ The alignment can be based on:
" - Match the filename prefix before '_': "
r'".*\/(.*?)_.*\.\w{3}"',
value=r".*\/(.*?)\.\w{3}",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -74,7 +70,6 @@ The alignment can be based on:
label="Metadata",
description="",
value="Metadata that should match to create the correspondences.",
invalidate=True,
),
name="metadataMatchingList",
label="Metadata Matching List",
@ -86,21 +81,18 @@ The alignment can be based on:
label="Scale",
description="Apply scale transformation.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="applyRotation",
label="Rotation",
description="Apply rotation transformation.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="applyTranslation",
label="Translation",
description="Apply translation transformation.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -109,7 +101,6 @@ The alignment can be based on:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -119,13 +110,11 @@ The alignment can be based on:
label="SfMData File",
description="Output SfMData file.",
value=lambda attr: desc.Node.internalFolder + (os.path.splitext(os.path.basename(attr.node.input.value))[0] or "sfmData") + ".abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
]

View file

@ -17,7 +17,6 @@ class SfMDistances(desc.AVCommandLineNode):
label="Input",
description="SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="objectType",
@ -26,7 +25,6 @@ class SfMDistances(desc.AVCommandLineNode):
value="landmarks",
values=["landmarks", "cameras"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="landmarksDescriberTypes",
@ -35,7 +33,6 @@ class SfMDistances(desc.AVCommandLineNode):
values=DESCRIBER_TYPES,
value=["cctag3"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.StringParam(
@ -45,7 +42,6 @@ class SfMDistances(desc.AVCommandLineNode):
"This value should be an ID or a list of IDs of landmarks IDs or cameras (UID or filename without extension).\n"
"It will list all elements if empty.",
value="",
invalidate=True,
),
desc.StringParam(
name="B",
@ -54,7 +50,6 @@ class SfMDistances(desc.AVCommandLineNode):
"This value should be an ID or a list of IDs of landmarks IDs or cameras (UID or filename without extension).\n"
"It will list all elements if empty.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -63,7 +58,6 @@ class SfMDistances(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]

View file

@ -46,14 +46,12 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
label="First SfMData",
description="First input SfMData file to merge.",
value="",
invalidate=True,
),
desc.File(
name="secondinput",
label="Second SfMData",
description="Second input SfMData file to merge.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="method",
@ -64,7 +62,6 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
value="simple_copy",
values=["simple_copy", 'from_landmarks'],
exclusive=True,
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -72,7 +69,6 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
label="Matches Folder",
description="",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -85,7 +81,6 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -95,7 +90,6 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -105,6 +99,5 @@ Merges two SfMData files into a single one. Fails if some UID is shared among th
label="SfMData",
description="Path to the output SfM file (in SfMData format).",
value=lambda attr: desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -21,7 +21,6 @@ class SfMSplitReconstructed(desc.AVCommandLineNode):
label="Input SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -30,7 +29,6 @@ class SfMSplitReconstructed(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -40,13 +38,11 @@ class SfMSplitReconstructed(desc.AVCommandLineNode):
label="Reconstructed SfMData File",
description="SfMData file containing the reconstructed cameras.",
value=desc.Node.internalFolder + "sfmReconstructed.abc",
invalidate=False,
),
desc.File(
name="notReconstructedOutput",
label="Not Reconstructed SfMData File",
description="SfMData file containing the non-reconstructed cameras.",
value=desc.Node.internalFolder + "sfmNonReconstructed.abc",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ Assumes the input SfMData describes a set of cameras capturing a scene at a comm
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -29,7 +28,6 @@ Assumes the input SfMData describes a set of cameras capturing a scene at a comm
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -39,6 +37,5 @@ Assumes the input SfMData describes a set of cameras capturing a scene at a comm
label="SfMData",
description="Path to the output SfM file (in SfMData format).",
value=lambda attr: desc.Node.internalFolder + "sfmData.sfm",
invalidate=False,
),
]

View file

@ -21,14 +21,12 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
label="Input",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="reference",
label="Reference",
description="Path to the scene used as the reference to retrieve resolved poses and intrinsics.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="method",
@ -41,7 +39,6 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
value="from_viewid",
values=["from_viewid", "from_filepath", "from_metadata", "from_intrinsicid"],
exclusive=True,
invalidate=True,
),
desc.StringParam(
name="fileMatchingPattern",
@ -56,7 +53,6 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
" - Match the filename prefix before \"_\": "
r'".*\/(.*?)_.*\.\w{3}"',
value=r'.*\/(.*?)\.\w{3}',
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -64,7 +60,6 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
label="Metadata",
description="Metadata that should match to create correspondences.",
value="",
invalidate=True,
),
name="metadataMatchingList",
label="Metadata Matching List",
@ -77,21 +72,18 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
label="Poses",
description="Transfer poses.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="transferIntrinsics",
label="Intrinsics",
description="Transfer cameras intrinsics.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="transferLandmarks",
label="Landmarks",
description="Transfer landmarks.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -100,7 +92,6 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -110,13 +101,11 @@ This node allows to transfer poses and/or intrinsics form one SfM scene onto ano
label="SfMData",
description="Path to the output SfM point cloud file (in SfMData format).",
value=lambda attr: desc.Node.internalFolder + (os.path.splitext(os.path.basename(attr.node.input.value))[0] or "sfmData") + ".abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
]

View file

@ -31,7 +31,6 @@ The transformation can be based on:
label="Input",
description="SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="method",
@ -52,14 +51,12 @@ The transformation can be based on:
value="auto",
values=["transformation", "manual", "auto", "auto_from_cameras", "auto_from_cameras_x_axis", "auto_from_landmarks", "from_single_camera", "from_center_camera", "from_markers", "from_gps", "from_lineup", "align_ground"],
exclusive=True,
invalidate=True,
),
desc.File(
name="lineUp",
label="Line Up File",
description="LineUp Json file.",
value="",
invalidate=True,
enabled=lambda node: node.method.value == "from_lineup"
),
desc.File(
@ -67,7 +64,6 @@ The transformation can be based on:
label="Tracks File",
description="Tracks file for lineup.",
value="",
invalidate=True,
enabled=lambda node: node.method.value == "from_lineup"
),
desc.File(
@ -75,7 +71,6 @@ The transformation can be based on:
label="Mesh File",
description="Mesh file for lineup.",
value="",
invalidate=True,
enabled=lambda node: node.method.value == "from_lineup"
),
desc.StringParam(
@ -85,7 +80,6 @@ The transformation can be based on:
" - transformation: Align [X,Y,Z] to +Y-axis, rotate around Y by R deg, scale by S; syntax: X,Y,Z;R;S\n"
" - from_single_camera: Camera UID or simplified regular expression to match image filepath (like '*camera2*.jpg').",
value="",
invalidate=True,
enabled=lambda node: node.method.value == "transformation" or node.method.value == "from_single_camera" or node.method.value == "auto_from_cameras_x_axis",
),
desc.GroupAttribute(
@ -103,7 +97,6 @@ The transformation can be based on:
label="x",
description="X offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
@ -111,7 +104,6 @@ The transformation can be based on:
label="y",
description="Y offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
desc.FloatParam(
@ -119,7 +111,6 @@ The transformation can be based on:
label="z",
description="Z offset.",
value=0.0,
invalidate=True,
range=(-20.0, 20.0, 0.01),
),
],
@ -135,7 +126,6 @@ The transformation can be based on:
label="x",
description="Euler X rotation.",
value=0.0,
invalidate=True,
range=(-90.0, 90.0, 1.0),
),
desc.FloatParam(
@ -143,7 +133,6 @@ The transformation can be based on:
label="y",
description="Euler Y rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0),
),
desc.FloatParam(
@ -151,7 +140,6 @@ The transformation can be based on:
label="z",
description="Euler Z rotation.",
value=0.0,
invalidate=True,
range=(-180.0, 180.0, 1.0),
),
],
@ -162,7 +150,6 @@ The transformation can be based on:
label="Scale",
description="Uniform scale.",
value=1.0,
invalidate=True,
range=(0.0, 20.0, 0.01),
),
],
@ -176,7 +163,6 @@ The transformation can be based on:
values=DESCRIBER_TYPES,
value=["sift", "dspsift", "akaze"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.FloatParam(
@ -185,7 +171,6 @@ The transformation can be based on:
description="Additional scale to apply.",
value=1.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
),
desc.ListAttribute(
name="markers",
@ -200,7 +185,6 @@ The transformation can be based on:
label="Marker",
description="Marker ID.",
value=0,
invalidate=True,
range=(0, 32, 1),
),
desc.GroupAttribute(
@ -214,7 +198,6 @@ The transformation can be based on:
label="x",
description="X coordinates for the marker.",
value=0.0,
invalidate=True,
range=(-2.0, 2.0, 1.0),
),
desc.FloatParam(
@ -222,7 +205,6 @@ The transformation can be based on:
label="y",
description="Y coordinates for the marker.",
value=0.0,
invalidate=True,
range=(-2.0, 2.0, 1.0),
),
desc.FloatParam(
@ -230,7 +212,6 @@ The transformation can be based on:
label="z",
description="Z coordinates for the marker.",
value=0.0,
invalidate=True,
range=(-2.0, 2.0, 1.0),
),
],
@ -245,7 +226,6 @@ The transformation can be based on:
label="Scale",
description="Apply scale transformation.",
value=True,
invalidate=True,
enabled=lambda node: node.method.value != "manual",
),
desc.BoolParam(
@ -253,7 +233,6 @@ The transformation can be based on:
label="Rotation",
description="Apply rotation transformation.",
value=True,
invalidate=True,
enabled=lambda node: node.method.value != "manual",
),
desc.BoolParam(
@ -261,7 +240,6 @@ The transformation can be based on:
label="Translation",
description="Apply translation transformation.",
value=True,
invalidate=True,
enabled=lambda node: node.method.value != "manual",
),
desc.ChoiceParam(
@ -271,7 +249,6 @@ The transformation can be based on:
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -281,13 +258,11 @@ The transformation can be based on:
label="SfMData File",
description="Aligned SfMData file.",
value=lambda attr: desc.Node.internalFolder + (os.path.splitext(os.path.basename(attr.node.input.value))[0] or "sfmData") + ".abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
]

View file

@ -20,7 +20,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="SfMData",
description="SfMData file. Must contain the camera calibration.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -28,7 +27,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -40,7 +38,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="Matches Folder",
description="Folder in which some computed matches are stored.",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -53,7 +50,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.IntParam(
@ -64,7 +60,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
"0 means no limit.",
value=0,
range=(0, 50000, 1),
invalidate=True,
),
desc.IntParam(
name="minNumberOfMatches",
@ -74,7 +69,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
"0 means no limit.",
value=0,
range=(0, 50000, 1),
invalidate=True,
),
desc.IntParam(
name="minNumberOfObservationsForTriangulation",
@ -85,7 +79,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
"(from 1.5% to 11% on the tested datasets).",
value=2,
range=(2, 10, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -94,7 +87,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
description="Minimum angle for triangulation.",
value=3.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -103,7 +95,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
description="Minimum angle for landmark.",
value=2.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -111,7 +102,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="Use Rig Constraint",
description="Enable/Disable rig constraint.",
value=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -120,7 +110,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
description="Minimum number of cameras to start the calibration of the rig.",
value=20,
range=(1, 50, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -128,7 +117,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="Compute Structure Color",
description="Enable/Disable color computation of each 3D point.",
value=True,
invalidate=True,
),
desc.ChoiceParam(
name="interFileExtension",
@ -147,7 +135,6 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -157,13 +144,11 @@ Contrary to the StructureFromMotion node, this node does not infer the camera po
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.abc",
invalidate=False,
),
desc.File(
name="extraInfoFolder",
label="Folder",
description="Folder for intermediate reconstruction files and additional reconstruction information files.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -18,21 +18,18 @@ class SfMBootStraping(desc.AVCommandLineNode):
label="SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="tracksFilename",
label="Tracks File",
description="Tracks file.",
value="",
invalidate=True,
),
desc.File(
name="pairs",
label="Pairs File",
description="Information on pairs.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -41,7 +38,6 @@ class SfMBootStraping(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -51,6 +47,5 @@ class SfMBootStraping(desc.AVCommandLineNode):
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.json",
invalidate=False,
),
]

View file

@ -18,32 +18,19 @@ class SfMExpanding(desc.AVCommandLineNode):
label="SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="tracksFilename",
label="Tracks File",
description="Tracks file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
desc.IntParam(
name="localizerEstimatorMaxIterations",
label="Localizer Max Ransac Iterations",
description="Maximum number of iterations allowed in the Ransac step.",
value=50000,
range=(1, 100000, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -54,7 +41,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"(if ACRansac, it will analyze the input data to select the optimal value).",
value=0.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -63,7 +49,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="Lock previously reconstructed poses and intrinsics.\n"
"This option is useful for SfM augmentation.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="useLocalBA",
@ -71,7 +56,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="It reduces the reconstruction time, especially for large datasets (500+ images),\n"
"by avoiding computation of the Bundle Adjustment on areas that are not changing.",
value=True,
invalidate=True,
),
desc.IntParam(
name="localBAGraphDistance",
@ -79,7 +63,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="Graph-distance limit to define the active region in the Local Bundle Adjustment strategy.",
value=1,
range=(2, 10, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -90,7 +73,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"Past this number, the bundle adjustment will only be performed once for N added cameras.",
value=30,
range=(0, 100, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -100,7 +82,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"This prevents adding too much data at once without performing the bundle adjustment.",
value=30,
range=(0, 100, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -110,7 +91,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"Using a negative value for this threshold will disable BA iterations.",
value=50,
range=(-1, 1000, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -122,7 +102,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"(from 1.5% to 11% on the tested datasets).",
value=2,
range=(2, 10, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -131,7 +110,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="Minimum angle for triangulation.",
value=3.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -140,7 +118,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="Minimum angle for landmark.",
value=2.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -149,7 +126,6 @@ class SfMExpanding(desc.AVCommandLineNode):
description="Maximum reprojection error.",
value=4.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -159,7 +135,6 @@ class SfMExpanding(desc.AVCommandLineNode):
"principal point, distortion if any) constant during the reconstruction.\n"
"This may be helpful if the input cameras are already fully calibrated.",
value=False,
invalidate=True,
),
desc.IntParam(
name="minNbCamerasToRefinePrincipalPoint",
@ -170,9 +145,16 @@ class SfMExpanding(desc.AVCommandLineNode):
"If minNbCamerasToRefinePrincipalPoint is set to 1, the principal point is always refined.",
value=3,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
),
]
outputs = [
@ -181,6 +163,5 @@ class SfMExpanding(desc.AVCommandLineNode):
label="SfMData",
description="Path to the output SfMData file.",
value=desc.Node.internalFolder + "sfm.json",
invalidate=False,
),
]

View file

@ -66,7 +66,6 @@ Upload a textured mesh on Sketchfab.
label="Input",
description="",
value="",
invalidate=True,
),
name="inputFiles",
label="Input Files",
@ -78,21 +77,18 @@ Upload a textured mesh on Sketchfab.
label="API Token",
description="Get your token from https://sketchfab.com/settings/password.",
value="",
invalidate=True,
),
desc.StringParam(
name="title",
label="Title",
description="Title cannot be longer than 48 characters.",
value="",
invalidate=True,
),
desc.StringParam(
name="description",
label="Description",
description="Description cannot be longer than 1024 characters.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="license",
@ -106,7 +102,6 @@ Upload a textured mesh on Sketchfab.
"CC Attribution-NonCommercial-ShareAlike",
"CC Attribution-NonCommercial-NoDerivs"],
exclusive=True,
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.StringParam(
@ -114,7 +109,6 @@ Upload a textured mesh on Sketchfab.
label="Tag",
description="Tag cannot be longer than 48 characters.",
value="",
invalidate=True,
),
name="tags",
label="Tags",
@ -146,35 +140,30 @@ Upload a textured mesh on Sketchfab.
"sports-fitness",
"weapons-military"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="isPublished",
label="Publish",
description="If the model is not published, it will be saved as a draft.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="isInspectable",
label="Inspectable",
description="Allow 2D view in model inspector.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="isPrivate",
label="Private",
description="Requires a pro account.",
value=False,
invalidate=True,
),
desc.StringParam(
name="password",
label="Password",
description="Requires a pro account.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -183,7 +172,6 @@ Upload a textured mesh on Sketchfab.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]

View file

@ -18,21 +18,18 @@ Spheres can be automatically detected or manually defined in the interface.
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="modelPath",
label="Detection Network",
description="Deep learning network for automatic calibration sphere detection.",
value="${ALICEVISION_SPHERE_DETECTION_MODEL}",
invalidate=True,
),
desc.BoolParam(
name="autoDetect",
label="Automatic Sphere Detection",
description="Automatic detection of calibration spheres.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="minScore",
@ -41,7 +38,6 @@ Spheres can be automatically detected or manually defined in the interface.
value=0.0,
range=(0.0, 50.0, 0.01),
advanced=True,
invalidate=True,
),
desc.GroupAttribute(
name="sphereCenter",
@ -53,7 +49,6 @@ Spheres can be automatically detected or manually defined in the interface.
label="x",
description="X offset in pixels.",
value=0.0,
invalidate=True,
range=(-1000.0, 10000.0, 1.0),
),
desc.FloatParam(
@ -61,7 +56,6 @@ Spheres can be automatically detected or manually defined in the interface.
label="y",
description="Y offset in pixels.",
value=0.0,
invalidate=True,
range=(-1000.0, 10000.0, 1.0),
),
],
@ -75,7 +69,6 @@ Spheres can be automatically detected or manually defined in the interface.
value=500.0,
range=(0.0, 10000.0, 0.1),
enabled=lambda node: not node.autoDetect.value,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -84,7 +77,6 @@ Spheres can be automatically detected or manually defined in the interface.
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -94,6 +86,5 @@ Spheres can be automatically detected or manually defined in the interface.
label="Output Path",
description="Sphere detection information will be written here.",
value=desc.Node.internalFolder + "/detection.json",
invalidate=False,
)
]

View file

@ -33,7 +33,6 @@ class Split360Images(desc.AVCommandLineNode):
label="Input",
description="Single image, image folder or SfMData file.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="splitMode",
@ -42,7 +41,6 @@ class Split360Images(desc.AVCommandLineNode):
value="equirectangular",
values=["equirectangular", "dualfisheye"],
exclusive=True,
invalidate=True,
),
desc.GroupAttribute(
name="dualFisheyeGroup",
@ -58,7 +56,6 @@ class Split360Images(desc.AVCommandLineNode):
value="center",
values=["center", "left", "right"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="dualFisheyeOffsetPresetY",
@ -67,7 +64,6 @@ class Split360Images(desc.AVCommandLineNode):
value="center",
values=["center", "top", "bottom"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="dualFisheyeCameraModel",
@ -76,7 +72,6 @@ class Split360Images(desc.AVCommandLineNode):
value="fisheye4",
values=["fisheye4", "equidistant_r3"],
exclusive=True,
invalidate=True,
),
],
),
@ -93,7 +88,6 @@ class Split360Images(desc.AVCommandLineNode):
description="Equirectangular number of splits.",
value=2,
range=(1, 100, 1),
invalidate=True,
),
desc.IntParam(
name="equirectangularSplitResolution",
@ -101,14 +95,12 @@ class Split360Images(desc.AVCommandLineNode):
description="Equirectangular split resolution.",
value=1200,
range=(100, 10000, 1),
invalidate=True,
),
desc.BoolParam(
name="equirectangularPreviewMode",
label="Preview Mode",
description="Export a SVG file that simulates the split.",
value=False,
invalidate=True,
),
desc.FloatParam(
name="fov",
@ -116,7 +108,6 @@ class Split360Images(desc.AVCommandLineNode):
description="Field of View to extract (in degrees).",
value=110.0,
range=(0.0, 180.0, 1.0),
invalidate=True,
),
],
),
@ -127,7 +118,6 @@ class Split360Images(desc.AVCommandLineNode):
value="",
values=["", "exr", "jpg", "tiff", "png"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -136,7 +126,6 @@ class Split360Images(desc.AVCommandLineNode):
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -146,13 +135,11 @@ class Split360Images(desc.AVCommandLineNode):
label="Folder",
description="Output folder for extracted frames.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outSfMData",
label="SfMData File",
description="Output SfMData file.",
value=desc.Node.internalFolder + "rig.sfm",
invalidate=False,
),
]

View file

@ -71,7 +71,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -79,7 +78,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
label="Features Folder",
description="",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -91,7 +89,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
label="Matches Folder",
description="",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -104,7 +101,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.ChoiceParam(
@ -114,7 +110,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
value="acransac",
values=["acransac", "ransac", "lsmeds", "loransac", "maxconsensus"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -126,7 +121,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
value="Scale",
values=["Basic", "Scale"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -135,7 +129,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Maximum number of iterations allowed in the Ransac step.",
value=50000,
range=(1, 100000, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -146,7 +139,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"(if ACRansac, it will analyze the input data to select the optimal value).",
value=0.0,
range=(0.0, 100.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -155,7 +147,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Lock previously reconstructed poses and intrinsics.\n"
"This option is useful for SfM augmentation.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="useLocalBA",
@ -163,7 +154,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="It reduces the reconstruction time, especially for large datasets (500+ images),\n"
"by avoiding computation of the Bundle Adjustment on areas that are not changing.",
value=True,
invalidate=True,
),
desc.IntParam(
name="localBAGraphDistance",
@ -171,7 +161,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Graph-distance limit to define the active region in the Local Bundle Adjustment strategy.",
value=1,
range=(2, 10, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -182,7 +171,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"Past this number, the bundle adjustment will only be performed once for N added cameras.",
value=30,
range=(0, 100, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -192,7 +180,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"This prevents adding too much data at once without performing the bundle adjustment.",
value=30,
range=(0, 100, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -202,7 +189,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"Using a negative value for this threshold will disable BA iterations.",
value=50,
range=(-1, 1000, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -213,7 +199,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"0 means no limit.",
value=0,
range=(0, 50000, 1),
invalidate=True,
),
desc.IntParam(
name="minNumberOfMatches",
@ -223,7 +208,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"0 means no limit.",
value=0,
range=(0, 50000, 1),
invalidate=True,
),
desc.IntParam(
name="minInputTrackLength",
@ -231,7 +215,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Minimum track length in input of SfM.",
value=2,
range=(2, 10, 1),
invalidate=True,
),
desc.IntParam(
name="minNumberOfObservationsForTriangulation",
@ -242,7 +225,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"(from 1.5% to 11% on the tested datasets).",
value=2,
range=(2, 10, 1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -251,7 +233,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Minimum angle for triangulation.",
value=3.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -260,7 +241,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Minimum angle for landmark.",
value=2.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -269,7 +249,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Maximum reprojection error.",
value=4.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -278,7 +257,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Minimum angle for the initial pair.",
value=5.0,
range=(0.1, 10.0, 0.1),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -287,7 +265,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Maximum angle for the initial pair.",
value=40.0,
range=(0.1, 60.0, 0.1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -304,7 +281,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
label="Use Rig Constraint",
description="Enable/Disable rig constraint.",
value=True,
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -313,7 +289,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Minimum number of cameras to start the calibration of the rig.",
value=20,
range=(1, 50, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -323,7 +298,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"principal point, distortion if any) constant during the reconstruction.\n"
"This may be helpful if the input cameras are already fully calibrated.",
value=False,
invalidate=True,
),
desc.IntParam(
name="minNbCamerasToRefinePrincipalPoint",
@ -334,7 +308,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"If minNbCamerasToRefinePrincipalPoint is set to 1, the principal point is always refined.",
value=3,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -343,14 +316,12 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
description="Enable/Disable the track forks removal. A track contains a fork when incoherent matches \n"
"lead to multiple features in the same image for a single track.",
value=False,
invalidate=True,
),
desc.BoolParam(
name="computeStructureColor",
label="Compute Structure Color",
description="Enable/Disable color computation of every 3D point.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="useAutoTransform",
@ -360,21 +331,18 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
"determines north and scale from GPS information if available,\n"
"and defines ground level from the point cloud.",
value=True,
invalidate=True,
),
desc.File(
name="initialPairA",
label="Initial Pair A",
description="View ID or filename of the first image (either with or without the full path).",
value="",
invalidate=True,
),
desc.File(
name="initialPairB",
label="Initial Pair B",
description="View ID or filename of the second image (either with or without the full path).",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="interFileExtension",
@ -401,7 +369,6 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -411,20 +378,17 @@ It iterates like that, adding cameras and triangulating new 2D features into 3D
label="SfMData",
description="Path to the output SfM point cloud file (in SfMData format).",
value=desc.Node.internalFolder + "sfm.abc",
invalidate=False,
),
desc.File(
name="outputViewsAndPoses",
label="Views And Poses",
description="Path to the output SfMData file with cameras (views and poses).",
value=desc.Node.internalFolder + "cameras.sfm",
invalidate=False,
),
desc.File(
name="extraInfoFolder",
label="Folder",
description="Folder for intermediate reconstruction files and additional reconstruction information files.",
value=desc.Node.internalFolder,
invalidate=False,
),
]

View file

@ -31,7 +31,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Dense SfMData",
description="SfMData file.",
value="",
invalidate=True,
),
desc.File(
name="imagesFolder",
@ -39,21 +38,18 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Use images from a specific folder instead of those specified in the SfMData file.\n"
"Filename should be the image UID.",
value="",
invalidate=True,
),
desc.File(
name="normalsFolder",
label="Normals Folder",
description="Use normal maps from a specific folder to texture the mesh.\nFilename should be : uid_normalMap.",
value="",
invalidate=True,
),
desc.File(
name="inputMesh",
label="Mesh",
description="Optional input mesh to texture. By default, it will texture the result of the reconstruction.",
value="",
invalidate=True,
),
desc.File(
name="inputRefMesh",
@ -61,7 +57,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Optional input mesh to compute height maps and normal maps.\n"
"If not provided, no additional map with geometric information will be generated.",
value="",
invalidate=True,
),
desc.ChoiceParam(
name="textureSide",
@ -70,7 +65,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value=8192,
values=[1024, 2048, 4096, 8192, 16384],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="downscale",
@ -79,7 +73,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value=2,
values=[1, 2, 4, 8],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="outputMeshFileType",
@ -88,7 +81,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="obj",
values=["obj", "gltf", "fbx", "stl"],
exclusive=True,
invalidate=True,
),
desc.GroupAttribute(
name="colorMapping",
@ -112,7 +104,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="exr",
values=["exr", "png", "tiff", "jpg"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.colorMapping.enable.value,
),
],
@ -139,7 +130,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="Normal",
values=["Height", "Normal"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.bumpMapping.enable.value,
),
desc.ChoiceParam(
@ -149,7 +139,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="exr",
values=["exr", "png", "tiff", "jpg"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.bumpMapping.enable.value and node.bumpMapping.bumpType.value == "Normal",
),
desc.ChoiceParam(
@ -159,7 +148,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="exr",
values=["exr",],
exclusive=True,
invalidate=True,
enabled=lambda node: node.bumpMapping.enable.value and node.bumpMapping.bumpType.value == "Height",
),
],
@ -186,7 +174,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="exr",
values=["exr"],
exclusive=True,
invalidate=True,
enabled=lambda node: node.displacementMapping.enable.value,
),
],
@ -201,21 +188,18 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="Basic",
values=["Basic", "LSCM", "ABF"],
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="useUDIM",
label="Use UDIM",
description="Use UDIM UV mapping.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="fillHoles",
label="Fill Holes",
description="Fill texture holes with plausible values.",
value=False,
invalidate=True,
),
desc.IntParam(
name="padding",
@ -223,7 +207,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Texture edge padding size in pixels.",
value=5,
range=(0, 20, 1),
invalidate=True,
advanced=True,
),
desc.IntParam(
@ -232,7 +215,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Width of frequency bands for multiband blending.",
value=4,
range=(0, 8, 2),
invalidate=True,
advanced=True,
),
desc.GroupAttribute(
@ -244,7 +226,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="High Freq",
description="High frequency band.",
value=1,
invalidate=True,
range=None,
),
desc.IntParam(
@ -252,7 +233,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Mid-High Freq",
description="Mid-high frequency band.",
value=5,
invalidate=True,
range=None,
),
desc.IntParam(
@ -260,7 +240,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Mid-Low Freq",
description="Mid-low frequency band.",
value=10,
invalidate=True,
range=None,
),
desc.IntParam(
@ -268,7 +247,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Low Freq",
description="Low frequency band",
value=0,
invalidate=True,
range=None,
),
],
@ -280,7 +258,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Use Score",
description="Use triangles scores (ie. reprojection area) for multi-band blending.",
value=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -289,7 +266,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Setting this parameter to 0.0 disables filtering based on threshold to relative best score.",
value=0.1,
range=(0.0, 1.0, 0.01),
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -298,7 +274,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Setting this parameter to 0.0 disables angle hard threshold filtering.",
value=90.0,
range=(0.0, 180.0, 0.01),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -308,7 +283,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
values=COLORSPACES,
value="sRGB",
exclusive=True,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -318,21 +292,18 @@ Many cameras are contributing to the low frequencies and only the best ones cont
values=COLORSPACES,
value="AUTO",
exclusive=True,
invalidate=True,
),
desc.BoolParam(
name="correctEV",
label="Correct Exposure",
description="Uniformize images exposure values.",
value=True,
invalidate=True,
),
desc.BoolParam(
name="forceVisibleByAllVertices",
label="Force Visible By All Vertices",
description="Triangle visibility is based on the union of vertices visibility.",
value=False,
invalidate=True,
advanced=True,
),
desc.BoolParam(
@ -341,7 +312,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
description="Option to flip face normals.\n"
"It can be needed as it depends on the vertices order in triangles and the convention changes from one software to another.",
value=False,
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -351,7 +321,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
value="PullPush",
values=["Pull", "Push", "PullPush", "MeshItself"],
exclusive=True,
invalidate=True,
advanced=True,
),
desc.FloatParam(
@ -363,7 +332,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
" - 1: full density of the reconstruction).",
value=0.8,
range=(0.0, 1.0, 0.001),
invalidate=True,
advanced=True,
),
desc.ChoiceParam(
@ -373,7 +341,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -383,14 +350,12 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Folder",
description="Folder for output mesh: OBJ, material and texture files.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="outputMesh",
label="Mesh",
description="Output mesh file.",
value=desc.Node.internalFolder + "texturedMesh.{outputMeshFileTypeValue}",
invalidate=False,
group="",
),
desc.File(
@ -399,7 +364,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Material",
description="Output material file.",
value=desc.Node.internalFolder + "texturedMesh.mtl",
invalidate=False,
group="",
),
desc.File(
@ -407,7 +371,6 @@ Many cameras are contributing to the low frequencies and only the best ones cont
label="Textures",
description="Output texture files.",
value=lambda attr: desc.Node.internalFolder + "texture_*." + attr.node.colorMapping.colorMappingFileType.value if attr.node.colorMapping.enable.value else "",
invalidate=False,
group="",
),
]

View file

@ -19,7 +19,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
label="SfMData",
description="Input SfMData file.",
value="",
invalidate=True,
),
desc.ListAttribute(
elementDesc=desc.File(
@ -27,7 +26,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
label="Features Folder",
description="Folder containing some extracted features and descriptors.",
value="",
invalidate=True,
),
name="featuresFolders",
label="Features Folders",
@ -39,7 +37,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
label="Matches Folder",
description="Folder containing some matches.",
value="",
invalidate=True,
),
name="matchesFolders",
label="Matches Folders",
@ -52,7 +49,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
values=DESCRIBER_TYPES,
value=["dspsift"],
exclusive=False,
invalidate=True,
joinChar=",",
),
desc.IntParam(
@ -61,7 +57,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
description="Minimum track length.",
value=2,
range=(2, 10, 1),
invalidate=True,
),
desc.BoolParam(
name="useOnlyMatchesFromInputFolder",
@ -78,7 +73,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
description="Enable/Disable the track forks removal. A track contains a fork when incoherent matches\n"
"lead to multiple features in the same image for a single track.",
value=False,
invalidate=True,
),
desc.ChoiceParam(
name="verboseLevel",
@ -87,7 +81,6 @@ It fuses all feature matches between image pairs into tracks. Each track represe
values=VERBOSE_LEVEL,
value="info",
exclusive=True,
invalidate=False,
),
]
@ -97,6 +90,5 @@ It fuses all feature matches between image pairs into tracks. Each track represe
label="Tracks",
description="Path to the output tracks file.",
value=desc.Node.internalFolder + "tracksFile.json",
invalidate=False,
),
]

View file

@ -42,28 +42,24 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
label="Cameras",
description="SfMData with the views, poses and intrinsics to use (in JSON format).",
value="",
invalidate=True,
),
desc.File(
name="model",
label="Model",
description="Point cloud (.abc) or mesh (.obj) to render.",
value="",
invalidate=True,
),
desc.BoolParam(
name="useBackground",
label="Display Background",
description="Use the undistorted images as background.",
value=True,
invalidate=True,
),
desc.File(
name="undistortedImages",
label="Undistorted Images",
description="Folder containing the undistorted images.",
value="",
invalidate=True,
enabled=lambda node: node.useBackground.value,
),
desc.BoolParam(
@ -71,14 +67,12 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
label="Apply Masks",
description="Apply mask to the rendered geometry.",
value=True,
invalidate=True,
),
desc.File(
name="masks",
label="Masks",
description="Folder containing the masks.",
value="",
invalidate=True,
enabled=lambda node: node.useMasks.value,
),
desc.GroupAttribute(
@ -94,7 +88,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
description="Scale of particles used for the point cloud.",
value=0.01,
range=(0.01, 1.0, 0.01),
invalidate=True,
),
desc.ChoiceParam(
name="particleColor",
@ -103,7 +96,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
value="Red",
values=["Grey", "White", "Red", "Green", "Magenta"],
exclusive=True,
invalidate=True,
),
],
),
@ -121,7 +113,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
value="wireframe",
values=["wireframe", "line_art"],
exclusive=True,
invalidate=True,
),
desc.ChoiceParam(
name="edgeColor",
@ -130,7 +121,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
value="Red",
values=["Grey", "White", "Red", "Green", "Magenta"],
exclusive=True,
invalidate=True,
),
],
),
@ -142,7 +132,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
label="Output",
description="Output folder.",
value=desc.Node.internalFolder,
invalidate=False,
),
desc.File(
name="frames",
@ -150,7 +139,6 @@ One frame per viewpoint will be rendered, and the undistorted views can optional
description="Frames rendered in Blender.",
semantic="image",
value=desc.Node.internalFolder + "<FILESTEM>_preview.jpg",
invalidate=False,
group="",
),
]