SIMULTANEOUS ALIGNMENT OF THREE TLS POINT CLOUDS

In this example three point clouds acquired with a Terrestrial Laserscanner (TLS) are aligned simultaneosly by the ICP algorithm. For this the globalICP class is used.

Contents

Note: You can extract the code from this html file with the matlab function grabcode

Where to get help

Before starting, a short hint on how to access the helpscreen of the methods (=functions) used within this tutorial:

% Help for the constuctor method (for object creation)
help globalICP.globalICP % Constructor method for globalICP class.

% Help for regular methods
help globalICP.addPC     % Add a point cloud to globalICP object.
help globalICP.plot      % Plot all added point clouds.
help globalICP.runICP    % Run ICP algorithm.

Example script

% Contruct an object of class globalICP (=initialization)
icp = globalICP;

% Add point clouds to object from ply files
% (Added point clouds are saved as mat files, e.g. LionScan1Approx.mat)
icp.addPC('RoomScan1.ply');
icp.addPC('RoomScan2.ply');
icp.addPC('RoomScan3.ply');

% Define options for runICP
% (A template for all options can be copied by calling 'help globalICP.runICP')
ICPOptions.UniformSamplingDistance  = 0.2;
ICPOptions.PlaneSearchRadius        = 0.1;
ICPOptions.MaxRoughness             = 0.02;

% Run ICP!
icp.runICP(ICPOptions);

Comparison

This is a cross-section through the scanned interiour before and after using globalICP .