Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT > Class Template Reference

SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...

#include <shot.h>

Inheritance diagram for pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Feature< PointInT,
PointOutT >::PointCloudIn 
PointCloudIn

Public Member Functions

virtual void computePointSHOT (const int index, const std::vector< int > &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot)=0
 Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.

Protected Member Functions

void computeFeatureEigen (pcl::PointCloud< Eigen::MatrixXf > &)
 Make the computeFeature (&Eigen::MatrixXf); inaccessible from outside the class.
void createBinDistanceShape (int index, const std::vector< int > &indices, std::vector< double > &bin_distance_shape)
 Create a binned distance shape histogram.
virtual bool initCompute ()
 This method should get called before starting the actual computation.
void interpolateSingleChannel (const std::vector< int > &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistance, const int nr_bins, Eigen::VectorXf &shot)
 Quadrilinear interpolation used when color and shape descriptions are NOT activated simultaneously.
void normalizeHistogram (Eigen::VectorXf &shot, int desc_length)
 Normalize the SHOT histogram.
 SHOTEstimationBase (int nr_shape_bins=10)
 Empty constructor.

Protected Attributes

int descLength_
 One SHOT length.
const int maxAngularSectors_
 ...
const int nr_grid_sector_
 Number of azimuthal sectors.
int nr_shape_bins_
 The number of bins in each shape histogram.
double radius1_2_
 1/2 of the search radius.
double radius1_4_
 1/4 of the search radius.
double radius3_4_
 3/4 of the search radius.
Eigen::VectorXf shot_
 Placeholder for a point's SHOT.
double sqradius_
 The squared search radius.

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
class pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >

SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals.

The suggested PointOutT is pcl::SHOT.

Note:
If you use this code in any academic work, please cite:
Author:
Samuele Salti, Federico Tombari

Definition at line 67 of file shot.h.


Member Typedef Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
typedef Feature<PointInT, PointOutT>::PointCloudIn pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::PointCloudIn

Constructor & Destructor Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::SHOTEstimationBase ( int  nr_shape_bins = 10) [inline, protected]

Empty constructor.

Parameters:
[in]nr_shape_binsthe number of bins in the shape histogram

Definition at line 89 of file shot.h.


Member Function Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
void pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::computeFeatureEigen ( pcl::PointCloud< Eigen::MatrixXf > &  ) [inline, protected, virtual]

Make the computeFeature (&Eigen::MatrixXf); inaccessible from outside the class.

Parameters:
[out]outputthe output point cloud

Implements pcl::Feature< PointInT, PointOutT >.

Reimplemented in pcl::SHOTColorEstimation< PointInT, PointNT, Eigen::MatrixXf, PointRFT >, and pcl::SHOTEstimation< PointInT, PointNT, Eigen::MatrixXf, PointRFT >.

Definition at line 185 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
virtual void pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT ( const int  index,
const std::vector< int > &  indices,
const std::vector< float > &  sqr_dists,
Eigen::VectorXf &  shot 
) [pure virtual]

Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.

Parameters:
[in]indexthe index of the point in indices_
[in]indicesthe k-neighborhood point indices in surface_
[in]sqr_diststhe k-neighborhood point distances in surface_
[out]shotthe resultant SHOT descriptor representing the feature at the query point

Implemented in pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >, pcl::SHOTColorEstimation< PointInT, PointNT, pcl::SHOT1344, PointRFT >, pcl::SHOTEstimation< PointInT, PointNT, PointOutT, PointRFT >, and pcl::SHOTEstimation< PointInT, PointNT, pcl::SHOT352, PointRFT >.

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::createBinDistanceShape ( int  index,
const std::vector< int > &  indices,
std::vector< double > &  bin_distance_shape 
) [protected]

Create a binned distance shape histogram.

Parameters:
[in]indexthe index of the point in indices_
[in]indicesthe k-neighborhood point indices in surface_
[in]sqr_diststhe k-neighborhood point distances in surface_
[out]bin_distance_shapethe resultant histogram

Definition at line 262 of file shot.hpp.

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
bool pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::initCompute ( ) [protected, virtual]

This method should get called before starting the actual computation.

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

Reimplemented in pcl::SHOTColorEstimationOMP< PointInT, PointNT, PointOutT, PointRFT >, and pcl::SHOTEstimationOMP< PointInT, PointNT, PointOutT, PointRFT >.

Definition at line 226 of file shot.hpp.

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::interpolateSingleChannel ( const std::vector< int > &  indices,
const std::vector< float > &  sqr_dists,
const int  index,
std::vector< double > &  binDistance,
const int  nr_bins,
Eigen::VectorXf &  shot 
) [protected]

Quadrilinear interpolation used when color and shape descriptions are NOT activated simultaneously.

Parameters:
[in]indicesthe neighborhood point indices
[in]sqr_diststhe neighborhood point distances
[in]indexthe index of the point in indices_
[out]binDistancethe resultant distance shape histogram
[in]nr_binsthe number of bins in the shape histogram
[out]shotthe resultant SHOT histogram

Definition at line 302 of file shot.hpp.

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::normalizeHistogram ( Eigen::VectorXf &  shot,
int  desc_length 
) [protected]

Normalize the SHOT histogram.

Parameters:
[in,out]shotthe SHOT histogram
[in]desc_lengththe length of the histogram

Definition at line 289 of file shot.hpp.


Member Data Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
int pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::descLength_ [protected]

One SHOT length.

Definition at line 179 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
const int pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::maxAngularSectors_ [protected]

...

Definition at line 176 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
const int pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_grid_sector_ [protected]

Number of azimuthal sectors.

Definition at line 173 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
int pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_shape_bins_ [protected]

The number of bins in each shape histogram.

Definition at line 155 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
double pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_2_ [protected]

1/2 of the search radius.

Definition at line 170 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
double pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_4_ [protected]

1/4 of the search radius.

Definition at line 167 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
double pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius3_4_ [protected]

3/4 of the search radius.

Definition at line 164 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
Eigen::VectorXf pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::shot_ [protected]

Placeholder for a point's SHOT.

Definition at line 158 of file shot.h.

template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
double pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::sqradius_ [protected]

The squared search radius.

Definition at line 161 of file shot.h.


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


pcl
Author(s): Open Perception
autogenerated on Mon Oct 6 2014 03:20:11