Public Types |
enum | FLAG { increase,
preserve
} |
| Updating method flag. More...
|
Public Member Functions |
| PCA (bool basis_only=false) |
| Default Constructor.
|
| PCA (const pcl::PointCloud< PointT > &X, bool basis_only=false) |
| Constructor with direct computation.
|
| PCA (PCA const &pca_) |
| Copy Constructor.
|
PCA & | operator= (PCA const &pca) |
| Assignment operator.
|
Eigen::Vector4f & | getMean () |
| Mean accessor.
|
Eigen::MatrixXf & | getEigenVectors () |
| Eigen Vectors accessor.
|
Eigen::VectorXf & | getEigenValues () |
| Eigen Values accessor.
|
Eigen::MatrixXf & | getCoefficients () |
| Coefficients accessor.
|
void | compute (const pcl::PointCloud< PointT > &cloud) |
| Compute PCA using the batch algorithm.
|
void | update (const PointT &input, FLAG flag=preserve) |
| update PCA with a new point
|
void | project (const PointT &input, PointT &projection) const |
| Project point on the eigenspace.
|
void | reconstruct (const PointT &projection, PointT &input) const |
| Reconstruct point from its projection.
|
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 the mean of the input data, the eigenvalues (in descending order) and corresponding eigenvectors.
Other methods allow projection in the eigenspace, reconstruction from eigenspace and update of the eigenspace with a new datum (according Matej Artec, Matjaz Jogan and Ales Leonardis: "Incremental PCA for On-line Visual Learning and Recognition").