|
Point Cloud Library (PCL)
1.6.0
|
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals. More...
#include <pcl/features/vfh.h>


Public Types | |
| typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
| typedef boost::shared_ptr < VFHEstimation< PointInT, PointNT, PointOutT > > | Ptr |
| typedef boost::shared_ptr < const VFHEstimation < PointInT, PointNT, PointOutT > > | ConstPtr |
| typedef pcl::PointCloud< PointNT > | PointCloudN |
| typedef PointCloudN::Ptr | PointCloudNPtr |
| typedef PointCloudN::ConstPtr | PointCloudNConstPtr |
| typedef PCLBase< PointInT > | BaseClass |
| typedef pcl::search::Search < PointInT > | KdTree |
| typedef pcl::search::Search < PointInT >::Ptr | KdTreePtr |
| typedef boost::function< int(size_t, double, std::vector< int > &, std::vector< float > &)> | SearchMethod |
| typedef boost::function< int(const PointCloudIn &cloud, size_t index, double, std::vector < int > &, std::vector< float > &)> | SearchMethodSurface |
| typedef pcl::PointCloud< PointInT > | PointCloud |
| typedef PointCloud::Ptr | PointCloudPtr |
| typedef PointCloud::ConstPtr | PointCloudConstPtr |
| typedef PointIndices::Ptr | PointIndicesPtr |
| typedef PointIndices::ConstPtr | PointIndicesConstPtr |
Public Member Functions | |
| VFHEstimation () | |
| Empty constructor. | |
| void | computePointSPFHSignature (const Eigen::Vector4f ¢roid_p, const Eigen::Vector4f ¢roid_n, const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const std::vector< int > &indices) |
| Estimate the SPFH (Simple Point Feature Histograms) signatures of the angular (f1, f2, f3) and distance (f4) features for a given point from its neighborhood. | |
| void | setViewPoint (float vpx, float vpy, float vpz) |
| Set the viewpoint. | |
| void | getViewPoint (float &vpx, float &vpy, float &vpz) |
| Get the viewpoint. | |
| void | setUseGivenNormal (bool use) |
| Set use_given_normal_. | |
| void | setNormalToUse (const Eigen::Vector3f &normal) |
| Set the normal to use. | |
| void | setUseGivenCentroid (bool use) |
| Set use_given_centroid_. | |
| void | setCentroidToUse (const Eigen::Vector3f ¢roid) |
| Set centroid_to_use_. | |
| void | setNormalizeBins (bool normalize) |
| set normalize_bins_ | |
| void | setNormalizeDistance (bool normalize) |
| set normalize_distances_ | |
| void | setFillSizeComponent (bool fill_size) |
| set size_component_ | |
| void | compute (PointCloudOut &output) |
| Overloaded computed method from pcl::Feature. | |
| void | setInputNormals (const PointCloudNConstPtr &normals) |
| Provide a pointer to the input dataset that contains the point normals of the XYZ dataset. | |
| PointCloudNConstPtr | getInputNormals () const |
| Get a pointer to the normals of the input XYZ point cloud dataset. | |
| void | setSearchSurface (const PointCloudInConstPtr &cloud) |
| Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. | |
| PointCloudInConstPtr | getSearchSurface () const |
| Get a pointer to the surface point cloud dataset. | |
| void | setSearchMethod (const KdTreePtr &tree) |
| Provide a pointer to the search object. | |
| KdTreePtr | getSearchMethod () const |
| Get a pointer to the search method used. | |
| double | getSearchParameter () const |
| Get the internal search parameter. | |
| void | setKSearch (int k) |
| Set the number of k nearest neighbors to use for the feature estimation. | |
| int | getKSearch () const |
| get the number of k nearest neighbors used for the feature estimation. | |
| void | setRadiusSearch (double radius) |
| Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. | |
| double | getRadiusSearch () const |
| Get the sphere radius used for determining the neighbors. | |
| void | computeEigen (pcl::PointCloud< Eigen::MatrixXf > &output) |
| Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () | |
| 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 PointInT & | operator[] (size_t pos) |
| Override PointCloud operator[] to shorten code. | |
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals.
The default VFH implementation uses 45 binning subdivisions for each of the three extended FPFH values, plus another 45 binning subdivisions for the distances between each point and the centroid and 128 binning subdivisions for the viewpoint component, which results in a 308-byte array of float values. These are stored in a pcl::VFHSignature308 point type. A major difference between the PFH/FPFH descriptors and VFH, is that for a given point cloud dataset, only a single VFH descriptor will be estimated (vfhs->points.size() should be 1), while the resultant PFH/FPFH data will have the same number of entries as the number of points in the cloud.
typedef PCLBase<PointInT> pcl::Feature< PointInT, PointOutT >::BaseClass [inherited] |
Reimplemented in pcl::RangeImageBorderExtractor, and pcl::NarfDescriptor.
| typedef boost::shared_ptr<const VFHEstimation<PointInT, PointNT, PointOutT> > pcl::VFHEstimation< PointInT, PointNT, PointOutT >::ConstPtr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
typedef pcl::search::Search<PointInT> pcl::Feature< PointInT, PointOutT >::KdTree [inherited] |
typedef pcl::search::Search<PointInT>::Ptr pcl::Feature< PointInT, PointOutT >::KdTreePtr [inherited] |
Reimplemented in pcl::CVFHEstimation< PointInT, PointNT, PointOutT >.
typedef pcl::PointCloud<PointInT > pcl::PCLBase< PointInT >::PointCloud [inherited] |
Definition at line 74 of file pcl_base.h.
typedef PointCloud::ConstPtr pcl::PCLBase< PointInT >::PointCloudConstPtr [inherited] |
Reimplemented in pcl::NormalEstimation< PointInT, PointOutT >, and pcl::NormalEstimation< PointInT, pcl::Normal >.
Definition at line 76 of file pcl_base.h.
typedef pcl::PointCloud<PointNT> pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::PointCloudN [inherited] |
typedef PointCloudN::ConstPtr pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::PointCloudNConstPtr [inherited] |
typedef PointCloudN::Ptr pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::PointCloudNPtr [inherited] |
| typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::VFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
typedef PointCloud::Ptr pcl::PCLBase< PointInT >::PointCloudPtr [inherited] |
Reimplemented in pcl::OrganizedFastMesh< PointInT >.
Definition at line 75 of file pcl_base.h.
typedef PointIndices::ConstPtr pcl::PCLBase< PointInT >::PointIndicesConstPtr [inherited] |
Definition at line 79 of file pcl_base.h.
typedef PointIndices::Ptr pcl::PCLBase< PointInT >::PointIndicesPtr [inherited] |
Definition at line 78 of file pcl_base.h.
| typedef boost::shared_ptr<VFHEstimation<PointInT, PointNT, PointOutT> > pcl::VFHEstimation< PointInT, PointNT, PointOutT >::Ptr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
typedef boost::function<int (size_t, double, std::vector<int> &, std::vector<float> &)> pcl::Feature< PointInT, PointOutT >::SearchMethod [inherited] |
typedef boost::function<int (const PointCloudIn &cloud, size_t index, double, std::vector<int> &, std::vector<float> &)> pcl::Feature< PointInT, PointOutT >::SearchMethodSurface [inherited] |
| pcl::VFHEstimation< PointInT, PointNT, PointOutT >::VFHEstimation | ( | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::compute | ( | PointCloudOut & | output | ) |
Overloaded computed method from pcl::Feature.
| [out] | output | the resultant point cloud model dataset containing the estimated features |
Reimplemented from pcl::Feature< PointInT, PointOutT >.
| void pcl::Feature< PointInT, PointOutT >::computeEigen | ( | pcl::PointCloud< Eigen::MatrixXf > & | output | ) | [inherited] |
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
| [out] | output | the resultant point cloud model dataset containing the estimated features |
Reimplemented in pcl::SHOTColorEstimation< PointInT, PointNT, Eigen::MatrixXf, PointRFT >, and pcl::SHOTEstimation< PointInT, PointNT, Eigen::MatrixXf, PointRFT >.
Definition at line 224 of file feature.hpp.
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature | ( | const Eigen::Vector4f & | centroid_p, |
| const Eigen::Vector4f & | centroid_n, | ||
| const pcl::PointCloud< PointInT > & | cloud, | ||
| const pcl::PointCloud< PointNT > & | normals, | ||
| const std::vector< int > & | indices | ||
| ) |
Estimate the SPFH (Simple Point Feature Histograms) signatures of the angular (f1, f2, f3) and distance (f4) features for a given point from its neighborhood.
| [in] | centroid_p | the centroid point |
| [in] | centroid_n | the centroid normal |
| [in] | cloud | the dataset containing the XYZ Cartesian coordinates of the two points |
| [in] | normals | the dataset containing the surface normals at each point in cloud |
| [in] | indices | the k-neighborhood point indices in the dataset |
| IndicesPtr const pcl::PCLBase< PointInT >::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< PointInT >::getInputCloud | ( | ) | [inline, inherited] |
Get a pointer to the input point cloud dataset.
Definition at line 107 of file pcl_base.h.
| PointCloudNConstPtr pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::getInputNormals | ( | ) | const [inline, inherited] |
| int pcl::Feature< PointInT, PointOutT >::getKSearch | ( | ) | const [inline, inherited] |
| double pcl::Feature< PointInT, PointOutT >::getRadiusSearch | ( | ) | const [inline, inherited] |
| KdTreePtr pcl::Feature< PointInT, PointOutT >::getSearchMethod | ( | ) | const [inline, inherited] |
| double pcl::Feature< PointInT, PointOutT >::getSearchParameter | ( | ) | const [inline, inherited] |
| PointCloudInConstPtr pcl::Feature< PointInT, PointOutT >::getSearchSurface | ( | ) | const [inline, inherited] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::getViewPoint | ( | float & | vpx, |
| float & | vpy, | ||
| float & | vpz | ||
| ) | [inline] |
| const PointInT & pcl::PCLBase< PointInT >::operator[] | ( | size_t | pos | ) | [inline, inherited] |
Override PointCloud operator[] to shorten code.
| pos | position in indices_ vector |
Definition at line 197 of file pcl_base.h.
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse | ( | const Eigen::Vector3f & | centroid | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent | ( | bool | fill_size | ) | [inline] |
| void pcl::PCLBase< PointInT >::setIndices | ( | const IndicesPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 113 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::setIndices | ( | const IndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 124 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::setIndices | ( | const PointIndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 135 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::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.
| row_start | the offset on rows |
| col_start | the offset on columns |
| nb_rows | the number of rows to be considered row_start included |
| nb_cols | the number of columns to be considered col_start included |
Definition at line 151 of file pcl_base.h.
| virtual void pcl::PCLBase< PointInT >::setInputCloud | ( | const PointCloudConstPtr & | cloud | ) | [inline, virtual, inherited] |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Definition at line 103 of file pcl_base.h.
| void pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::setInputNormals | ( | const PointCloudNConstPtr & | normals | ) | [inline, inherited] |
Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
In case of search surface is set to be different from the input cloud, normals should correspond to the search surface, not the input cloud!
| [in] | normals | the const boost shared pointer to a PointCloud of normals. By convention, L2 norm of each normal should be 1. |
| void pcl::Feature< PointInT, PointOutT >::setKSearch | ( | int | k | ) | [inline, inherited] |
Set the number of k nearest neighbors to use for the feature estimation.
| [in] | k | the number of k-nearest neighbors |
Reimplemented in pcl::RSDEstimation< PointInT, PointNT, PointOutT >.
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins | ( | bool | normalize | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance | ( | bool | normalize | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse | ( | const Eigen::Vector3f & | normal | ) | [inline] |
| void pcl::Feature< PointInT, PointOutT >::setRadiusSearch | ( | double | radius | ) | [inline, inherited] |
| void pcl::Feature< PointInT, PointOutT >::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline, inherited] |
| void pcl::Feature< PointInT, PointOutT >::setSearchSurface | ( | const PointCloudInConstPtr & | cloud | ) | [inline, inherited] |
Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset.
This is optional, if this is not set, it will only use the data in the input cloud to estimate the features. This is useful when you only need to compute the features for a downsampled cloud.
| [in] | cloud | a pointer to a PointCloud message |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid | ( | bool | use | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal | ( | bool | use | ) | [inline] |
| void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setViewPoint | ( | float | vpx, |
| float | vpy, | ||
| float | vpz | ||
| ) | [inline] |
1.7.6.1