|
Point Cloud Library (PCL)
1.15.1-dev
|
Modality based on surface normals. More...
#include <pcl/recognition/surface_normal_modality.h>
Inheritance diagram for pcl::SurfaceNormalModality< PointInT >:
Collaboration diagram for pcl::SurfaceNormalModality< PointInT >:Classes | |
| struct | Candidate |
| Candidate for a feature (used in feature extraction methods). More... | |
Public Types | |
| using | PointCloudIn = pcl::PointCloud< PointInT > |
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 | |
| SurfaceNormalModality () | |
| Constructor. More... | |
| ~SurfaceNormalModality () override | |
| Destructor. More... | |
| void | setSpreadingSize (const std::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 () override |
| Returns a reference to the internal quantized map. More... | |
| QuantizedMap & | getSpreadedQuantizedMap () override |
| Returns a reference to the internal spread quantized map. More... | |
| LINEMOD_OrientationMap & | getOrientationMap () |
| Returns a reference to the orientation map. More... | |
| void | extractFeatures (const MaskMap &mask, std::size_t nr_features, std::size_t modality_index, std::vector< QuantizedMultiModFeature > &features) const override |
| Extracts features from this modality within the specified mask. More... | |
| void | extractAllFeatures (const MaskMap &mask, std::size_t nr_features, std::size_t modality_index, std::vector< QuantizedMultiModFeature > &features) const override |
| Extracts all possible features from the modality within the specified mask. More... | |
| void | setInputCloud (const typename PointCloudIn::ConstPtr &cloud) override |
| 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 ()=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 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... | |
Modality based on surface normals.
Definition at line 296 of file surface_normal_modality.h.
| using pcl::SurfaceNormalModality< PointInT >::PointCloudIn = pcl::PointCloud<PointInT> |
Definition at line 331 of file surface_normal_modality.h.
|
default |
Constructor.
|
overridedefault |
Destructor.
|
protected |
Computes and quantizes the surface normals.
Definition at line 546 of file surface_normal_modality.h.
|
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 713 of file surface_normal_modality.h.
|
protected |
Computes a distance map from the supplied input mask.
| [in] | input | the mask for which a distance map will be computed. |
| [out] | output | the destination for the distance map. |
Definition at line 1565 of file surface_normal_modality.h.
References pcl::DistanceMap::getData(), pcl::MaskMap::getData(), pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), and pcl::DistanceMap::resize().
|
protected |
Computes the surface normals from the input cloud.
Definition at line 533 of file surface_normal_modality.h.
References pcl::Feature< PointInT, PointOutT >::compute(), pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setDepthDependentSmoothing(), pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setMaxDepthChangeFactor(), and pcl::LinearLeastSquaresNormalEstimation< PointInT, PointOutT >::setNormalSmoothingSize().
|
overridevirtual |
Extracts all possible features from the modality within the specified mask.
| [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 1223 of file surface_normal_modality.h.
References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, pcl::geometry::distance(), pcl::SurfaceNormalModality< PointInT >::Candidate::distance, pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::MaskMap::resize(), pcl::QuantizedMultiModFeature::x, pcl::SurfaceNormalModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::y, and pcl::SurfaceNormalModality< PointInT >::Candidate::y.
|
overridevirtual |
Extracts features from this modality within the specified mask.
| [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 952 of file surface_normal_modality.h.
References pcl::SurfaceNormalModality< PointInT >::Candidate::bin_index, pcl::geometry::distance(), pcl::SurfaceNormalModality< PointInT >::Candidate::distance, pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::MaskMap::resize(), pcl::QuantizedMultiModFeature::x, pcl::SurfaceNormalModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::y, and pcl::SurfaceNormalModality< PointInT >::Candidate::y.
|
protected |
Filters the quantized surface normals.
Definition at line 1393 of file surface_normal_modality.h.
|
inline |
Returns a reference to the orientation map.
Definition at line 386 of file surface_normal_modality.h.
|
inlineoverridevirtual |
Returns a reference to the internal quantized map.
Implements pcl::QuantizableModality.
Definition at line 372 of file surface_normal_modality.h.
|
inlineoverridevirtual |
Returns a reference to the internal spread quantized map.
Implements pcl::QuantizableModality.
Definition at line 379 of file surface_normal_modality.h.
|
inline |
Returns the surface normals.
Definition at line 358 of file surface_normal_modality.h.
|
inline |
Returns the surface normals.
Definition at line 365 of file surface_normal_modality.h.
|
virtual |
Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading).
Definition at line 502 of file surface_normal_modality.h.
References pcl::QuantizedMap::spreadQuantizedMap().
|
virtual |
Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed).
Definition at line 523 of file surface_normal_modality.h.
References pcl::QuantizedMap::spreadQuantizedMap().
|
protected |
Quantizes the surface normals.
Definition at line 1351 of file surface_normal_modality.h.
|
inlineoverride |
Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method)
| [in] | cloud | the const boost shared pointer to a PointCloud message |
Definition at line 416 of file surface_normal_modality.h.
References pcl::PCLBase< PointInT >::input_.
|
inline |
Sets the spreading size.
| [in] | spreading_size | the spreading size. |
Definition at line 342 of file surface_normal_modality.h.
|
inline |
Enables/disables the use of extracting a variable number of features.
| [in] | enabled | specifies whether extraction of a variable number of features will be enabled/disabled. |
Definition at line 351 of file surface_normal_modality.h.