Loading...
Searching...
No Matches
centroid.h File Reference
Module common
`#include <pcl/memory.h>`
`#include <pcl/pcl_macros.h>`
`#include <pcl/point_cloud.h>`
`#include <pcl/type_traits.h>`
`#include <pcl/PointIndices.h>`
`#include <pcl/cloud_iterator.h>`
`#include <pcl/common/impl/accumulators.hpp>`
`#include <pcl/common/impl/centroid.hpp>`

Go to the source code of this file.

## Detailed Description

Define methods for centroid estimation and covariance matrix calculus.

Definition in file centroid.h.

## Classes

struct | pcl::NdCentroidFunctor< PointT, Scalar >
| Helper functor structure for n-D centroid estimation. More...
class | pcl::CentroidPoint< PointT >
| A generic class that computes the centroid of points fed to it. More...

## Namespaces

namespace | pcl

## Functions

template<typename PointT, typename Scalar>
unsigned int | pcl::compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector.
template<typename PointT>
unsigned int | pcl::compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector.
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the 3x3 covariance matrix of a given set of points.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute normalized the 3x3 covariance matrix of a given set of points.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the normalized 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Indices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the normalized 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
| Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT>
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
| Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix)
template<typename PointT>
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix)
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCentroidAndOBB (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 1 > &centroid, Eigen::Matrix< Scalar, 3, 1 > &obb_center, Eigen::Matrix< Scalar, 3, 1 > &obb_dimensions, Eigen::Matrix< Scalar, 3, 3 > &obb_rotational_matrix)
| Compute centroid, OBB (Oriented Bounding Box), PCA axes of a given set of points.
template<typename PointT, typename Scalar>
unsigned int | pcl::computeCentroidAndOBB (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix< Scalar, 3, 1 > &centroid, Eigen::Matrix< Scalar, 3, 1 > &obb_center, Eigen::Matrix< Scalar, 3, 1 > &obb_dimensions, Eigen::Matrix< Scalar, 3, 3 > &obb_rotational_matrix)
| Compute centroid, OBB (Oriented Bounding Box), PCA axes of a given set of points.
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
| Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_out, int npts=0)
| Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out, int npts=0)
template<typename PointT>
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out, int npts=0)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Indices &indices, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_out)
| Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
template<typename PointT>
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename PointT, typename Scalar>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &centroid)
| General, all purpose nD centroid estimation for a set of points using their indices.
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::VectorXf &centroid)
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::VectorXd &centroid)
template<typename PointT, typename Scalar>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &centroid)
| General, all purpose nD centroid estimation for a set of points using their indices.
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::VectorXf &centroid)
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const Indices &indices, Eigen::VectorXd &centroid)
template<typename PointT, typename Scalar>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &centroid)
| General, all purpose nD centroid estimation for a set of points using their indices.
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::VectorXf &centroid)
template<typename PointT>
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::VectorXd &centroid)
template<typename PointInT, typename PointOutT>
std::size_t | pcl::computeCentroid (const pcl::PointCloud< PointInT > &cloud, PointOutT &centroid)
| Compute the centroid of a set of points and return it as a point.
template<typename PointInT, typename PointOutT>
std::size_t | pcl::computeCentroid (const pcl::PointCloud< PointInT > &cloud, const Indices &indices, PointOutT &centroid)
| Compute the centroid of a set of points and return it as a point.