https://github.com/PointCloudLibrary/pcl
Raw File
Tip revision: de3906b5146a04ddff0e537121e3ed5681a4ee19 authored by Jochen Sprickerhof on 24 June 2013, 18:46:22 UTC
Remove Brisk keypoints and features because there is no non SSE4 version
Tip revision: de3906b
features.doxy
/**
  \addtogroup features Module features

  \section secFeaturesPresentation Overview

The <b>pcl_features</b> library contains data structures and mechanisms for 3D
feature estimation from point cloud data. <i>3D features</i> are
representations at a certain 3D point or position in space, which describe
geometrical patterns based on the information available around the point. The
data space selected around the query point is usually referred as the
<b>k-neighborhood</b>. 

The following figure shows a simple example of a selected query point, and its
selected k-neighborhood. 

\image html http://www.pointclouds.org/assets/images/contents/documentation/features_normal.png

An example of two of the most widely used geometric point features are the
underlying surface's estimated curvature and normal at a query point <b>p</b>.
Both of them are considered local features, as they characterize a point using
the information provided by its k closest point neighbors. For determining
these neighbors efficienctly, the input dataset is usually split into smaller
chunks using spatial decomposition techniques such as octrees or kD-trees (see
the figure below - left: kD-tree, right: octree), and then closest point
searches are performed in that space. Depending on the application one can opt
for either determining a fixed number of k points in the vecinity of p, or all
points which are found inside of a sphere of radius r centered at p.
Unarguably, one the easiest methods for estimating the surface normals and
curvature changes at a point p is to perform an eigendecomposition (i.e.
compute the eigenvectors and eigenvalues) of the k-neighborhood point surface
patch. Thus, the eigenvector corresponding to the smallest eigenvalue will
approximate the surface normal n at point p, while the surface curvature change
will be estimated from the eigenvalues as:

<center>\f$\frac{\lambda_0}{\lambda_0 + \lambda_1 + \lambda_2}\f$, where \f$\lambda_0 < \lambda_1 < \lambda_2\f$.</center>

\image html http://www.pointclouds.org/assets/images/contents/documentation/features_bunny.png

Please visit http://www.pointclouds.org for more information.

  \section secFeaturesRequirements Requirements
  - \ref common "common"
  - \ref search "search"
  - \ref kdtree "kdtree"
  - \ref octree "octree"
  - \ref range_image "range_image"

*/
back to top