Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::MultiscaleFeaturePersistence Class 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:
Inheritance graph
[legend]
Collaboration diagram for pcl::MultiscaleFeaturePersistence:
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< PointT > 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 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 PointT & operator[] (size_t pos)
 Override PointCloud operator[] to shorten code.

Detailed Description

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

Member Typedef Documentation

Definition at line 65 of file multiscale_feature_persistence.h.

Definition at line 66 of file multiscale_feature_persistence.h.

Definition at line 67 of file multiscale_feature_persistence.h.

Definition at line 68 of file multiscale_feature_persistence.h.

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

Definition at line 74 of file pcl_base.h.

Definition at line 76 of file pcl_base.h.

Definition at line 75 of file pcl_base.h.

Definition at line 79 of file pcl_base.h.

Definition at line 78 of file pcl_base.h.


Constructor & Destructor Documentation

pcl::MultiscaleFeaturePersistence::MultiscaleFeaturePersistence ( )

Empty constructor.

Definition at line 45 of file multiscale_feature_persistence.hpp.


Member Function Documentation

void pcl::MultiscaleFeaturePersistence::computeFeaturesAtAllScales ( )

Method that calls computeFeatureAtScale () for each scale parameter.

Definition at line 83 of file multiscale_feature_persistence.hpp.

void pcl::MultiscaleFeaturePersistence::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 187 of file multiscale_feature_persistence.hpp.

float pcl::MultiscaleFeaturePersistence::getAlpha ( ) [inline]

Get the value of the alpha parameter.

Definition at line 128 of file multiscale_feature_persistence.h.

NormType pcl::MultiscaleFeaturePersistence::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.

FeatureEstimatorPtr pcl::MultiscaleFeaturePersistence::getFeatureEstimator ( ) [inline]

Getter method for the feature estimator.

Definition at line 108 of file multiscale_feature_persistence.h.

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

Get a pointer to the vector of indices used.

Definition at line 171 of file pcl_base.h.

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

Get a pointer to the input point cloud dataset.

Definition at line 99 of file pcl_base.h.

FeatureRepresentationConstPtr const pcl::MultiscaleFeaturePersistence::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.

std::vector<float> pcl::MultiscaleFeaturePersistence::getScalesVector ( ) [inline]

Method for getting the scale parameters vector.

Definition at line 96 of file multiscale_feature_persistence.h.

const PointT& pcl::PCLBase::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 178 of file pcl_base.h.

void pcl::MultiscaleFeaturePersistence::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.

void pcl::MultiscaleFeaturePersistence::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.

void pcl::MultiscaleFeaturePersistence::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::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 105 of file pcl_base.h.

void pcl::PCLBase::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 116 of file pcl_base.h.

void pcl::PCLBase::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 132 of file pcl_base.h.

virtual void pcl::PCLBase::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 95 of file pcl_base.h.

void pcl::MultiscaleFeaturePersistence::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.

void pcl::MultiscaleFeaturePersistence::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