Add PointsLoad::fromMultiScanFolder to load and merge a multi-scan laser folder#6324
Open
Fedr wants to merge 2 commits into
Open
Add PointsLoad::fromMultiScanFolder to load and merge a multi-scan laser folder#6324Fedr wants to merge 2 commits into
Fedr wants to merge 2 commits into
Conversation
…ser folder The new MRMesh function takes a folder produced by a multi-scan laser capture, finds all pairs of _intempNNN.pose and _laserNNN.ply files (matched by index NNN, arbitrary count), reads each .pose as a 4x4 row-major rigid AffineXf3f, applies it to the points and normals loaded from the corresponding .ply, and returns the union of all transformed points as a single PointCloud. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Relocate the function together with its file-name parsing and .pose reading
helpers out of MRPointsLoad into new MRMultiScanLoad.{h,cpp}, and register both
files in MRMesh.vcxproj. No behavior change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new function to
MRMeshfor loading the output of a multi-scan laser capture (a folder with many individual scans) and merging it into a single point cloud:What it does
Expected<PointCloud>._intempNNN.poseand_laserNNN.plyfiles, matched by the numeric indexNNN(the number of pairs is arbitrary)..posefile as anAffineXf3f(a 4×4 row-major rigid transformation) and applies it to the points (and rotates the normals) loaded from the.plyfile with the same index.Indices missing a counterpart (
.posewithout.plyor vice versa) are skipped; if no pairs are found at all an error is returned. Progress is reported per processed pair and the operation is cancelable.The folder layout matches the export of a laser scanner (e.g. Revopoint), where
_intempNNN.poseholds the per-scan pose and_laserNNN.plyholds the corresponding scanned points with normals.