Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
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 >:
Inheritance graph
[legend]
Collaboration diagram for pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef pcl::PointCloud
< PointFeature > 
FeatureCloud
typedef pcl::PointCloud
< PointFeature >::Ptr 
FeatureCloudPtr
typedef pcl::Feature
< PointSource, PointFeature >
::Ptr 
FeatureEstimatorPtr
typedef boost::shared_ptr
< const
pcl::PointRepresentation
< PointFeature > > 
FeatureRepresentationConstPtr
typedef pcl::PointCloud
< PointSource > 
PointCloud
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr
typedef PointIndices::Ptr PointIndicesPtr
typedef PointIndices::ConstPtr PointIndicesConstPtr

Public Member Functions

 MultiscaleFeaturePersistence ()
 Empty constructor.
void computeFeaturesAtAllScales ()
 Method that calls computeFeatureAtScale () for each scale parameter.
void determinePersistentFeatures (FeatureCloud &output_features, boost::shared_ptr< std::vector< int > > &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.
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset.
PointCloudConstPtr const getInputCloud ()
 Get a pointer to the input point cloud dataset.
void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
void setIndices (const IndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
void setIndices (const PointIndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
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.
IndicesPtr const getIndices ()
 Get a pointer to the vector of indices used.
const PointSource & operator[] (size_t pos)
 Override PointCloud operator[] to shorten code.

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 62 of file multiscale_feature_persistence.h.


Member Typedef Documentation

template<typename PointSource , typename PointFeature >
typedef pcl::PointCloud<PointFeature> pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureCloud

Definition at line 65 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
typedef pcl::PointCloud<PointFeature>::Ptr pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureCloudPtr

Definition at line 66 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
typedef pcl::Feature<PointSource, PointFeature>::Ptr pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureEstimatorPtr

Definition at line 67 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
typedef boost::shared_ptr<const pcl::PointRepresentation <PointFeature> > pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::FeatureRepresentationConstPtr

Definition at line 68 of file multiscale_feature_persistence.h.

typedef pcl::PointCloud<PointSource > pcl::PCLBase< PointSource >::PointCloud [inherited]

Definition at line 74 of file pcl_base.h.

typedef PointCloud::ConstPtr pcl::PCLBase< PointSource >::PointCloudConstPtr [inherited]

Definition at line 76 of file pcl_base.h.

typedef PointCloud::Ptr pcl::PCLBase< PointSource >::PointCloudPtr [inherited]

Definition at line 75 of file pcl_base.h.

typedef PointIndices::ConstPtr pcl::PCLBase< PointSource >::PointIndicesConstPtr [inherited]
typedef PointIndices::Ptr pcl::PCLBase< PointSource >::PointIndicesPtr [inherited]

Constructor & Destructor Documentation

template<typename PointSource , typename PointFeature >
pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::MultiscaleFeaturePersistence ( )

Empty constructor.

Definition at line 45 of file multiscale_feature_persistence.hpp.


Member Function Documentation

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

Method that calls computeFeatureAtScale () for each scale parameter.

Definition at line 91 of file multiscale_feature_persistence.hpp.

template<typename PointSource , typename PointFeature >
void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::determinePersistentFeatures ( FeatureCloud output_features,
boost::shared_ptr< std::vector< int > > &  output_indices 
)

Central function that computes the persistent features.

Parameters:
output_featuresa cloud containing the persistent features
output_indicesvector 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 193 of file multiscale_feature_persistence.hpp.

template<typename PointSource , typename PointFeature >
float pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getAlpha ( ) [inline]

Get the value of the alpha parameter.

Definition at line 128 of file multiscale_feature_persistence.h.

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 138 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
FeatureEstimatorPtr pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getFeatureEstimator ( ) [inline]

Getter method for the feature estimator.

Definition at line 108 of file multiscale_feature_persistence.h.

IndicesPtr const pcl::PCLBase< PointSource >::getIndices ( ) [inline, inherited]

Get a pointer to the vector of indices used.

Definition at line 190 of file pcl_base.h.

PointCloudConstPtr const pcl::PCLBase< PointSource >::getInputCloud ( ) [inline, inherited]

Get a pointer to the input point cloud dataset.

Definition at line 107 of file pcl_base.h.

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 118 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
std::vector<float> pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::getScalesVector ( ) [inline]

Method for getting the scale parameters vector.

Definition at line 96 of file multiscale_feature_persistence.h.

const PointSource & pcl::PCLBase< PointSource >::operator[] ( size_t  pos) [inline, inherited]

Override PointCloud operator[] to shorten code.

Note:
this method can be called instead of (*input_)[(*indices_)[pos]] or input_->points[(*indices_)[pos]]
Parameters:
posposition in indices_ vector

Definition at line 197 of file pcl_base.h.

template<typename PointSource , typename PointFeature >
void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setAlpha ( float  alpha) [inline]

Sets the alpha parameter.

Parameters:
alphavalue to replace the current alpha with

Definition at line 124 of file multiscale_feature_persistence.h.

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_metricthe new distance metric chosen from the NormType enum

Definition at line 134 of file multiscale_feature_persistence.h.

template<typename PointSource , typename PointFeature >
void pcl::MultiscaleFeaturePersistence< PointSource, PointFeature >::setFeatureEstimator ( FeatureEstimatorPtr  feature_estimator) [inline]

Setter method for the feature estimator.

Parameters:
feature_estimatorpointer 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 104 of file multiscale_feature_persistence.h.

void pcl::PCLBase< PointSource >::setIndices ( const IndicesPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 113 of file pcl_base.h.

void pcl::PCLBase< PointSource >::setIndices ( const IndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 124 of file pcl_base.h.

void pcl::PCLBase< PointSource >::setIndices ( const PointIndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 135 of file pcl_base.h.

void pcl::PCLBase< PointSource >::setIndices ( size_t  row_start,
size_t  col_start,
size_t  nb_rows,
size_t  nb_cols 
) [inline, inherited]

Set the indices for the points laying within an interest region of the point cloud.

Note:
you shouldn't call this method on unorganized point clouds!
Parameters:
row_startthe offset on rows
col_startthe offset on columns
nb_rowsthe number of rows to be considered row_start included
nb_colsthe number of columns to be considered col_start included

Definition at line 151 of file pcl_base.h.

virtual void pcl::PCLBase< PointSource >::setInputCloud ( const PointCloudConstPtr cloud) [inline, virtual, inherited]

Provide a pointer to the input dataset.

Parameters:
cloudthe const boost shared pointer to a PointCloud message

Definition at line 103 of file pcl_base.h.

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_representationthe const boost shared pointer to a PointRepresentation

Definition at line 114 of file multiscale_feature_persistence.h.

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_valuesvector of scales to determine the characteristic of each scaling step

Definition at line 92 of file multiscale_feature_persistence.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines