This component contains algorithms for shape detection in 3D point clouds. The main functionality is plane detection. To detect planes in a point cloud given in any of the supported file formats simply call:

planes dat

To specify your command you can use various parameters. For a complete list type


The most important parameters are explained here:

This specifies in which scan planes should be detected.
This is for choosing the plane detection algorithm. Currently the options are
rht Randomized Hough Transform.
sht Standardized Hough Transform.
pht Probabilistic Hough Transform.
ppht Progressive Probabilistic Hough Transform.
apht Adaptive Probabilistic Hough Transform.
ran Randomized Sample Consensus (RANSAC)
For detailed descriptions of the different Hough Transform methods, please refer to the corresponding publication.

The Hough Transform can be tuned using various parameters. These should to be specified in the configuration file in bin/hough.cfg A description of the parameters is given here.


The results of the plane detection algorithm are written to the directory specified as PlaneDir in the configuration file. For each plane a file named planeXXX.3d is created, where XXX is the running number of the plane with leading zeros. The file lists the global 3D coordinates of the convex hull of the detected plane.

Additionally, a file planes.list is created int the same directory, that lists all the created planes. To view the results, the -l parameter of show can be used. To see a simple example with the data set provided together with the source code, do
planes -s 0 dat -p rht
to run the Randomized Hough Transform on the first scan and then
show -s 0 -e 0 dat -l dat/planes/planes.list
to visualize the data. The result should look similur to this:

View of point cloud with detected planes

Informatics VII - Robotics and Telematics, Prof. Dr Andreas Nüchter, andreas (at), Tel. +49-177-7951270