25 #ifndef _AbsoluteOrientation_hh_
26 #define _AbsoluteOrientation_hh_
28 #include <bias_config.h>
29 #include <Base/Math/Vector3.hh>
30 #include <Base/Math/Matrix3x3.hh>
31 #include <Geometry/RMatrix.hh>
87 const std::vector<double> &w = std::vector<double>(0)) {
88 return Compute_(X, Y, dR, dt, ds,
false, w);
98 const std::vector<double> &w = std::vector<double>(0)) {
100 return Compute_(X, Y, dR, dt, ds,
true, w);
110 const std::vector<double> &w = std::vector<double>(0));
114 { rotationAlgorithm_ = algorithm; };
123 double GetResidualErrors(std::vector<double> &errors,
127 const double &ds = 1.0,
128 const std::vector<double> &w
129 = std::vector<double>(0));
138 double GetResidualErrors(std::vector<double> &errors,
144 const double &ds = 1.0);
153 double GetResidualErrors(std::vector<double> &errors,
156 const RMatrix &dR,
const std::vector<double> &w
157 = std::vector<double>(0));
165 double GetResidualErrors(std::vector<double> &errors,
178 RotationEstimationMethod rotationAlgorithm_;
189 double &ds,
bool enforceScale =
false,
190 const std::vector<double> &w = std::vector<double>(0));
199 const std::vector<double> &w = std::vector<double>(0));
208 const std::vector<double> &w = std::vector<double>(0));
213 #endif // _AbsoluteOrientation_hh_
Robust computation of similarity transformation between two 3D point sets using a RANSAC approach...
Computes similarity transformation between 3D point sets.
static const unsigned int MIN_CORRESPONDENCES
int Compute(const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, RMatrix &dR, Vector3< double > &dt, const std::vector< double > &w=std::vector< double >(0))
Computes rotation dR and translation dt between coordinate systems from corresponding 3D point sets X...
RotationEstimationMethod
Methods for rotation estimation.
void SetRotationAlgorithm(RotationEstimationMethod algorithm)
Set algorithm used for rotation estimation.
int Compute(const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, RMatrix &dR, Vector3< double > &dt, double &ds, const std::vector< double > &w=std::vector< double >(0))
Computes rotation dR, translation dt and isometric scale ds between coordinate systems from correspon...