Skip to content

Adding new node for triangulation for new pipelines#2113

Merged
servantftransperfect merged 2 commits intodevelopfrom
dev/triangulation
Apr 30, 2026
Merged

Adding new node for triangulation for new pipelines#2113
servantftransperfect merged 2 commits intodevelopfrom
dev/triangulation

Conversation

@servantftransperfect
Copy link
Copy Markdown
Contributor

This pull request introduces a new SfM Triangulation feature to the AliceVision pipeline. It adds a new command-line tool for triangulating keypoints using existing camera poses, updates the build system to include this tool, and provides a corresponding Meshroom node for integration into workflows. Additionally, it improves the merging logic for SfMData poses to handle duplicates more robustly.

New SfM Triangulation Feature:

  • Added a new command-line tool aliceVision_sfmTriangulating for triangulating keypoints based on existing camera poses, including argument parsing, triangulation logic, and output handling.
  • Integrated the new tool into the CMake build system, ensuring it is built with the correct dependencies.
  • Implemented a new Meshroom node SfMTriangulating in SfMTriangulating.py to expose the triangulation functionality to the Meshroom GUI, with configurable parameters for triangulation.

Improvements to SfMData Merging:

  • Enhanced the simpleMerge function to merge pose data from two SfMData objects, checking for duplicate pose IDs and reporting errors if duplicates are found and not ignored.

Comment thread meshroom/aliceVision/SfMTriangulating.py Fixed
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot
10.6% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Comment thread src/software/pipeline/main_sfmTriangulating.cpp Outdated
Comment thread meshroom/aliceVision/SfMTriangulating.py Outdated
Comment thread meshroom/aliceVision/SfMTriangulating.py Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new “SfM triangulation from existing poses + tracks” entrypoint to the AliceVision pipeline (CLI + Meshroom node) and tightens SfMData merge behavior by detecting duplicate pose IDs during simple merges.

Changes:

  • Added a new pipeline executable aliceVision_sfmTriangulating to triangulate landmarks from an input SfMData + tracks file.
  • Integrated the new executable into the pipeline CMake build and exposed it via a new Meshroom node SfMTriangulating.
  • Improved sfmMerge simple merge to detect duplicate pose IDs (with optional duplicate ignoring).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
src/software/utils/main_sfmMerge.cpp Adds pose merging with duplicate-ID detection in simpleMerge; minor cleanup in fromLandmarksMerge.
src/software/pipeline/main_sfmTriangulating.cpp New CLI tool to triangulate landmarks from tracks using existing camera poses.
src/software/pipeline/CMakeLists.txt Builds and links the new aliceVision_sfmTriangulating executable.
meshroom/aliceVision/SfMTriangulating.py New Meshroom node wrapping the new triangulation CLI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/software/pipeline/main_sfmTriangulating.cpp Outdated
Comment thread src/software/pipeline/main_sfmTriangulating.cpp Outdated
Comment thread src/software/pipeline/main_sfmTriangulating.cpp
Comment thread meshroom/aliceVision/SfMTriangulating.py Outdated
@sonarqubecloud
Copy link
Copy Markdown

@servantftransperfect servantftransperfect merged commit aad248d into develop Apr 30, 2026
8 checks passed
@servantftransperfect servantftransperfect deleted the dev/triangulation branch April 30, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants