4#include <Eigen/Geometry>
11enum class RegularizationMethod { NONE, PLANE, NORMALIZED_MIN_EIG, FROBENIUS };
28 void estimate(
const std::vector<Eigen::Vector4d>& points,
const std::vector<int>& neighbors, std::vector<Eigen::Vector4d>& normals, std::vector<Eigen::Matrix4d>& covs)
const;
39 const std::vector<Eigen::Vector4d>& points,
40 const std::vector<int>& neighbors,
41 const int k_neighbors,
42 std::vector<Eigen::Vector4d>& normals,
43 std::vector<Eigen::Matrix4d>& covs)
const;
46 std::vector<Eigen::Matrix4d>
estimate(
const std::vector<Eigen::Vector4d>& points,
const std::vector<int>& neighbors,
const int k_neighbors)
const;
49 std::vector<Eigen::Matrix4d>
estimate(
const std::vector<Eigen::Vector4d>& points,
const std::vector<int>& neighbors)
const;
58 Eigen::Matrix4d
regularize(
const Eigen::Matrix4d& cov, Eigen::Vector3d* eigenvalues =
nullptr, Eigen::Matrix3d* eigenvectors =
nullptr)
const;
61 const RegularizationMethod regularization_method;
62 const int num_threads;
Point covariance estimation.
Definition cloud_covariance_estimation.hpp:16
void estimate(const std::vector< Eigen::Vector4d > &points, const std::vector< int > &neighbors, std::vector< Eigen::Vector4d > &normals, std::vector< Eigen::Matrix4d > &covs) const
Estimate point normals and covariances.
Eigen::Matrix4d regularize(const Eigen::Matrix4d &cov, Eigen::Vector3d *eigenvalues=nullptr, Eigen::Matrix3d *eigenvectors=nullptr) const
Regularize a covariance matrix.
std::vector< Eigen::Matrix4d > estimate(const std::vector< Eigen::Vector4d > &points, const std::vector< int > &neighbors) const
Estimate point covariances.
void estimate(const std::vector< Eigen::Vector4d > &points, const std::vector< int > &neighbors, const int k_neighbors, std::vector< Eigen::Vector4d > &normals, std::vector< Eigen::Matrix4d > &covs) const
Estimate point normals and covariances.
std::vector< Eigen::Matrix4d > estimate(const std::vector< Eigen::Vector4d > &points, const std::vector< int > &neighbors, const int k_neighbors) const
Estimate point covariances.