{ "header": { "pipelineVersion": "2.2", "releaseVersion": "2024.1.0-develop", "fileVersion": "1.1", "template": true, "nodesVersions": { "ApplyCalibration": "1.0", "CameraInit": "11.0", "ConvertSfMFormat": "2.0", "DepthMap": "5.0", "DepthMapFilter": "4.0", "ExportAnimatedCamera": "2.0", "FeatureExtraction": "1.3", "FeatureMatching": "2.0", "ImageMatching": "2.0", "ImageMatchingMultiSfM": "1.0", "ImagePrompt": "0.1", "KeyframeSelection": "5.0", "MeshDecimate": "1.0", "MeshFiltering": "3.0", "Meshing": "7.0", "PrepareDenseScene": "3.1", "Publish": "1.3", "ScenePreview": "2.0", "SfMTransfer": "2.1", "SfMTriangulation": "1.0", "StructureFromMotion": "3.3", "Texturing": "6.0" } }, "graph": { "ApplyCalibration_1": { "nodeType": "ApplyCalibration", "position": [ 0, 0 ], "inputs": { "input": "{CameraInit_1.output}" }, "internalInputs": { "color": "#575963" } }, "CameraInit_1": { "nodeType": "CameraInit", "position": [ -200, 0 ], "inputs": {}, "internalInputs": { "color": "#575963" } }, "ConvertSfMFormat_1": { "nodeType": "ConvertSfMFormat", "position": [ 3000, 200 ], "inputs": { "input": "{ExportAnimatedCamera_1.input}", "fileExt": "json", "describerTypes": "{StructureFromMotion_1.describerTypes}", "structure": false, "observations": false }, "internalInputs": { "color": "#4c594c" } }, "DepthMapFilter_1": { "nodeType": "DepthMapFilter", "position": [ 2400, 0 ], "inputs": { "input": "{DepthMap_1.input}", "depthMapsFolder": "{DepthMap_1.output}" }, "internalInputs": { "color": "#3f3138" } }, "DepthMap_1": { "nodeType": "DepthMap", "position": [ 2200, 0 ], "inputs": { "input": "{PrepareDenseScene_1.input}", "imagesFolder": "{PrepareDenseScene_1.output}", "downscale": 1 }, "internalInputs": { "color": "#3f3138" } }, "ExportAnimatedCamera_1": { "nodeType": "ExportAnimatedCamera", "position": [ 1600, 200 ], "inputs": { "input": "{StructureFromMotion_1.output}", "exportUndistortedImages": true }, "internalInputs": { "color": "#80766f" } }, "FeatureExtraction_1": { "nodeType": "FeatureExtraction", "position": [ 200, 200 ], "inputs": { "input": "{ApplyCalibration_1.output}", "masksFolder": "{ImagePrompt_1.output}", "maskExtension": "exr" }, "internalInputs": { "color": "#575963" } }, "FeatureMatching_1": { "nodeType": "FeatureMatching", "position": [ 600, 0 ], "inputs": { "input": "{ImageMatching_1.input}", "featuresFolders": "{ImageMatching_1.featuresFolders}", "imagePairsList": "{ImageMatching_1.output}", "describerTypes": "{FeatureExtraction_1.describerTypes}" }, "internalInputs": { "label": "FeatureMatchingKeyframes", "color": "#575963" } }, "FeatureMatching_2": { "nodeType": "FeatureMatching", "position": [ 1200, 360 ], "inputs": { "input": "{ImageMatching_2.input}", "featuresFolders": "{ImageMatching_2.featuresFolders}", "imagePairsList": "{ImageMatching_2.output}" }, "internalInputs": { "label": "FeatureMatchingAllFrames", "color": "#80766f" } }, "FeatureMatching_3": { "nodeType": "FeatureMatching", "position": [ 1200, 200 ], "inputs": { "input": "{ImageMatchingMultiSfM_1.outputCombinedSfM}", "featuresFolders": "{ImageMatchingMultiSfM_1.featuresFolders}", "imagePairsList": "{ImageMatchingMultiSfM_1.output}", "describerTypes": "{FeatureExtraction_1.describerTypes}" }, "internalInputs": { "label": "FeatureMatchingFramesToKeyframes", "color": "#80766f" } }, "ImageMatchingMultiSfM_1": { "nodeType": "ImageMatchingMultiSfM", "position": [ 1000, 200 ], "inputs": { "input": "{KeyframeSelection_1.outputSfMDataFrames}", "inputB": "{StructureFromMotion_2.output}", "featuresFolders": [ "{FeatureExtraction_1.output}" ], "method": "VocabularyTree", "matchingMode": "a/b", "nbMatches": 20 }, "internalInputs": { "color": "#80766f" } }, "ImageMatching_1": { "nodeType": "ImageMatching", "position": [ 400, 0 ], "inputs": { "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", "featuresFolders": [ "{FeatureExtraction_1.output}" ], "method": "Exhaustive" }, "internalInputs": { "label": "ImageMatchingKeyframes", "color": "#575963" } }, "ImageMatching_2": { "nodeType": "ImageMatching", "position": [ 1000, 360 ], "inputs": { "input": "{ApplyCalibration_1.output}", "featuresFolders": [ "{FeatureExtraction_1.output}" ], "method": "Sequential", "nbNeighbors": 20 }, "internalInputs": { "color": "#80766f" } }, "ImagePrompt_1": { "nodeType": "ImagePrompt", "position": [ 0, 200 ], "inputs": { "input": "{CameraInit_1.output}", "maskInvert": true, "keepFilename": true }, "internalInputs": { "color": "#575963" } }, "KeyframeSelection_1": { "nodeType": "KeyframeSelection", "position": [ 200, 0 ], "inputs": { "inputPaths": [ "{ApplyCalibration_1.output}" ], "maskPaths": [ "{ImagePrompt_1.output}" ] }, "internalInputs": { "color": "#575963" } }, "MeshDecimate_1": { "nodeType": "MeshDecimate", "position": [ 3000, 0 ], "inputs": { "input": "{MeshFiltering_1.outputMesh}", "simplificationFactor": 0.05 }, "internalInputs": { "color": "#3f3138" } }, "MeshFiltering_1": { "nodeType": "MeshFiltering", "position": [ 2800, 0 ], "inputs": { "inputMesh": "{Meshing_1.outputMesh}", "filterLargeTrianglesFactor": 10.0 }, "internalInputs": { "color": "#3f3138" } }, "Meshing_1": { "nodeType": "Meshing", "position": [ 2600, 0 ], "inputs": { "input": "{DepthMapFilter_1.input}", "depthMapsFolder": "{DepthMapFilter_1.output}", "estimateSpaceFromSfM": false, "minStep": 1, "fullWeight": 10.0, "saveRawDensePointCloud": true }, "internalInputs": { "color": "#3f3138" } }, "PrepareDenseScene_1": { "nodeType": "PrepareDenseScene", "position": [ 2000, 0 ], "inputs": { "input": "{SfMTriangulation_1.output}", "masksFolders": [ "{ImagePrompt_1.output}" ], "maskExtension": "exr" }, "internalInputs": { "color": "#3f3138" } }, "Publish_1": { "nodeType": "Publish", "position": [ 3574, 166 ], "inputs": { "inputFiles": [ "{ExportAnimatedCamera_1.output}", "{Texturing_1.output}", "{ScenePreview_1.output}", "" ] } }, "ScenePreview_1": { "nodeType": "ScenePreview", "position": [ 3200, 200 ], "inputs": { "cameras": "{ConvertSfMFormat_1.output}", "model": "{MeshDecimate_1.output}", "undistortedImages": "{ExportAnimatedCamera_1.outputUndistorted}", "masks": "{ImagePrompt_1.output}" }, "internalInputs": { "color": "#4c594c" } }, "SfMTransfer_1": { "nodeType": "SfMTransfer", "position": [ 1600, 0 ], "inputs": { "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", "reference": "{StructureFromMotion_1.output}", "transferLandmarks": false }, "internalInputs": { "comment": "Transfer pose from final camera tracking into the keyframes-only scene.", "color": "#3f3138" } }, "SfMTriangulation_1": { "nodeType": "SfMTriangulation", "position": [ 1800, 0 ], "inputs": { "input": "{SfMTransfer_1.output}", "featuresFolders": "{StructureFromMotion_2.featuresFolders}", "matchesFolders": "{StructureFromMotion_2.matchesFolders}", "minAngleForTriangulation": 1.0, "minAngleForLandmark": 0.5 }, "internalInputs": { "color": "#3f3138" } }, "StructureFromMotion_1": { "nodeType": "StructureFromMotion", "position": [ 1400, 200 ], "inputs": { "input": "{FeatureMatching_3.input}", "featuresFolders": "{FeatureMatching_3.featuresFolders}", "matchesFolders": [ "{FeatureMatching_3.output}", "{FeatureMatching_2.output}" ], "describerTypes": "{FeatureMatching_3.describerTypes}", "nbFirstUnstableCameras": 0, "maxImagesPerGroup": 0, "bundleAdjustmentMaxOutliers": -1, "minInputTrackLength": 5, "minNumberOfObservationsForTriangulation": 3, "minAngleForTriangulation": 1.0, "minAngleForLandmark": 0.5, "filterTrackForks": true }, "internalInputs": { "comment": "Estimate cameras parameters for the complete camera tracking sequence.", "color": "#80766f" } }, "StructureFromMotion_2": { "nodeType": "StructureFromMotion", "position": [ 800, 0 ], "inputs": { "input": "{FeatureMatching_1.input}", "featuresFolders": "{FeatureMatching_1.featuresFolders}", "matchesFolders": [ "{FeatureMatching_1.output}" ], "describerTypes": "{FeatureMatching_1.describerTypes}", "minAngleForTriangulation": 1.0, "minAngleForLandmark": 0.5, "filterTrackForks": true }, "internalInputs": { "comment": "Solve all keyframes first.", "label": "StructureFromMotionKeyframes", "color": "#575963" } }, "Texturing_1": { "nodeType": "Texturing", "position": [ 3200, 0 ], "inputs": { "input": "{Meshing_1.output}", "imagesFolder": "{PrepareDenseScene_1.output}", "inputMesh": "{MeshDecimate_1.output}" }, "internalInputs": { "color": "#3f3138" } } } }