|
Point Cloud Library (PCL)
1.6.0
|
Normal-based feature signature estimation class. More...
#include <pcl/features/normal_based_signature.h>


Public Types | |
| typedef pcl::PointCloud < PointFeature > | FeatureCloud |
| typedef boost::shared_ptr < NormalBasedSignatureEstimation < PointT, PointNT, PointFeature > > | Ptr |
| typedef boost::shared_ptr < const NormalBasedSignatureEstimation < PointT, PointNT, PointFeature > > | ConstPtr |
| typedef pcl::PointCloud< PointNT > | PointCloudN |
| typedef PointCloudN::Ptr | PointCloudNPtr |
| typedef PointCloudN::ConstPtr | PointCloudNConstPtr |
| typedef PCLBase< PointT > | BaseClass |
| typedef pcl::search::Search < PointT > | KdTree |
| typedef pcl::search::Search < PointT >::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< PointT > | PointCloud |
| typedef PointCloud::Ptr | PointCloudPtr |
| typedef PointCloud::ConstPtr | PointCloudConstPtr |
| typedef PointIndices::Ptr | PointIndicesPtr |
| typedef PointIndices::ConstPtr | PointIndicesConstPtr |
Public Member Functions | |
| NormalBasedSignatureEstimation () | |
| Empty constructor, initializes the internal parameters to the default values. | |
| void | setN (size_t n) |
| Setter method for the N parameter - the length of the columns used for the Discrete Fourier Transform. | |
| size_t | getN () |
| Returns the N parameter - the length of the columns used for the Discrete Fourier Transform. | |
| void | setM (size_t m) |
| Setter method for the M parameter - the length of the rows used for the Discrete Cosine Transform. | |
| size_t | getM () |
| Returns the M parameter - the length of the rows used for the Discrete Cosine Transform. | |
| void | setNPrime (size_t n_prime) |
| Setter method for the N' parameter - the number of columns to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector. | |
| size_t | getNPrime () |
| Returns the N' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector. | |
| void | setMPrime (size_t m_prime) |
| Setter method for the M' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector. | |
| size_t | getMPrime () |
| Returns the M' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector. | |
| void | setScale (float scale) |
| Setter method for the scale parameter - used to determine the radius of the sampling disc around the point of interest - linked to the smoothing scale of the input cloud. | |
| float | getScale () |
| Returns the scale parameter - used to determine the radius of the sampling disc around the point of interest - linked to the smoothing scale of the input cloud. | |
| 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 | compute (PointCloudOut &output) |
| Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () | |
| 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 PointT & | operator[] (size_t pos) |
| Override PointCloud operator[] to shorten code. | |
Normal-based feature signature estimation class.
Obtains the feature vector by applying Discrete Cosine and Fourier Transforms on an NxM array of real numbers representing the projection distances of the points in the input cloud to a disc around the point of interest. Please consult the following publication for more details: Xinju Li and Igor Guskov Multi-scale features for approximate alignment of point-based surfaces Proceedings of the third Eurographics symposium on Geometry processing July 2005, Vienna, Austria
Definition at line 59 of file normal_based_signature.h.
typedef PCLBase<PointT > pcl::Feature< PointT , PointFeature >::BaseClass [inherited] |
| typedef boost::shared_ptr<const NormalBasedSignatureEstimation<PointT, PointNT, PointFeature> > pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::ConstPtr |
Reimplemented from pcl::FeatureFromNormals< PointT, PointNT, PointFeature >.
Definition at line 70 of file normal_based_signature.h.
| typedef pcl::PointCloud<PointFeature> pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::FeatureCloud |
Definition at line 68 of file normal_based_signature.h.
typedef pcl::search::Search<PointT > pcl::Feature< PointT , PointFeature >::KdTree [inherited] |
typedef pcl::search::Search<PointT >::Ptr pcl::Feature< PointT , PointFeature >::KdTreePtr [inherited] |
typedef pcl::PointCloud<PointT> pcl::PCLBase< PointT >::PointCloud [inherited] |
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >, pcl::EuclideanClusterExtraction< PointT >, pcl::ExtractPolygonalPrismData< PointT >, pcl::Filter< PointT >, pcl::SegmentDifferences< PointT >, pcl::LabeledEuclideanClusterExtraction< PointT >, pcl::SACSegmentation< PointT >, pcl::FilterIndices< PointT >, pcl::registration::ELCH< PointT >, pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >, pcl::OrganizedConnectedComponentSegmentation< PointT, PointLT >, and pcl::PCA< PointT >.
Definition at line 74 of file pcl_base.h.
typedef PointCloud::ConstPtr pcl::PCLBase< PointT >::PointCloudConstPtr [inherited] |
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >, pcl::EuclideanClusterExtraction< PointT >, pcl::NormalEstimation< PointInT, PointOutT >, pcl::NormalEstimation< PointInT, pcl::Normal >, pcl::ExtractPolygonalPrismData< PointT >, pcl::Filter< PointT >, pcl::SegmentDifferences< PointT >, pcl::LabeledEuclideanClusterExtraction< PointT >, pcl::SACSegmentation< PointT >, pcl::registration::ELCH< PointT >, pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >, pcl::OrganizedConnectedComponentSegmentation< PointT, PointLT >, and pcl::PCA< PointT >.
Definition at line 76 of file pcl_base.h.
typedef pcl::PointCloud<PointNT> pcl::FeatureFromNormals< PointT , PointNT, PointFeature >::PointCloudN [inherited] |
typedef PointCloudN::ConstPtr pcl::FeatureFromNormals< PointT , PointNT, PointFeature >::PointCloudNConstPtr [inherited] |
typedef PointCloudN::Ptr pcl::FeatureFromNormals< PointT , PointNT, PointFeature >::PointCloudNPtr [inherited] |
typedef PointCloud::Ptr pcl::PCLBase< PointT >::PointCloudPtr [inherited] |
Reimplemented in pcl::MarchingCubes< PointNT >, pcl::SACSegmentationFromNormals< PointT, PointNT >, pcl::EuclideanClusterExtraction< PointT >, pcl::ExtractPolygonalPrismData< PointT >, pcl::Filter< PointT >, pcl::GridProjection< PointNT >, pcl::SegmentDifferences< PointT >, pcl::LabeledEuclideanClusterExtraction< PointT >, pcl::SACSegmentation< PointT >, pcl::registration::ELCH< PointT >, pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >, pcl::OrganizedConnectedComponentSegmentation< PointT, PointLT >, pcl::MarchingCubesRBF< PointNT >, pcl::PCA< PointT >, pcl::MarchingCubesHoppe< PointNT >, pcl::OrganizedFastMesh< PointInT >, and pcl::Poisson< PointNT >.
Definition at line 75 of file pcl_base.h.
typedef PointIndices::ConstPtr pcl::PCLBase< PointT >::PointIndicesConstPtr [inherited] |
Reimplemented in pcl::EuclideanClusterExtraction< PointT >, pcl::ExtractPolygonalPrismData< PointT >, pcl::SegmentDifferences< PointT >, pcl::LabeledEuclideanClusterExtraction< PointT >, pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >, and pcl::PCA< PointT >.
Definition at line 79 of file pcl_base.h.
typedef PointIndices::Ptr pcl::PCLBase< PointT >::PointIndicesPtr [inherited] |
Reimplemented in pcl::EuclideanClusterExtraction< PointT >, pcl::ExtractPolygonalPrismData< PointT >, pcl::SegmentDifferences< PointT >, pcl::LabeledEuclideanClusterExtraction< PointT >, pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >, and pcl::PCA< PointT >.
Definition at line 78 of file pcl_base.h.
| typedef boost::shared_ptr<NormalBasedSignatureEstimation<PointT, PointNT, PointFeature> > pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::Ptr |
Reimplemented from pcl::FeatureFromNormals< PointT, PointNT, PointFeature >.
Definition at line 69 of file normal_based_signature.h.
typedef boost::function<int (size_t, double, std::vector<int> &, std::vector<float> &)> pcl::Feature< PointT , PointFeature >::SearchMethod [inherited] |
typedef boost::function<int (const PointCloudIn &cloud, size_t index, double, std::vector<int> &, std::vector<float> &)> pcl::Feature< PointT , PointFeature >::SearchMethodSurface [inherited] |
| pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::NormalBasedSignatureEstimation | ( | ) | [inline] |
Empty constructor, initializes the internal parameters to the default values.
Definition at line 76 of file normal_based_signature.h.
| void pcl::Feature< PointT , PointFeature >::compute | ( | PointCloudOut & | 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 |
| void pcl::Feature< PointT , PointFeature >::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 |
| IndicesPtr const pcl::PCLBase< PointT >::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< PointT >::getInputCloud | ( | ) | [inline, inherited] |
Get a pointer to the input point cloud dataset.
Definition at line 107 of file pcl_base.h.
| PointCloudNConstPtr pcl::FeatureFromNormals< PointT , PointNT, PointFeature >::getInputNormals | ( | ) | const [inline, inherited] |
| int pcl::Feature< PointT , PointFeature >::getKSearch | ( | ) | const [inline, inherited] |
| size_t pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::getM | ( | ) | [inline] |
Returns the M parameter - the length of the rows used for the Discrete Cosine Transform.
Definition at line 104 of file normal_based_signature.h.
| size_t pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::getMPrime | ( | ) | [inline] |
Returns the M' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector.
Definition at line 134 of file normal_based_signature.h.
| size_t pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::getN | ( | ) | [inline] |
Returns the N parameter - the length of the columns used for the Discrete Fourier Transform.
Definition at line 94 of file normal_based_signature.h.
| size_t pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::getNPrime | ( | ) | [inline] |
Returns the N' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector.
Definition at line 119 of file normal_based_signature.h.
| double pcl::Feature< PointT , PointFeature >::getRadiusSearch | ( | ) | const [inline, inherited] |
| float pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::getScale | ( | ) | [inline] |
Returns the scale parameter - used to determine the radius of the sampling disc around the point of interest - linked to the smoothing scale of the input cloud.
Definition at line 146 of file normal_based_signature.h.
| KdTreePtr pcl::Feature< PointT , PointFeature >::getSearchMethod | ( | ) | const [inline, inherited] |
| double pcl::Feature< PointT , PointFeature >::getSearchParameter | ( | ) | const [inline, inherited] |
| PointCloudInConstPtr pcl::Feature< PointT , PointFeature >::getSearchSurface | ( | ) | const [inline, inherited] |
| const PointT& pcl::PCLBase< PointT >::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::PCLBase< PointT >::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< PointT >::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< PointT >::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< PointT >::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< PointT >::setInputCloud | ( | const PointCloudConstPtr & | cloud | ) | [inline, virtual, inherited] |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Reimplemented in pcl::PCA< PointT >.
Definition at line 103 of file pcl_base.h.
| void pcl::FeatureFromNormals< PointT , PointNT, PointFeature >::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< PointT , PointFeature >::setKSearch | ( | int | k | ) | [inline, inherited] |
| void pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::setM | ( | size_t | m | ) | [inline] |
Setter method for the M parameter - the length of the rows used for the Discrete Cosine Transform.
| [in] | m | the length of the rows used for the Discrete Cosine Transform. |
Definition at line 100 of file normal_based_signature.h.
| void pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::setMPrime | ( | size_t | m_prime | ) | [inline] |
Setter method for the M' parameter - the number of rows to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector.
| [in] | m_prime | the number of rows from the matrix of DFT and DCT that will be contained in the output |
Definition at line 127 of file normal_based_signature.h.
| void pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::setN | ( | size_t | n | ) | [inline] |
Setter method for the N parameter - the length of the columns used for the Discrete Fourier Transform.
| [in] | n | the length of the columns used for the Discrete Fourier Transform. |
Definition at line 90 of file normal_based_signature.h.
| void pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::setNPrime | ( | size_t | n_prime | ) | [inline] |
Setter method for the N' parameter - the number of columns to be taken from the matrix of DFT and DCT values that will be contained in the output feature vector.
| [in] | n_prime | the number of columns from the matrix of DFT and DCT that will be contained in the output |
Definition at line 112 of file normal_based_signature.h.
| void pcl::Feature< PointT , PointFeature >::setRadiusSearch | ( | double | radius | ) | [inline, inherited] |
| void pcl::NormalBasedSignatureEstimation< PointT, PointNT, PointFeature >::setScale | ( | float | scale | ) | [inline] |
Setter method for the scale parameter - used to determine the radius of the sampling disc around the point of interest - linked to the smoothing scale of the input cloud.
Definition at line 140 of file normal_based_signature.h.
| void pcl::Feature< PointT , PointFeature >::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline, inherited] |
| void pcl::Feature< PointT , PointFeature >::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 |
1.7.6.1