ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Eigen.cpp File Reference
#include "Eigen.h"
#include "Logging.h"
#include <Eigen/Geometry>
#include <Eigen/Sparse>
#include <functional>
Include dependency graph for Eigen.cpp:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::utility
 

Functions

std::tuple< bool, Eigen::VectorXd > cloudViewer::utility::SolveLinearSystemPSD (const Eigen::MatrixXd &A, const Eigen::VectorXd &b, bool prefer_sparse=false, bool check_symmetric=false, bool check_det=false, bool check_psd=false)
 Function to solve Ax=b. More...
 
Eigen::Matrix4d cloudViewer::utility::TransformVector6dToMatrix4d (const Eigen::Vector6d &input)
 
Eigen::Vector6d cloudViewer::utility::TransformMatrix4dToVector6d (const Eigen::Matrix4d &input)
 
std::tuple< bool, Eigen::Matrix4d > cloudViewer::utility::SolveJacobianSystemAndObtainExtrinsicMatrix (const Eigen::Matrix6d &JTJ, const Eigen::Vector6d &JTr)
 
std::tuple< bool, std::vector< Eigen::Matrix4d, Matrix4d_allocator > > cloudViewer::utility::SolveJacobianSystemAndObtainExtrinsicMatrixArray (const Eigen::MatrixXd &JTJ, const Eigen::VectorXd &JTr)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, VecType &, double &, double &)> f, int iteration_num, bool verbose=true)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, std::vector< VecType, Eigen::aligned_allocator< VecType >> &, std::vector< double > &, std::vector< double > &)> f, int iteration_num, bool verbose=true)
 
template std::tuple< Eigen::Matrix6d, Eigen::Vector6d, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, Eigen::Vector6d &, double &, double &)> f, int iteration_num, bool verbose)
 
template std::tuple< Eigen::Matrix6d, Eigen::Vector6d, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, std::vector< Eigen::Vector6d, Vector6d_allocator > &, std::vector< double > &, std::vector< double > &)> f, int iteration_num, bool verbose)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixX (double radians)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixY (double radians)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixZ (double radians)
 
Eigen::Vector3uint8 cloudViewer::utility::ColorToUint8 (const Eigen::Vector3d &color)
 
Eigen::Vector3d cloudViewer::utility::ColorToDouble (uint8_t r, uint8_t g, uint8_t b)
 Color conversion from uint8_t 0-255 to double [0,1]. More...
 
Eigen::Vector3d cloudViewer::utility::ColorToDouble (const Eigen::Vector3uint8 &rgb)
 
template<typename IdxType >
Eigen::Matrix3d cloudViewer::utility::ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the covariance matrix of a set of points. More...
 
template<typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the mean and covariance matrix of a set of points. More...
 
template Eigen::Matrix3d cloudViewer::utility::ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< size_t > &indices)
 
template Eigen::Matrix3d cloudViewer::utility::ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< int > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< int > &indices)
 
template<typename RealType , typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const RealType *const points, const std::vector< IdxType > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const float *const points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const double *const points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const float *const points, const std::vector< int > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const double *const points, const std::vector< int > &indices)
 
Eigen::Matrix3d cloudViewer::utility::SkewMatrix (const Eigen::Vector3d &vec)
 Genretate a skew-symmetric matrix from a vector 3x1. More...