10 #define ScanMatching_H
25 namespace scanmatching
45 const std::vector<double> &inPoints,
46 std::vector<double> &outQuat,
47 bool forceScaleToUnity =
false );
51 const std::vector<double> &inPoints,
53 bool forceScaleToUnity =
false);
69 const bool forceScaleToUnity =
false );
85 const bool forceScaleToUnity =
false );
109 const unsigned int ransac_minSetSize = 5,
110 const unsigned int ransac_nmaxSimulations = 50,
111 const double ransac_maxSetSizePct = 0.7,
112 const bool forceScaleToUnity =
false );
178 float normalizationStd,
179 unsigned int ransac_minSetSize = 3,
180 unsigned int ransac_maxSetSize = 20,
181 float ransac_mahalanobisDistanceThreshold = 3.0f,
182 unsigned int ransac_nSimulations = 0,
184 bool ransac_fuseByCorrsMatch =
true,
185 float ransac_fuseMaxDiffXY = 0.01f,
187 bool ransac_algorithmForLandmarks =
true,
188 double probability_find_good_model = 0.999,
189 unsigned int ransac_min_nSimulations = 1500,
190 const bool verbose =
false,
191 double max_rmse_to_end = 0
bool SCANMATCHING_IMPEXP leastSquareErrorRigidTransformation6DRANSAC(const TMatchingPairList &in_correspondences, CPose3D &out_transformation, double &out_scale, vector_int &out_inliers_idx, const unsigned int ransac_minSetSize=5, const unsigned int ransac_nmaxSimulations=50, const double ransac_maxSetSizePct=0.7, const bool forceScaleToUnity=false)
This method provides the closed-form solution of absolute orientation using unit quaternions to a set...
std::vector< int32_t > vector_int
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
double DEG2RAD(const double x)
Degrees to radians.
Declares a class that represents a Probability Density function (PDF) of a 2D pose ...
bool SCANMATCHING_IMPEXP leastSquareErrorRigidTransformation(TMatchingPairList &in_correspondences, CPose2D &out_transformation, CMatrixDouble33 *out_estimateCovariance=NULL)
This method provides the basic least-square-error solution to a set of over-constrained correspondenc...
#define SCANMATCHING_IMPEXP
bool SCANMATCHING_IMPEXP leastSquareErrorRigidTransformation6D(const TMatchingPairList &in_correspondences, CPose3DQuat &out_transformation, double &out_scale, const bool forceScaleToUnity=false)
This method provides the closed-form solution of absolute orientation using unit quaternions to a set...
A numeric matrix of compile-time fixed size.
This base provides a set of functions for maths stuff.
Declares a class that represents a Probability Density function (PDF) of a 2D pose ...
double SCANMATCHING_IMPEXP HornMethod(const std::vector< double > &inPoints, std::vector< double > &outQuat, bool forceScaleToUnity=false)
This function implements the Horn method for computing the change in pose between two coordinate syst...
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 2D pose.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void SCANMATCHING_IMPEXP robustRigidTransformation(TMatchingPairList &in_correspondences, poses::CPosePDFSOG &out_transformation, float normalizationStd, unsigned int ransac_minSetSize=3, unsigned int ransac_maxSetSize=20, float ransac_mahalanobisDistanceThreshold=3.0f, unsigned int ransac_nSimulations=0, TMatchingPairList *out_largestSubSet=NULL, bool ransac_fuseByCorrsMatch=true, float ransac_fuseMaxDiffXY=0.01f, float ransac_fuseMaxDiffPhi=mrpt::utils::DEG2RAD(0.1f), bool ransac_algorithmForLandmarks=true, double probability_find_good_model=0.999, unsigned int ransac_min_nSimulations=1500, const bool verbose=false, double max_rmse_to_end=0)
This method implements a RANSAC-based robust estimation of the rigid transformation between two plana...