Point Cloud Library (PCL)  1.7.1
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions
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...
 
QuantizedMapgetQuantizedMap ()
 Returns a reference to the internal quantized map. More...
 
QuantizedMapgetSpreadedQuantizedMap ()
 Returns a reference to the internal spreaded quantized map. More...
 
LINEMOD_OrientationMapgetOrientationMap ()
 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 ()
 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...
 
const PointInT & operator[] (size_t pos)
 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.

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.

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."

Parameters
[in]srcThe source 16-bit depth image (in mm).
[out]dstThe destination 8-bit image. Each bit represents one bin of the view cone.
distance_thresholdIgnore pixels beyond this distance.
difference_thresholdWhen computing normals, ignore contributions of pixels whose depth difference with the central pixel is above this threshold.

Definition at line 731 of file surface_normal_modality.h.

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]inputthe mask for which a distance map will be computed.
[out]outputthe destination for the distance map.

Definition at line 1586 of file surface_normal_modality.h.

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

template<typename PointInT >
void pcl::SurfaceNormalModality< PointInT >::computeSurfaceNormals ( )
protected
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]maskdefines the areas where features are searched in.
[in]nr_featuresIGNORED (TODO: remove this parameter).
[in]modality_indexthe index which is stored in the extracted features.
[out]featuresthe destination for the extracted features.

Implements pcl::QuantizableModality.

Definition at line 1244 of file surface_normal_modality.h.

References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, 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]maskdefines the areas where features are searched in.
[in]nr_featuresdefines the number of features to be extracted (might be less if not sufficient information is present in the modality).
[in]modality_indexthe index which is stored in the extracted features.
[out]featuresthe destination for the extracted features.

Implements pcl::QuantizableModality.

Definition at line 972 of file surface_normal_modality.h.

References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, 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 1414 of file surface_normal_modality.h.

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 ( )
inlinevirtual

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 ( )
inlinevirtual

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::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 1373 of file surface_normal_modality.h.

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

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

Parameters
[in]cloudthe 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_sizethe 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]enabledspecifies 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: