Compare and register
Align and merge
Bring a second cloud into the frame of the first automatically, see how much of it actually matched before you accept the move, place a layer by hand when you need to, and merge two splat captures into one scene.
Part of Gaussian splatting software, Point cloud change detection, Gaussian splatting to mesh.
When to use it
Before comparing two surveys, before transferring a column, and whenever two captures of one place arrive in different frames. Start from the scene graph when the two are far apart or turned: the rooms are matched first, with no initial placement.
Step by step
- Open the reference cloud, then the cloud to move with File › Add Layer…. The layer is what moves.
- Open Process › Align to reference cloud…. Under Move, choose the layer; set the expected Overlap (80 % by default); under Start from, choose where it is, or the scene graph if the two start far apart.
- Press Align. The Result block gives Inliers, RMS, Iterations and Moves. It reads Result: check this when fewer than 30 % of points matched or the solve did not converge.
- Press Apply to move the layer, or Discard to leave it where it was. An applied move can be undone from the layer’s reposition window with Reset.
- To place a layer by hand, press its reposition glyph in the Scene pane: MOVE east, north and up, TURN heading, pitch and roll, SCALE uniformly (with a ft to m shortcut). The file on disk is never modified.
- For two Gaussian splat captures, open the first, then Process › Merge splat captures…, keep Register the second capture first ticked, and press Choose capture… to pick the second
.plyor.spz. The splats’ ellipsoids turn with the rotation.
What it was measured at
The residual never travels alone: RMS is always shown with the inlier share, iterations and convergence, because an RMS of 3 mm over 4 % of the points is not a good registration.
From the command line
# match two surveys by their rooms, with no initial placement, then refine
n3d-render-cli graph-match --a survey_a.las --b survey_b.las --refine --json match.json
graph-match exits with 0 on a match and 2 otherwise.
Limits, stated
- Alignment is rigid: it moves and turns, it does not scale. Rescale by hand in the reposition window if the units differ.
- Merging splat captures drops higher-order spherical harmonics, and the window says so before you merge.
- A low inlier share is a warning, not a detail: the RMS is measured only over the points that matched.
Related questions
Can it put a splat capture at metric scale automatically?
No. Automatic metric anchoring needs a seven-parameter solve that is not built. A capture can be rescaled by hand in the layer’s Reposition window.
Does it keep the coordinate system?
Yes. It is read from LAS GeoTIFF keys, the OGC WKT record and LAS 1.4 extended records, carried into reports, and stamped on a LAS export as long as the geometry is still the source’s. A cloud that was moved by hand is written without it, because the stamp would no longer be true. Vector layers are checked against it and a clash is reported.
More in the FAQ.