Loading...
Searching...
No Matches
pcl::MultiscaleFeaturePersistence< PointSource, PointFeature > Class Template Reference

Generic class for extracting the persistent features from an input point cloud It can be given any Feature estimator instance and will compute the features of the input over a multiscale representation of the cloud and output the unique ones over those scales. More...

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

Inheritance diagram for pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >:

## Public Types

using | Ptr = shared_ptr<MultiscaleFeaturePersistence<PointSource, PointFeature> >
using | ConstPtr = shared_ptr<const MultiscaleFeaturePersistence<PointSource, PointFeature> >
using | FeatureCloud = pcl::PointCloud<PointFeature>
using | FeatureCloudPtr = typename pcl::PointCloud<PointFeature>::Ptr
using | FeatureEstimatorPtr = typename pcl::Feature<PointSource, PointFeature>::Ptr
using | FeatureRepresentationConstPtr = typename pcl::PointRepresentation<PointFeature>::ConstPtr
Public Types inherited from pcl::PCLBase< PointSource >
using | PointCloud
using | PointCloudPtr
using | PointCloudConstPtr
using | PointIndicesPtr
using | PointIndicesConstPtr

## Public Member Functions

| MultiscaleFeaturePersistence ()
| Empty constructor.
| ~MultiscaleFeaturePersistence () override=default
| Empty destructor.
void | computeFeaturesAtAllScales ()
| Method that calls computeFeatureAtScale () for each scale parameter.
void | determinePersistentFeatures (FeatureCloud &output_features, pcl::IndicesPtr &output_indices)
| Central function that computes the persistent features.
void | setScalesVector (std::vector< float > &scale_values)
| Method for setting the scale parameters for the algorithm.
std::vector< float > | getScalesVector ()
| Method for getting the scale parameters vector.
void | setFeatureEstimator (FeatureEstimatorPtr feature_estimator)
| Setter method for the feature estimator.
FeatureEstimatorPtr | getFeatureEstimator ()
| Getter method for the feature estimator.
void | setPointRepresentation (const FeatureRepresentationConstPtr &feature_representation)
| Provide a pointer to the feature representation to use to convert features to k-D vectors.
FeatureRepresentationConstPtr const | getPointRepresentation ()
| Get a pointer to the feature representation used when converting features into k-D vectors.
void | setAlpha (float alpha)
| Sets the alpha parameter.
float | getAlpha ()
| Get the value of the alpha parameter.
void | setDistanceMetric (NormType distance_metric)
| Method for setting the distance metric that will be used for computing the difference between feature vectors.
NormType | getDistanceMetric ()
| Returns the distance metric that is currently used to calculate the difference between feature vectors.
Public Member Functions inherited from pcl::PCLBase< PointSource >
| PCLBase ()
| Empty constructor.
virtual | ~PCLBase ()=default
| Destructor.
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset.
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset.
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used.
const PointSource & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code.

## Additional Inherited Members

Protected Member Functions inherited from pcl::PCLBase< PointSource >
bool | initCompute ()
| This method should get called before starting the actual computation.
bool | deinitCompute ()
| This method should get called after finishing the actual computation.
Protected Attributes inherited from pcl::PCLBase< PointSource >
PointCloudConstPtr | input_
| The input point cloud dataset.
IndicesPtr | indices_
| A pointer to the vector of point indices to use.
bool | use_indices_
| Set to true if point indices are used.
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud.

## Detailed Description

template<typename PointSource, typename PointFeature>
class pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >

Generic class for extracting the persistent features from an input point cloud It can be given any Feature estimator instance and will compute the features of the input over a multiscale representation of the cloud and output the unique ones over those scales.

Please refer to the following publication for more details: Radu Bogdan Rusu, Zoltan Csaba Marton, Nico Blodow, and Michael Beetz Persistent Point Feature Histograms for 3D Point Clouds Proceedings of the 10th International Conference on Intelligent Autonomous Systems (IAS-10) 2008, Baden-Baden, Germany

Author
  Alexandru-Eugen Ichim

Definition at line 63 of file multiscale_feature_persistence.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::ConstPtr = shared_ptr<const MultiscaleFeaturePersistence<PointSource, PointFeature> >

Definition at line 67 of file multiscale_feature_persistence.h.

## FeatureCloud

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureCloud = pcl::PointCloud<PointFeature>

Definition at line 68 of file multiscale_feature_persistence.h.

## FeatureCloudPtr

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureCloudPtr = typename pcl::PointCloud<PointFeature>::Ptr

Definition at line 69 of file multiscale_feature_persistence.h.

## FeatureEstimatorPtr

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureEstimatorPtr = typename pcl::Feature<PointSource, PointFeature>::Ptr

Definition at line 70 of file multiscale_feature_persistence.h.

## FeatureRepresentationConstPtr

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureRepresentationConstPtr = typename pcl::PointRepresentation<PointFeature>::ConstPtr

Definition at line 71 of file multiscale_feature_persistence.h.

## Ptr

template<typename PointSource, typename PointFeature>

using pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::Ptr = shared_ptr<MultiscaleFeaturePersistence<PointSource, PointFeature> >

Definition at line 66 of file multiscale_feature_persistence.h.

## Constructor & Destructor Documentation

## MultiscaleFeaturePersistence()

template<typename PointSource, typename PointFeature>

pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::MultiscaleFeaturePersistence | ( |  | ) |

Empty constructor.

Definition at line 47 of file multiscale_feature_persistence.hpp.

References pcl::PCLBase< PointSource >::input_.

## ~MultiscaleFeaturePersistence()

template<typename PointSource, typename PointFeature>

pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::~MultiscaleFeaturePersistence | ( |  | ) |

override default

Empty destructor.

## Member Function Documentation

## computeFeaturesAtAllScales()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::computeFeaturesAtAllScales | ( |  | ) |

Method that calls computeFeatureAtScale () for each scale parameter.

Definition at line 87 of file multiscale_feature_persistence.hpp.

Referenced by determinePersistentFeatures().

## determinePersistentFeatures()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::determinePersistentFeatures | ( | FeatureCloud & | output_features,
|  | pcl::IndicesPtr & | output_indices )

Central function that computes the persistent features.

Parameters

  output_features | a cloud containing the persistent features
  output_indices | vector containing the indices of the points in the input cloud that have persistent features, under a one-to-one correspondence with the output_features cloud

Definition at line 209 of file multiscale_feature_persistence.hpp.

References computeFeaturesAtAllScales(), pcl::PointCloud< PointT >::emplace_back(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.

## getAlpha()

template<typename PointSource, typename PointFeature>

float pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getAlpha | ( |  | ) |

inline

Get the value of the alpha parameter.

Definition at line 134 of file multiscale_feature_persistence.h.

## getDistanceMetric()

template<typename PointSource, typename PointFeature>

NormType pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getDistanceMetric | ( |  | ) |

inline

Returns the distance metric that is currently used to calculate the difference between feature vectors.

Definition at line 144 of file multiscale_feature_persistence.h.

## getFeatureEstimator()

template<typename PointSource, typename PointFeature>

FeatureEstimatorPtr pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getFeatureEstimator | ( |  | ) |

inline

Getter method for the feature estimator.

Definition at line 114 of file multiscale_feature_persistence.h.

## getPointRepresentation()

template<typename PointSource, typename PointFeature>

FeatureRepresentationConstPtr const pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getPointRepresentation | ( |  | ) |

inline

Get a pointer to the feature representation used when converting features into k-D vectors.

Definition at line 124 of file multiscale_feature_persistence.h.

## getScalesVector()

template<typename PointSource, typename PointFeature>

std::vector< float > pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getScalesVector | ( |  | ) |

inline

Method for getting the scale parameters vector.

Definition at line 102 of file multiscale_feature_persistence.h.

## setAlpha()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setAlpha | ( | float | alpha | ) |

inline

Sets the alpha parameter.

Parameters

  alpha | value to replace the current alpha with

Definition at line 130 of file multiscale_feature_persistence.h.

## setDistanceMetric()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setDistanceMetric | ( | NormType | distance_metric | ) |

inline

Method for setting the distance metric that will be used for computing the difference between feature vectors.

Parameters

  distance_metric | the new distance metric chosen from the NormType enum

Definition at line 140 of file multiscale_feature_persistence.h.

## setFeatureEstimator()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setFeatureEstimator | ( | FeatureEstimatorPtr | feature_estimator | ) |

inline

Setter method for the feature estimator.

Parameters

  feature_estimator | pointer to the feature estimator instance that will be used

Note
  the feature estimator instance should already have the input data given beforehand and everything set, ready to be given the compute () command

Definition at line 110 of file multiscale_feature_persistence.h.

## setPointRepresentation()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setPointRepresentation | ( | const FeatureRepresentationConstPtr & | feature_representation | ) |

inline

Provide a pointer to the feature representation to use to convert features to k-D vectors.

Parameters

  feature_representation | the const boost shared pointer to a PointRepresentation

Definition at line 120 of file multiscale_feature_persistence.h.

## setScalesVector()

template<typename PointSource, typename PointFeature>

void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setScalesVector | ( | std::vector< float > & | scale_values | ) |

inline

Method for setting the scale parameters for the algorithm.

Parameters

  scale_values | vector of scales to determine the characteristic of each scaling step

Definition at line 98 of file multiscale_feature_persistence.h.

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

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