Xmipp
v3.23.11-Nereus
|
Go to the source code of this file.
Classes | |
struct | ThreadRansacArgs |
Functions | |
void | solveLinearSystem (PseudoInverseHelper &h, Matrix1D< double > &result) |
void | solveLinearSystem (WeightedLeastSquaresHelperMany &h, std::vector< Matrix1D< double >> &results) |
void | weightedLeastSquares (WeightedLeastSquaresHelper &h, Matrix1D< double > &result) |
void | weightedLeastSquares (WeightedLeastSquaresHelperMany &h, std::vector< Matrix1D< double >> &results) |
double | ransacWeightedLeastSquaresBasic (WeightedLeastSquaresHelper &h, Matrix1D< double > &result, double tol, int Niter, double outlierFraction) |
void * | threadRansacWeightedLeastSquares (void *args) |
void | ransacWeightedLeastSquares (WeightedLeastSquaresHelper &h, Matrix1D< double > &result, double tol, int Niter, double outlierFraction, int Nthreads) |
void ransacWeightedLeastSquares | ( | WeightedLeastSquaresHelper & | h, |
Matrix1D< double > & | result, | ||
double | tol, | ||
int | Niter = 10000 , |
||
double | outlierFraction = 0.25 , |
||
int | Nthreads = 1 |
||
) |
Solve Weighted least square problem Ax=b and weights w, with RANSAC. Tol is a tolerance value: if an equation is fulfilled with an error smaller than tol, then it is considered to fulfill the model. Niter is the number of RANSAC iterations to perform. The outlier fraction is the fraction of equations that, at maximum, can be considered as outliers.
Definition at line 332 of file linear_system_helper.cpp.
double ransacWeightedLeastSquaresBasic | ( | WeightedLeastSquaresHelper & | h, |
Matrix1D< double > & | result, | ||
double | tol, | ||
int | Niter, | ||
double | outlierFraction | ||
) |
Definition at line 164 of file linear_system_helper.cpp.
void solveLinearSystem | ( | PseudoInverseHelper & | h, |
Matrix1D< double > & | result | ||
) |
Solve Linear system Ax=b with pseudoinverse. A and b must be set inside the PseudoInverseHelper, the rest of the fields in PseudoInverseHelper are used by this routine to avoid several allocation/deallocations DEPRECATED, use solveLinearSystem(WeightedLeastSquaresHelperMany &h, std::vector<Matrix1D<double>> &results)
Definition at line 33 of file linear_system_helper.cpp.
void solveLinearSystem | ( | WeightedLeastSquaresHelperMany & | h, |
std::vector< Matrix1D< double >> & | result | ||
) |
Solve Linear system Ax=[b] with pseudoinverse. A and all 'b's must be set inside the helper
Definition at line 70 of file linear_system_helper.cpp.
void* threadRansacWeightedLeastSquares | ( | void * | args | ) |
Definition at line 324 of file linear_system_helper.cpp.
void weightedLeastSquares | ( | WeightedLeastSquaresHelper & | h, |
Matrix1D< double > & | result | ||
) |
Solve Weighted least square problem Ax=b with pseudoinverse and weights w. A, w and b must be set inside the WeightedLeastSquaresHelper, the rest of the fields in WeightedLeastSquaresHelper are used by this routine to avoid several allocation/deallocations.
The normal equations of this problem are A^t W A x = A^t W b, where W is a diagonal matrix whose entries are in the vector w.
DEPRECATED, use weightedLeastSquares(WeightedLeastSquaresHelperMany &h, std::vector<Matrix1D<double>> &results)
Definition at line 119 of file linear_system_helper.cpp.
void weightedLeastSquares | ( | WeightedLeastSquaresHelperMany & | h, |
std::vector< Matrix1D< double >> & | results | ||
) |
Solve Weighted least square problem Ax=b with pseudoinverse and weights w for multiple b. A, w and all 'b's must be set inside the helper to avoid several allocation/deallocations.
The normal equations of this problem are A^t W A x = A^t W b, where W is a diagonal matrix whose entries are in the vector w.
Definition at line 136 of file linear_system_helper.cpp.