Helios++
Helios software for LiDAR simulations
|
Handle plane fitting operations. More...
#include <PlaneFitter.hpp>
Static Public Member Functions | |
template<typename T > | |
static vector< T > | centerCoordinatesMatrix (Mat< T > &M) |
Modify coordinates at M so they are centered at origin. More... | |
template<typename T > | |
static vector< T > | translateToOrigin (Mat< T > &M, vector< T > center) |
Translate M to origin transposing by center point. More... | |
template<typename T > | |
static Plane< T > | bestFittingPlaneSVD (Mat< T > &M) |
Compute the best fitting plane for given Matrix of coordinates through singular value decomposition. More... | |
template<typename T > | |
static Plane< T > | bestFittingPlanePCA (Mat< T > &M) |
Compute the best fitting plane for given Matrix of coordinates through principal component analysis. More... | |
template<typename T > | |
static Plane< T > | bestFittingPlaneFromCovariances (Mat< T > &M) |
Compute the best fitting plane for given Matrix of covariances through eigen value decomposition. More... | |
template<typename T > | |
static DetailedPlane< T > | bestFittingDetailedPlaneSVD (Mat< T > &M, vector< T > center) |
Like bestFittingPlaneSVD but returning a DetailedPlane which provides more information than a simple Plane object. More... | |
template<typename T > | |
static DetailedPlane< T > | bestFittingDetailedPlanePCA (Mat< T > &M, vector< T > center) |
Like bestFittingPlanePCA but returning a DetailedPlane which provides more information than a simple Plane object. More... | |
Static Protected Member Functions | |
template<typename T > | |
static void | extractCommonPlaneComponents (arma::mat const &A, arma::vec const &v, T &sum, Plane< T > &p) |
Extract common plane components. More... | |
template<typename T > | |
static void | extractDetailedPlaneComponents (Mat< T > const &M, arma::mat const &A, arma::vec const &v, T const &sum, DetailedPlane< T > &p) |
Extract detailed plane components. It must be invoked after common plane components are extracted into given plane. More... | |
Handle plane fitting operations.
|
static |
Like bestFittingPlanePCA but returning a DetailedPlane which provides more information than a simple Plane object.
center | When center is a non empty vector, it will be used as the origin of the vector subspace. In consequence, the matrix M will be treated as an affine space such that when transposed by center it will be a vector subspace |
|
static |
Like bestFittingPlaneSVD but returning a DetailedPlane which provides more information than a simple Plane object.
center | When center is a non empty vector, it will be used as the origin of the vector subspace. In consequence, the matrix M will be treated as an affine space such that when transposed by center it will be a vector subspace |
|
static |
Compute the best fitting plane for given Matrix of covariances through eigen value decomposition.
T | Type of number |
M | Matrix of covariances |
|
static |
Compute the best fitting plane for given Matrix of coordinates through principal component analysis.
T | Type of number |
M | Matrix of coordinates. Row-coordinates format is mandatory: M[0] := First X coordinate M[1] := Second X coordinate M[n-1] := Last X coordinate M[n] := First Y coordinate M[n+1] := Second Y coordinate M[2n-1] := Last Y coordinate M[2n] := First Z coordinate M[2n+1] := Second Z coordinate M[3n-1] := Last Z coordinate |
|
static |
Compute the best fitting plane for given Matrix of coordinates through singular value decomposition.
\[ M_{n_{x}3} = U_{n_{x}r} \Sigma_{r_{x}r} V^{T}_{r_{x}3} \]
Then \((V^{T}_{1,3} , V^{T}_{2,3} , V^{T}_{3,3})\) it is the orthonormal of best fitting plane.
T | Type of number |
M | Matrix of coordinates. Row-coordinates format is mandatory: M[0] := First X coordinate M[1] := Second X coordinate M[n-1] := Last X coordinate M[n] := First Y coordinate M[n+1] := Second Y coordinate M[2n-1] := Last Y coordinate M[2n] := First Z coordinate M[2n+1] := Second Z coordinate M[3n-1] := Last Z coordinate |
|
static |
Modify coordinates at M so they are centered at origin.
T | Type of number |
M | Matrix of coordinates. Following format is mandatory: M[0] := First X coordinate M[1] := Second X coordinate M[n-1] := Last X coordinate M[n] := First Y coordinate M[n+1] := Second Y coordinate M[2n-1] := Last Y coordinate M[2n] := First Z coordinate M[2n+1] := Second Z coordinate M[3n-1] := Last Z coordinate |
|
staticprotected |
Extract common plane components.
|
staticprotected |
Extract detailed plane components. It must be invoked after common plane components are extracted into given plane.
[in] | M | Matrix of coordinates |
[in] | A | Matrix containing eigen vectors or singular vectors |
[in] | v | Vector of singular values or eigen values |
[in] | sum | Ist must contain summation of singular or eigen values |
p | Plane where common components are stored and where detailed components will be placed. It is both an input/output argument |
|
static |
Translate M to origin transposing by center point.
T | Type of number |
M | Matrix of coordinates to be translated. It must have the same format than the one specified for centerCoordinatesMatrix function |
center | Reference point to compute the origin of vector subspace |