Modality based on surface normals. More...
#include <surface_normal_modality.h>
Classes | |
struct | Candidate |
Candidate for a feature (used in feature extraction methods). More... | |
Public Types | |
typedef pcl::PointCloud< PointInT > | PointCloudIn |
Public Member Functions | |
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. | |
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. | |
LINEMOD_OrientationMap & | getOrientationMap () |
Returns a reference to the orientation map. | |
QuantizedMap & | getQuantizedMap () |
Returns a reference to the internal quantized map. | |
QuantizedMap & | getSpreadedQuantizedMap () |
Returns a reference to the internal spreaded quantized map. | |
pcl::PointCloud< pcl::Normal > & | getSurfaceNormals () |
Returns the surface normals. | |
const pcl::PointCloud < pcl::Normal > & | getSurfaceNormals () const |
Returns the surface normals. | |
virtual void | processInputData () |
Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading). | |
virtual void | processInputDataFromFiltered () |
Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed). | |
virtual void | setInputCloud (const typename PointCloudIn::ConstPtr &cloud) |
Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method) | |
void | setSpreadingSize (const size_t spreading_size) |
Sets the spreading size. | |
void | setVariableFeatureNr (const bool enabled) |
Enables/disables the use of extracting a variable number of features. | |
SurfaceNormalModality () | |
Constructor. | |
virtual | ~SurfaceNormalModality () |
Destructor. | |
Protected Member Functions | |
void | computeAndQuantizeSurfaceNormals () |
Computes and quantizes the surface normals. | |
void | computeAndQuantizeSurfaceNormals2 () |
Computes and quantizes the surface normals. | |
void | computeDistanceMap (const MaskMap &input, DistanceMap &output) const |
Computes a distance map from the supplied input mask. | |
void | computeSurfaceNormals () |
Computes the surface normals from the input cloud. | |
void | filterQuantizedSurfaceNormals () |
Filters the quantized surface normals. | |
void | quantizeSurfaceNormals () |
Quantizes the surface normals. | |
Private Attributes | |
float | feature_distance_threshold_ |
The feature distance threshold. | |
pcl::QuantizedMap | filtered_quantized_surface_normals_ |
Filtered quantized surface normals. | |
float | min_distance_to_border_ |
Minimum distance of a feature to a border. | |
QuantizedNormalLookUpTable | normal_lookup_ |
Look-up-table for quantizing surface normals. | |
pcl::QuantizedMap | quantized_surface_normals_ |
Quantized surface normals. | |
pcl::QuantizedMap | spreaded_quantized_surface_normals_ |
Spreaded quantized surface normals. | |
size_t | spreading_size_ |
The spreading size. | |
pcl::LINEMOD_OrientationMap | surface_normal_orientations_ |
Map containing surface normal orientations. | |
pcl::PointCloud< pcl::Normal > | surface_normals_ |
Point cloud holding the computed surface normals. | |
bool | variable_feature_nr_ |
Determines whether variable numbers of features are extracted or not. |
Modality based on surface normals.
Definition at line 294 of file surface_normal_modality.h.
typedef pcl::PointCloud<PointInT> pcl::SurfaceNormalModality< PointInT >::PointCloudIn |
Definition at line 329 of file surface_normal_modality.h.
pcl::SurfaceNormalModality< PointInT >::SurfaceNormalModality | ( | ) |
Constructor.
Definition at line 492 of file surface_normal_modality.h.
pcl::SurfaceNormalModality< PointInT >::~SurfaceNormalModality | ( | ) | [virtual] |
Destructor.
Definition at line 508 of file surface_normal_modality.h.
void pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals | ( | ) | [protected] |
Computes and quantizes the surface normals.
Definition at line 558 of file surface_normal_modality.h.
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."
[in] | src | The source 16-bit depth image (in mm). |
[out] | dst | The destination 8-bit image. Each bit represents one bin of the view cone. |
distance_threshold | Ignore pixels beyond this distance. | |
difference_threshold | When 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.
void pcl::SurfaceNormalModality< PointInT >::computeDistanceMap | ( | const MaskMap & | input, |
DistanceMap & | output | ||
) | const [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 1586 of file surface_normal_modality.h.
void pcl::SurfaceNormalModality< PointInT >::computeSurfaceNormals | ( | ) | [protected] |
Computes the surface normals from the input cloud.
Definition at line 545 of file surface_normal_modality.h.
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.
[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 1244 of file surface_normal_modality.h.
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.
[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 972 of file surface_normal_modality.h.
void pcl::SurfaceNormalModality< PointInT >::filterQuantizedSurfaceNormals | ( | ) | [protected] |
Filters the quantized surface normals.
Definition at line 1414 of file surface_normal_modality.h.
LINEMOD_OrientationMap& pcl::SurfaceNormalModality< PointInT >::getOrientationMap | ( | ) | [inline] |
Returns a reference to the orientation map.
Definition at line 384 of file surface_normal_modality.h.
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.
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.
pcl::PointCloud<pcl::Normal>& pcl::SurfaceNormalModality< PointInT >::getSurfaceNormals | ( | ) | [inline] |
Returns the surface normals.
Definition at line 356 of file surface_normal_modality.h.
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.
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.
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.
void pcl::SurfaceNormalModality< PointInT >::quantizeSurfaceNormals | ( | ) | [protected] |
Quantizes the surface normals.
Definition at line 1373 of file surface_normal_modality.h.
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)
[in] | cloud | the const boost shared pointer to a PointCloud message |
Definition at line 414 of file surface_normal_modality.h.
void pcl::SurfaceNormalModality< PointInT >::setSpreadingSize | ( | const size_t | spreading_size | ) | [inline] |
Sets the spreading size.
[in] | spreading_size | the spreading size. |
Definition at line 340 of file surface_normal_modality.h.
void pcl::SurfaceNormalModality< PointInT >::setVariableFeatureNr | ( | const bool | enabled | ) | [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 349 of file surface_normal_modality.h.
float pcl::SurfaceNormalModality< PointInT >::feature_distance_threshold_ [private] |
The feature distance threshold.
Definition at line 463 of file surface_normal_modality.h.
pcl::QuantizedMap pcl::SurfaceNormalModality< PointInT >::filtered_quantized_surface_normals_ [private] |
Filtered quantized surface normals.
Definition at line 478 of file surface_normal_modality.h.
float pcl::SurfaceNormalModality< PointInT >::min_distance_to_border_ [private] |
Minimum distance of a feature to a border.
Definition at line 465 of file surface_normal_modality.h.
QuantizedNormalLookUpTable pcl::SurfaceNormalModality< PointInT >::normal_lookup_ [private] |
Look-up-table for quantizing surface normals.
Definition at line 468 of file surface_normal_modality.h.
pcl::QuantizedMap pcl::SurfaceNormalModality< PointInT >::quantized_surface_normals_ [private] |
Quantized surface normals.
Definition at line 476 of file surface_normal_modality.h.
pcl::QuantizedMap pcl::SurfaceNormalModality< PointInT >::spreaded_quantized_surface_normals_ [private] |
Spreaded quantized surface normals.
Definition at line 480 of file surface_normal_modality.h.
size_t pcl::SurfaceNormalModality< PointInT >::spreading_size_ [private] |
The spreading size.
Definition at line 471 of file surface_normal_modality.h.
pcl::LINEMOD_OrientationMap pcl::SurfaceNormalModality< PointInT >::surface_normal_orientations_ [private] |
Map containing surface normal orientations.
Definition at line 483 of file surface_normal_modality.h.
pcl::PointCloud<pcl::Normal> pcl::SurfaceNormalModality< PointInT >::surface_normals_ [private] |
Point cloud holding the computed surface normals.
Definition at line 474 of file surface_normal_modality.h.
bool pcl::SurfaceNormalModality< PointInT >::variable_feature_nr_ [private] |
Determines whether variable numbers of features are extracted or not.
Definition at line 460 of file surface_normal_modality.h.