Point cloud tools for Matlab

Currently included are:

pointCloud class a Matlab class to read, manipulate and write point clouds
globalICP class a Matlab class to optimize the alignment of many point clouds with the ICP algorithm

PointCloudToolsSmall.png

Download Matlab Code

  1. Download this zip archive and extract it into an arbitrary folder, e.g. D:\MyMatlabCode\pointCloudTools.
  2. Add this folder to the search path in Matlab:
    addpath(genpath('D:\MyMatlabCode\pointCloudTools'));
  3. Finally, check if it is working by running:
    pc = pointCloud('Lion.xyz');
    pc.plot;
The code is hosted on GitHub. It is also available on Matlab File Exchange.

pointCloud class

This is a class for processing point clouds of any size in Matlab. It provides many functions to read, manipulate, and write point clouds. Check out some of the functionality in this introductory tutorial.

Tutorials

Documentation

Class methods:

pointCloud Import of point cloud data.
select Select a subset of points.
plot Plot of point cloud.
normals Compute normal vectors of activated points.
plotNormals Plot normal vectors of point cloud in 3d.
info Report informations about the point cloud to the command window.
transform Coordinate transformation of point cloud.
export Export activated points to a file.
save Save point cloud object as mat file.
reconstruct Reconstruct object only with active points.
getVoxelHull Compute the voxel hull of a point cloud.
addAttribute Add an attribute to the object.

globalICP class

With the globalICP class the alignment of two or more point clouds can be refined by the Iterative Closest Point (ICP) algorithm. A prerequisite for this is an approximate alignment of the point clouds.

Iterative_Closest_Point.gif

Documentation

Class methods:

globalICP Constructor method for global ICP class.
runICP Run ICP algorithm.
addPC Add a point cloud to globalICP object.
loadPC Load point cloud to workspace.
exportPC Export a point cloud.
plot Plot all added point clouds.

Tutorials

Version for Windows command line

If you are not familiar with Matlab, you can use a compiled version of the ICP algorithm on the Windows command line:

Related Papers

Contact: philipp.glira@gmail.com (Google Scholar)