pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT > Class Template Reference
Module features

SHOTLocalReferenceFrameEstimation estimates the Local Reference Frame used in the calculation of the (SHOT) descriptor. More...

`#include <pcl/features/shot_lrf.h>`

Inheritance diagram for pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >:

## Public Types

using | Ptr = shared_ptr< SHOTLocalReferenceFrameEstimation< PointInT, PointOutT > >
using | ConstPtr = shared_ptr< const SHOTLocalReferenceFrameEstimation< PointInT, PointOutT > >
Public Types inherited from pcl::Feature< PointInT, ReferenceFrame >
using | BaseClass = PCLBase< PointInT >
using | Ptr = shared_ptr< Feature< PointInT, ReferenceFrame > >
using | ConstPtr = shared_ptr< const Feature< PointInT, ReferenceFrame > >
using | KdTree = pcl::search::Search< PointInT >
using | KdTreePtr = typename KdTree::Ptr
using | PointCloudIn = pcl::PointCloud< PointInT >
using | PointCloudInPtr = typename PointCloudIn::Ptr
using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using | PointCloudOut = pcl::PointCloud< ReferenceFrame >
using | SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)>
using | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)>
Public Types inherited from pcl::PCLBase< PointInT >
using | PointCloud = pcl::PointCloud< PointInT >
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
using | PointIndicesPtr = PointIndices::Ptr
using | PointIndicesConstPtr = PointIndices::ConstPtr

## Public Member Functions

| SHOTLocalReferenceFrameEstimation ()
| Constructor. More...
| ~SHOTLocalReferenceFrameEstimation ()
| Empty destructor. More...
Public Member Functions inherited from pcl::Feature< PointInT, ReferenceFrame >
| Feature ()
| Empty constructor. More...
virtual | ~Feature ()
| Empty destructor. More...
void | setSearchSurface (const PointCloudInConstPtr &cloud)
| Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. More...
PointCloudInConstPtr | getSearchSurface () const
| Get a pointer to the surface point cloud dataset. More...
void | setSearchMethod (const KdTreePtr &tree)
| Provide a pointer to the search object. More...
KdTreePtr | getSearchMethod () const
| Get a pointer to the search method used. More...
double | getSearchParameter () const
| Get the internal search parameter. More...
void | setKSearch (int k)
| Set the number of k nearest neighbors to use for the feature estimation. More...
int | getKSearch () const
| get the number of k nearest neighbors used for the feature estimation. More...
void | setRadiusSearch (double radius)
| Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. More...
double | getRadiusSearch () const
| Get the sphere radius used for determining the neighbors. More...
void | compute (PointCloudOut &output)
| Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () More...
Public Member Functions inherited from pcl::PCLBase< PointInT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()=default
| Destructor. More...
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset. More...
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used. More...
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used. More...
const PointInT & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Types

using | PointCloudIn = typename Feature< PointInT, PointOutT >::PointCloudIn
using | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut

## Protected Member Functions

float | getLocalRF (const int &index, Eigen::Matrix3f &rf)
| Computes disambiguated local RF for a point index. More...
void | computeFeature (PointCloudOut &output) override
| Feature estimation method. More...
Protected Member Functions inherited from pcl::Feature< PointInT, ReferenceFrame >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
virtual bool | initCompute ()
| This method should get called before starting the actual computation. More...
virtual bool | deinitCompute ()
| This method should get called after ending the actual computation. More...
int | searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
int | searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
Protected Member Functions inherited from pcl::PCLBase< PointInT >
bool | initCompute ()
| This method should get called before starting the actual computation. More...
bool | deinitCompute ()
| This method should get called after finishing the actual computation. More...

## Additional Inherited Members

Protected Attributes inherited from pcl::Feature< PointInT, ReferenceFrame >
std::string | feature_name_
| The feature name. More...
SearchMethodSurface | search_method_surface_
| The search method template for points. More...
PointCloudInConstPtr | surface_
| An input point cloud describing the surface that is to be used for nearest neighbors estimation. More...
KdTreePtr | tree_
| A pointer to the spatial search object. More...
double | search_parameter_
| The actual search parameter (from either search_radius_ or k_). More...
double | search_radius_
| The nearest neighbors search radius for each point. More...
int | k_
| The number of K nearest neighbors to use for each point. More...
bool | fake_surface_
| If no surface is given, we use the input PointCloud as the surface. More...
Protected Attributes inherited from pcl::PCLBase< PointInT >
PointCloudConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

## Detailed Description

### template<typename PointInT, typename PointOutT = ReferenceFrame>
class pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >

SHOTLocalReferenceFrameEstimation estimates the Local Reference Frame used in the calculation of the (SHOT) descriptor.

Note
  If you use this code in any academic work, please cite:

- F. Tombari, S. Salti, L. Di Stefano Unique Signatures of Histograms for Local Surface Description. In Proceedings of the 11th European Conference on Computer Vision (ECCV), Heraklion, Greece, September 5-11 2010.
- F. Tombari, S. Salti, L. Di Stefano A Combined Texture-Shape Descriptor For Enhanced 3D Feature Matching. In Proceedings of the 18th International Conference on Image Processing (ICIP), Brussels, Belgium, September 11-14 2011.

Author
  Samuele Salti, Federico Tombari

Definition at line 65 of file shot_lrf.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointInT , typename PointOutT = ReferenceFrame>

using pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::ConstPtr = shared_ptr<const SHOTLocalReferenceFrameEstimation<PointInT, PointOutT> >

Definition at line 69 of file shot_lrf.h.

## PointCloudIn

template<typename PointInT , typename PointOutT = ReferenceFrame>

using pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn

protected

Definition at line 89 of file shot_lrf.h.

## PointCloudOut

template<typename PointInT , typename PointOutT = ReferenceFrame>

using pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

protected

Definition at line 90 of file shot_lrf.h.

## Ptr

template<typename PointInT , typename PointOutT = ReferenceFrame>

using pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::Ptr = shared_ptr<SHOTLocalReferenceFrameEstimation<PointInT, PointOutT> >

Definition at line 68 of file shot_lrf.h.

## Constructor & Destructor Documentation

## SHOTLocalReferenceFrameEstimation()

template<typename PointInT , typename PointOutT = ReferenceFrame>

pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::SHOTLocalReferenceFrameEstimation | ( |  | ) |

inline

Constructor.

Definition at line 71 of file shot_lrf.h.

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

## ~SHOTLocalReferenceFrameEstimation()

template<typename PointInT , typename PointOutT = ReferenceFrame>

pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::~SHOTLocalReferenceFrameEstimation | ( |  | ) |

inline

Empty destructor.

Definition at line 77 of file shot_lrf.h.

## Member Function Documentation

## computeFeature()

template<typename PointInT , typename PointOutT >

void pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::computeFeature | ( | PointCloudOut & | output | ) |

override protected

Feature estimation method.

Parameters

  [out] | output | the resultant features

Definition at line 170 of file shot_lrf.hpp.

## getLocalRF()

template<typename PointInT , typename PointOutT >

float pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::getLocalRF | ( | const int & | index,
|  | Eigen::Matrix3f & | rf
| ) |  |

protected

Computes disambiguated local RF for a point index.

Parameters

  [in] | index | the index
  [out] | rf | reference frame to compute

Definition at line 50 of file shot_lrf.hpp.

References pcl::geometry::distance().

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

- pcl/features/shot_lrf.h
- pcl/features/impl/shot_lrf.hpp