|
Point Cloud Library (PCL)
1.15.1-dev
|
Principal Component analysis (PCA) class. More...
#include <pcl/common/pca.h>
Inheritance diagram for pcl::PCA< PointT >:
Collaboration diagram for pcl::PCA< PointT >:Public Types | |
| enum | FLAG { increase , preserve } |
| Updating method flag. More... | |
| using | Base = pcl::PCLBase< PointT > |
| using | PointCloud = typename Base::PointCloud |
| using | PointCloudPtr = typename Base::PointCloudPtr |
| using | PointCloudConstPtr = typename Base::PointCloudConstPtr |
| using | PointIndicesPtr = typename Base::PointIndicesPtr |
| using | PointIndicesConstPtr = typename Base::PointIndicesConstPtr |
Public Types inherited from pcl::PCLBase< PointT > | |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Public Member Functions | |
| PCA (bool basis_only=false) | |
| Default Constructor. More... | |
| PCA (PCA const &pca) | |
| Copy Constructor. More... | |
| PCA & | operator= (PCA const &pca) |
| Assignment operator. More... | |
| void | setInputCloud (const PointCloudConstPtr &cloud) override |
| Provide a pointer to the input dataset. More... | |
| void | setIndices (const IndicesPtr &indices) override |
| Provide a pointer to the vector of indices that represents the input data. More... | |
| void | setIndices (const IndicesConstPtr &indices) override |
| Provide a pointer to the vector of indices that represents the input data. More... | |
| void | setIndices (const PointIndicesConstPtr &indices) override |
| Provide a pointer to the vector of indices that represents the input data. More... | |
| void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) override |
| Set the indices for the points laying within an interest region of the point cloud. More... | |
| Eigen::Vector4f & | getMean () |
| Mean accessor. More... | |
| Eigen::Matrix3f & | getEigenVectors () |
| Eigen Vectors accessor. More... | |
| Eigen::Vector3f & | getEigenValues () |
| Eigen Values accessor. More... | |
| Eigen::MatrixXf & | getCoefficients () |
| Coefficients accessor. More... | |
| void | update (const PointT &input, FLAG flag=preserve) |
| update PCA with a new point More... | |
| void | project (const PointT &input, PointT &projection) |
| Project point on the eigenspace. More... | |
| void | project (const PointCloud &input, PointCloud &projection) |
| Project cloud on the eigenspace. More... | |
| void | reconstruct (const PointT &projection, PointT &input) |
| Reconstruct point from its projection. More... | |
| void | reconstruct (const PointCloud &projection, PointCloud &input) |
| Reconstruct cloud from its projection. More... | |
| bool | initCompute () |
| This method should get called before starting the actual computation. More... | |
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Provide a pointer to the input dataset. More... | |
Public Member Functions inherited from pcl::PCLBase< PointT > | |
| PCLBase () | |
| Empty constructor. More... | |
| PCLBase (const PCLBase &base) | |
| Copy constructor. More... | |
| virtual | ~PCLBase ()=default |
| Destructor. More... | |
| PointCloudConstPtr const | getInputCloud () const |
| Get a pointer to the input point cloud dataset. More... | |
| IndicesPtr | getIndices () |
| Get a pointer to the vector of indices used. More... | |
| IndicesConstPtr const | getIndices () const |
| Get a pointer to the vector of indices used. More... | |
| const PointT & | operator[] (std::size_t pos) const |
| Override PointCloud operator[] to shorten code. More... | |
Public Attributes | |
| PointCloudConstPtr | input_ |
| The input point cloud dataset. More... | |
| IndicesPtr | indices_ |
| A pointer to the vector of point indices to use. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from pcl::PCLBase< PointT > | |
| bool | initCompute () |
| This method should get called before starting the actual computation. More... | |
| bool | deinitCompute () |
| This method should get called after finishing the actual computation. More... | |
Protected Attributes inherited from pcl::PCLBase< PointT > | |
| PointCloudConstPtr | input_ |
| The input point cloud dataset. More... | |
| IndicesPtr | indices_ |
| A pointer to the vector of point indices to use. More... | |
| bool | use_indices_ |
| Set to true if point indices are used. More... | |
| bool | fake_indices_ |
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
Principal Component analysis (PCA) class.
Principal components are extracted by singular values decomposition on the covariance matrix of the centered input cloud. Available data after pca computation are:
| using pcl::PCA< PointT >::Base = pcl::PCLBase<PointT> |
| using pcl::PCA< PointT >::PointCloud = typename Base::PointCloud |
| using pcl::PCA< PointT >::PointCloudConstPtr = typename Base::PointCloudConstPtr |
| using pcl::PCA< PointT >::PointCloudPtr = typename Base::PointCloudPtr |
| using pcl::PCA< PointT >::PointIndicesConstPtr = typename Base::PointIndicesConstPtr |
| using pcl::PCA< PointT >::PointIndicesPtr = typename Base::PointIndicesPtr |
| enum pcl::PCA::FLAG |
Eigen Vectors accessor.
| InitFailedException |
| bool pcl::PCLBase< PointT >::initCompute |
This method should get called before starting the actual computation.
Internally, initCompute() does the following:
Definition at line 168 of file pcl_base.hpp.
|
inline |
Project cloud on the eigenspace.
| [in] | input | cloud from original dataset |
| [out] | projection | the cloud in eigen vectors space |
| InitFailedException |
Definition at line 179 of file pca.hpp.
References pcl::geometry::project().
|
inline |
Project point on the eigenspace.
| [in] | input | point from original dataset |
| [out] | projection | the point in eigen vectors space |
| InitFailedException |
|
inline |
Reconstruct cloud from its projection.
| [in] | projection | cloud from eigenvector space |
| [out] | input | reconstructed cloud |
| InitFailedException |
|
inline |
Reconstruct point from its projection.
| [in] | projection | point from eigenvector space |
| [out] | input | reconstructed point |
| InitFailedException |
|
inlineoverridevirtual |
Provide a pointer to the vector of indices that represents the input data.
| [in] | indices | a pointer to the indices that represent the input data. |
Reimplemented from pcl::PCLBase< PointT >.
Definition at line 143 of file pca.h.
References pcl::PCLBase< PointT >::setIndices().
|
inlineoverridevirtual |
Provide a pointer to the vector of indices that represents the input data.
| [in] | indices | a pointer to the indices that represent the input data. |
Reimplemented from pcl::PCLBase< PointT >.
Definition at line 133 of file pca.h.
References pcl::PCLBase< PointT >::setIndices().
|
inlineoverridevirtual |
Provide a pointer to the vector of indices that represents the input data.
| [in] | indices | a pointer to the indices that represent the input data. |
Reimplemented from pcl::PCLBase< PointT >.
Definition at line 153 of file pca.h.
References pcl::PCLBase< PointT >::setIndices().
|
inlineoverridevirtual |
Set the indices for the points laying within an interest region of the point cloud.
| [in] | row_start | the offset on rows |
| [in] | col_start | the offset on columns |
| [in] | nb_rows | the number of rows to be considered row_start included |
| [in] | nb_cols | the number of columns to be considered col_start included |
Reimplemented from pcl::PCLBase< PointT >.
Definition at line 168 of file pca.h.
References pcl::PCLBase< PointT >::setIndices().
| void pcl::PCLBase< PointT >::setInputCloud |
Provide a pointer to the input dataset.
| [in] | cloud | the const boost shared pointer to a PointCloud message |
Definition at line 92 of file pcl_base.hpp.
|
inlineoverridevirtual |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Reimplemented from pcl::PCLBase< PointT >.
Definition at line 123 of file pca.h.
References pcl::PCLBase< PointT >::setInputCloud().
|
inline |
update PCA with a new point
| [in] | input | input point |
| [in] | flag | update flag |
| InitFailedException |
| IndicesPtr pcl::PCLBase< PointT >::indices_ |
A pointer to the vector of point indices to use.
Definition at line 150 of file pcl_base.h.
| PointCloudConstPtr pcl::PCLBase< PointT >::input_ |
The input point cloud dataset.
Definition at line 147 of file pcl_base.h.