The `AlignmentScene` R6 class provides methods for aligning two 3D point clouds plots, typically
from terrestrial (MLS/TLS) or aerial (ALS/UAV) LiDAR sources. It implements a multi-step alignment
process with coarse, fine, and extra-fine alignment stages.
Methods
Create a new AlignmentScene object.
Arguments
fref, fmov
character, path to the las laz file with the point cloud to align. fref is
the reference point cloud, fmov is the point cloud to be aligned
radius
clip radius. The routine does not align the full point cloud but clip before
to compute the registration matrix
verbose
logical
Returns
A new `AlignmentScene` object.
Method set_radius()
Set clip radius
Usage
AlignmentScene$set_radius(radius)
Method set_ref_is_ground_based()
Tell the pipeline if the reference point cloud is ground-based (TLS, MLS)
Usage
AlignmentScene$set_ref_is_ground_based(val = TRUE)
Method set_mov_is_ground_based()
Tell the pipeline if the moving point cloud is ground-based (TLS, MLS)
Usage
AlignmentScene$set_mov_is_ground_based(val = TRUE)
Method prepare()
First function to run. It read the point cloud, extract features, and perform raw alignment
Method coarse_align()
Second function to run. It perform a brute force alignment
Usage
AlignmentScene$coarse_align(res = 2, max_offset = 10, debug = FALSE)
Arguments
res
numeric. Subsampling resolution. Keep it as is.
max_offset
numeric. Maximum translation possible. Increase if the point cloud are
strongly missaligned on XY.
debug
logical.
Method fine_align()
Third function to run. It perform an ICP alignment
Usage
AlignmentScene$fine_align(overlap = "auto", use_cc = FALSE)
Arguments
overlap
numeric trimmed ICP overlap. Can be 10, 20, 30, 40 to 100.
use_cc
bool. Use CloudCompare ICP instead of native ICP.
Fourth function to run. It perform an ICP alignment on the trunks
Usage
AlignmentScene$extra_fine_align()
Method align()
Full pipeline
Usage
AlignmentScene$align(res = 2, max_offset = 8)
Arguments
res
numeric. Subsampling resolution. Keep it as is.
max_offset
numeric. Maximum translation possible. Increase if the point cloud are
strongly missaligned on XY.
Plot alignment
Usage
AlignmentScene$plot(
which = c("raw", "coarse", "fine", "extra"),
compare_to = which
)
Arguments
which
string. The alignment level to plot
compare_to
string. The alignment level to plot and to compare
Method get_registration_matrix()
Get the registration matrix. This matrix is more or less accurate as a function of the level
of registration performed
Usage
AlignmentScene$get_registration_matrix()
Method clone()
The objects of this class are cloneable with this method.
Usage
AlignmentScene$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.