Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::RSDEstimation< PointInT, PointNT, PointOutT > Class Template Reference

RSDEstimation estimates the Radius-based Surface Descriptor (minimal and maximal radius of the local surface's curves) for a given point cloud dataset containing points and normals. More...

#include <pcl/features/rsd.h>

+ Inheritance diagram for pcl::RSDEstimation< PointInT, PointNT, PointOutT >:

List of all members.

Public Types

typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut
typedef Feature< PointInT,
PointOutT >::PointCloudIn 
PointCloudIn
typedef boost::shared_ptr
< RSDEstimation< PointInT,
PointNT, PointOutT > > 
Ptr
typedef boost::shared_ptr
< const RSDEstimation
< PointInT, PointNT, PointOutT > > 
ConstPtr

Public Member Functions

 RSDEstimation ()
 Empty constructor.
void setNrSubdivisions (int nr_subdiv)
 Set the number of subdivisions for the considered distance interval.
int getNrSubdivisions () const
 Get the number of subdivisions for the considered distance interval.
void setPlaneRadius (double plane_radius)
 Set the maximum radius, above which everything can be considered planar.
double getPlaneRadius () const
 Get the maximum radius, above which everything can be considered planar.
void setKSearch (int)
 Disables the setting of the number of k nearest neighbors to use for the feature estimation.
void setSaveHistograms (bool save)
 Set whether the full distance-angle histograms should be saved.
bool getSaveHistograms () const
 Returns whether the full distance-angle histograms are being saved.
boost::shared_ptr< std::vector
< Eigen::MatrixXf,
Eigen::aligned_allocator
< Eigen::MatrixXf > > > 
getHistograms () const
 Returns a pointer to the list of full distance-angle histograms for all points.

Protected Member Functions

void computeFeature (PointCloudOut &output)
 Estimate the estimates the Radius-based Surface Descriptor (RSD) at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()

Protected Attributes

boost::shared_ptr< std::vector
< Eigen::MatrixXf,
Eigen::aligned_allocator
< Eigen::MatrixXf > > > 
histograms_
 The list of full distance-angle histograms for all points.

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT>
class pcl::RSDEstimation< PointInT, PointNT, PointOutT >

RSDEstimation estimates the Radius-based Surface Descriptor (minimal and maximal radius of the local surface's curves) for a given point cloud dataset containing points and normals.

Note:
If you use this code in any academic work, please cite:
Note:
The code is stateful as we do not expect this class to be multicore parallelized.
Author:
Zoltan-Csaba Marton

Definition at line 130 of file rsd.h.


Member Typedef Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
typedef boost::shared_ptr<const RSDEstimation<PointInT, PointNT, PointOutT> > pcl::RSDEstimation< PointInT, PointNT, PointOutT >::ConstPtr

Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.

Definition at line 145 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
typedef Feature<PointInT, PointOutT>::PointCloudIn pcl::RSDEstimation< PointInT, PointNT, PointOutT >::PointCloudIn

Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.

Definition at line 142 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::RSDEstimation< PointInT, PointNT, PointOutT >::PointCloudOut

Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.

Definition at line 141 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
typedef boost::shared_ptr<RSDEstimation<PointInT, PointNT, PointOutT> > pcl::RSDEstimation< PointInT, PointNT, PointOutT >::Ptr

Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.

Definition at line 144 of file rsd.h.


Constructor & Destructor Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
pcl::RSDEstimation< PointInT, PointNT, PointOutT >::RSDEstimation ( ) [inline]

Empty constructor.

Definition at line 149 of file rsd.h.

References pcl::Feature< PointInT, PointOutT >::feature_name_.


Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::RSDEstimation< PointInT, PointNT, PointOutT >::computeFeature ( PointCloudOut output) [protected, virtual]

Estimate the estimates the Radius-based Surface Descriptor (RSD) at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()

Parameters:
outputthe resultant point cloud model dataset that contains the RSD feature estimates (r_min and r_max values)

Implements pcl::Feature< PointInT, PointOutT >.

Definition at line 249 of file rsd.hpp.

References pcl::computeRSD(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.

template<typename PointInT , typename PointNT , typename PointOutT >
boost::shared_ptr<std::vector<Eigen::MatrixXf, Eigen::aligned_allocator<Eigen::MatrixXf> > > pcl::RSDEstimation< PointInT, PointNT, PointOutT >::getHistograms ( ) const [inline]

Returns a pointer to the list of full distance-angle histograms for all points.

Definition at line 196 of file rsd.h.

References pcl::RSDEstimation< PointInT, PointNT, PointOutT >::histograms_.

template<typename PointInT , typename PointNT , typename PointOutT >
int pcl::RSDEstimation< PointInT, PointNT, PointOutT >::getNrSubdivisions ( ) const [inline]

Get the number of subdivisions for the considered distance interval.

Definition at line 162 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
double pcl::RSDEstimation< PointInT, PointNT, PointOutT >::getPlaneRadius ( ) const [inline]

Get the maximum radius, above which everything can be considered planar.

Definition at line 174 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::RSDEstimation< PointInT, PointNT, PointOutT >::getSaveHistograms ( ) const [inline]

Returns whether the full distance-angle histograms are being saved.

Definition at line 192 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::RSDEstimation< PointInT, PointNT, PointOutT >::setKSearch ( int  ) [inline]

Disables the setting of the number of k nearest neighbors to use for the feature estimation.

Reimplemented from pcl::Feature< PointInT, PointOutT >.

Definition at line 178 of file rsd.h.

References pcl::Feature< PointInT, PointOutT >::getClassName().

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::RSDEstimation< PointInT, PointNT, PointOutT >::setNrSubdivisions ( int  nr_subdiv) [inline]

Set the number of subdivisions for the considered distance interval.

Parameters:
[in]nr_subdivthe number of subdivisions

Definition at line 158 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::RSDEstimation< PointInT, PointNT, PointOutT >::setPlaneRadius ( double  plane_radius) [inline]

Set the maximum radius, above which everything can be considered planar.

Note:
the order of magnitude should be around 10-20 times the search radius (0.2 works well for typical datasets).
on accurate 3D data (e.g. openni sernsors) a search radius as low as 0.01 still gives good results.
Parameters:
[in]plane_radiusthe new plane radius

Definition at line 170 of file rsd.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::RSDEstimation< PointInT, PointNT, PointOutT >::setSaveHistograms ( bool  save) [inline]

Set whether the full distance-angle histograms should be saved.

Note:
Obtain the list of histograms by getHistograms ()
Parameters:
[in]saveset to true if histograms should be saved

Definition at line 188 of file rsd.h.


Member Data Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
boost::shared_ptr<std::vector<Eigen::MatrixXf, Eigen::aligned_allocator<Eigen::MatrixXf> > > pcl::RSDEstimation< PointInT, PointNT, PointOutT >::histograms_ [protected]

The list of full distance-angle histograms for all points.

Definition at line 209 of file rsd.h.

Referenced by pcl::RSDEstimation< PointInT, PointNT, PointOutT >::getHistograms().


The documentation for this class was generated from the following files: