pcl::SurfaceNormalModality< PointInT > Class Template Reference

Modality based on surface normals. More...

`#include <pcl/recognition/surface_normal_modality.h>`

Inheritance diagram for pcl::SurfaceNormalModality< PointInT >:

## Classes

struct | Candidate
| Candidate for a feature (used in feature extraction methods). More...

## Public Types

typedef pcl::PointCloud< PointInT > | PointCloudIn
Public Types inherited from pcl::PCLBase< PointInT >
typedef pcl::PointCloud< PointInT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr

## Public Member Functions

| SurfaceNormalModality ()
| Constructor. More...
virtual | ~SurfaceNormalModality ()
| Destructor. More...
void | setSpreadingSize (const size_t spreading_size)
| Sets the spreading size. More...
void | setVariableFeatureNr (const bool enabled)
| Enables/disables the use of extracting a variable number of features. More...
pcl::PointCloud< pcl::Normal > & | getSurfaceNormals ()
| Returns the surface normals. More...
const pcl::PointCloud< pcl::Normal > & | getSurfaceNormals () const
| Returns the surface normals. More...
QuantizedMap & | getQuantizedMap ()
| Returns a reference to the internal quantized map. More...
QuantizedMap & | getSpreadedQuantizedMap ()
| Returns a reference to the internal spreaded quantized map. More...
LINEMOD_OrientationMap & | getOrientationMap ()
| Returns a reference to the orientation map. More...
void | extractFeatures (const MaskMap &mask, size_t nr_features, size_t modality_index, std::vector< QuantizedMultiModFeature > &features) const
| Extracts features from this modality within the specified mask. More...
void | extractAllFeatures (const MaskMap &mask, size_t nr_features, size_t modality_index, std::vector< QuantizedMultiModFeature > &features) const
| Extracts all possible features from the modality within the specified mask. More...
virtual void | setInputCloud (const typename PointCloudIn::ConstPtr &cloud)
| Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method) More...
virtual void | processInputData ()
| Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading). More...
virtual void | processInputDataFromFiltered ()
| Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed). More...
Public Member Functions inherited from pcl::QuantizableModality
| QuantizableModality ()
| Constructor. More...
virtual | ~QuantizableModality ()
| Destructor. More...
Public Member Functions inherited from pcl::PCLBase< PointInT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()
| 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 (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr const | 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[] (size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Member Functions

void | computeSurfaceNormals ()
| Computes the surface normals from the input cloud. More...
void | computeAndQuantizeSurfaceNormals ()
| Computes and quantizes the surface normals. More...
void | computeAndQuantizeSurfaceNormals2 ()
| Computes and quantizes the surface normals. More...
void | quantizeSurfaceNormals ()
| Quantizes the surface normals. More...
void | filterQuantizedSurfaceNormals ()
| Filters the quantized surface normals. More...
void | computeDistanceMap (const MaskMap &input, DistanceMap &output) const
| Computes a distance map from the supplied input mask. 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::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>
class pcl::SurfaceNormalModality< PointInT >

Modality based on surface normals.

Author
  Stefan Holzer

Definition at line 294 of file surface_normal_modality.h.

## Member Typedef Documentation

template<typename PointInT>

typedef pcl::PointCloud<PointInT> pcl::SurfaceNormalModality< PointInT >::PointCloudIn

Definition at line 329 of file surface_normal_modality.h.

## Constructor & Destructor Documentation

template<typename PointInT >

pcl::SurfaceNormalModality< PointInT >::SurfaceNormalModality | ( |  | ) |

Constructor.

Definition at line 492 of file surface_normal_modality.h.

Referenced by pcl::SurfaceNormalModality< PointXYZT >::setInputCloud().

template<typename PointInT >

pcl::SurfaceNormalModality< PointInT >::~SurfaceNormalModality | ( |  | ) |

virtual

Destructor.

Definition at line 508 of file surface_normal_modality.h.

## Member Function Documentation

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals | ( |  | ) |

protected

Computes and quantizes the surface normals.

Definition at line 558 of file surface_normal_modality.h.

References pcl::PointCloud< PointT >::height, pcl::PCLBase< PointInT >::input_, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::QuantizedMap::resize(), pcl::PointCloud< PointT >::resize(), and pcl::PointCloud< PointT >::width.

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals2 | ( |  | ) |

protected

Computes and quantizes the surface normals.

Compute quantized normal image from depth image.

Implements section 2.6 "Extension to Dense Depth Sensors."

Definition at line 724 of file surface_normal_modality.h.

References pcl::PCLBase< PointInT >::input_, pcl::LINEMOD_OrientationMap::resize(), and pcl::QuantizedMap::resize().

Referenced by pcl::SurfaceNormalModality< PointInT >::processInputData().

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::computeDistanceMap | ( | const MaskMap & | input,
|  | DistanceMap & | output
| ) |  | const

protected

Computes a distance map from the supplied input mask.

Parameters

  [in] | input | the mask for which a distance map will be computed.
  [out] | output | the destination for the distance map.

Definition at line 1579 of file surface_normal_modality.h.

References pcl::MaskMap::getData(), pcl::DistanceMap::getData(), pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), and pcl::DistanceMap::resize().

Referenced by pcl::SurfaceNormalModality< PointInT >::extractAllFeatures(), and pcl::SurfaceNormalModality< PointInT >::extractFeatures().

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::computeSurfaceNormals | ( |  | ) |

protected

Computes the surface normals from the input cloud.

Definition at line 545 of file surface_normal_modality.h.

References pcl::Feature< PointInT, PointOutT >::compute(), pcl::PCLBase< PointInT >::input_, pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setDepthDependentSmoothing(), pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setMaxDepthChangeFactor(), and pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setNormalSmoothingSize().

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::extractAllFeatures | ( | const MaskMap & | mask,
|  | size_t | nr_features,
|  | size_t | modality_index,
|  | std::vector< QuantizedMultiModFeature > & | features
| ) |  | const

virtual

Extracts all possible features from the modality within the specified mask.

Parameters

  [in] | mask | defines the areas where features are searched in.
  [in] | nr_features | IGNORED (TODO: remove this parameter).
  [in] | modality_index | the index which is stored in the extracted features.
  [out] | features | the destination for the extracted features.

Implements pcl::QuantizableModality.

Definition at line 1237 of file surface_normal_modality.h.

References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, pcl::SurfaceNormalModality< PointInT >::computeDistanceMap(), pcl::SurfaceNormalModality< PointInT >::Candidate::distance, pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::QuantizedMultiModFeature::x, pcl::SurfaceNormalModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::y, and pcl::SurfaceNormalModality< PointInT >::Candidate::y.

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::extractFeatures | ( | const MaskMap & | mask,
|  | size_t | nr_features,
|  | size_t | modality_index,
|  | std::vector< QuantizedMultiModFeature > & | features
| ) |  | const

virtual

Extracts features from this modality within the specified mask.

Parameters

  [in] | mask | defines the areas where features are searched in.
  [in] | nr_features | defines the number of features to be extracted (might be less if not sufficient information is present in the modality).
  [in] | modality_index | the index which is stored in the extracted features.
  [out] | features | the destination for the extracted features.

Implements pcl::QuantizableModality.

Definition at line 965 of file surface_normal_modality.h.

References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, pcl::SurfaceNormalModality< PointInT >::computeDistanceMap(), pcl::SurfaceNormalModality< PointInT >::Candidate::distance, pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::QuantizedMultiModFeature::x, pcl::SurfaceNormalModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::y, and pcl::SurfaceNormalModality< PointInT >::Candidate::y.

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::filterQuantizedSurfaceNormals | ( |  | ) |

protected

Filters the quantized surface normals.

Definition at line 1407 of file surface_normal_modality.h.

References pcl::QuantizedMap::getData(), pcl::PCLBase< PointInT >::input_, and pcl::QuantizedMap::resize().

Referenced by pcl::SurfaceNormalModality< PointInT >::processInputData().

template<typename PointInT>

LINEMOD_OrientationMap& pcl::SurfaceNormalModality< PointInT >::getOrientationMap | ( |  | ) |

inline

Returns a reference to the orientation map.

Definition at line 384 of file surface_normal_modality.h.

template<typename PointInT>

QuantizedMap& pcl::SurfaceNormalModality< PointInT >::getQuantizedMap | ( |  | ) |

inline virtual

Returns a reference to the internal quantized map.

Implements pcl::QuantizableModality.

Definition at line 370 of file surface_normal_modality.h.

template<typename PointInT>

QuantizedMap& pcl::SurfaceNormalModality< PointInT >::getSpreadedQuantizedMap | ( |  | ) |

inline virtual

Returns a reference to the internal spreaded quantized map.

Implements pcl::QuantizableModality.

Definition at line 377 of file surface_normal_modality.h.

template<typename PointInT>

pcl::PointCloud<pcl::Normal>& pcl::SurfaceNormalModality< PointInT >::getSurfaceNormals | ( |  | ) |

inline

Returns the surface normals.

Definition at line 356 of file surface_normal_modality.h.

template<typename PointInT>

const pcl::PointCloud<pcl::Normal>& pcl::SurfaceNormalModality< PointInT >::getSurfaceNormals | ( |  | ) | const

inline

Returns the surface normals.

Definition at line 363 of file surface_normal_modality.h.

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::processInputData | ( |  | ) |

virtual

Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading).

Definition at line 514 of file surface_normal_modality.h.

References pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals2(), pcl::SurfaceNormalModality< PointInT >::filterQuantizedSurfaceNormals(), and pcl::QuantizedMap::spreadQuantizedMap().

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::processInputDataFromFiltered | ( |  | ) |

virtual

Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed).

Definition at line 535 of file surface_normal_modality.h.

References pcl::QuantizedMap::spreadQuantizedMap().

template<typename PointInT >

void pcl::SurfaceNormalModality< PointInT >::quantizeSurfaceNormals | ( |  | ) |

protected

Quantizes the surface normals.

Definition at line 1366 of file surface_normal_modality.h.

References pcl::PCLBase< PointInT >::input_, and pcl::QuantizedMap::resize().

template<typename PointInT>

virtual void pcl::SurfaceNormalModality< PointInT >::setInputCloud | ( | const typename PointCloudIn::ConstPtr & | cloud | ) |

inline virtual

Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method)

Parameters

  [in] | cloud | the const boost shared pointer to a PointCloud message

Definition at line 414 of file surface_normal_modality.h.

template<typename PointInT>

void pcl::SurfaceNormalModality< PointInT >::setSpreadingSize | ( | const size_t | spreading_size | ) |

inline

Sets the spreading size.

Parameters

  [in] | spreading_size | the spreading size.

Definition at line 340 of file surface_normal_modality.h.

template<typename PointInT>

void pcl::SurfaceNormalModality< PointInT >::setVariableFeatureNr | ( | const bool | enabled | ) |

inline

Enables/disables the use of extracting a variable number of features.

Parameters

  [in] | enabled | specifies whether extraction of a variable number of features will be enabled/disabled.

Definition at line 349 of file surface_normal_modality.h.

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

- /build/pcl-6_P28C/pcl-1.7.2/recognition/include/pcl/recognition/surface_normal_modality.h