Digital Image Correlation Engine
Version 1.0
A modular, high-performance, image correlation tool used to compute full-field displacements and strains from digital images
|
Non-gradient based optimization algorithm class. More...
#include <DICe_Simplex.h>
Public Member Functions | |
Simplex (const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null) | |
Default constructor. More... | |
virtual | ~Simplex () |
destructor | |
virtual Status_Flag | minimize (Teuchos::RCP< std::vector< scalar_t > > variables, Teuchos::RCP< std::vector< scalar_t > > deltas, int_t &num_iterations, const scalar_t &threshold=1.0E-10) |
Returns the status of the algorithm when complete. More... | |
virtual scalar_t | objective (Teuchos::RCP< std::vector< scalar_t > > variables)=0 |
the objective function that the simplex method is optimizing More... | |
Protected Attributes | |
int_t | max_iterations_ |
Maximum allowed iterations for convergence. | |
double | tolerance_ |
Convergence tolerance. | |
scalar_t | tiny_ |
Numerically small value. | |
Non-gradient based optimization algorithm class.
Image gradients are not needed or used in a simplex method. The simplex method determines on an optimal solution (one that minimizes the objective's gamma function) by evaluating gamma at simplex vertices and modifying the simplex until it converges to a single point. This method is a lot slower than a gradient-based approach, but is much more robust. The simplex method will almost always converge to a value that that represents the best solution given the input parameters.
DICe::Simplex::Simplex | ( | const Teuchos::RCP< Teuchos::ParameterList > & | params = Teuchos::null | ) |
Default constructor.
params | Paramters that define the varaitions on the initial guess, convergence tolerance and max number of iterations |
|
virtual |
Returns the status of the algorithm when complete.
variables | [out] Taken as the initial guess for the first iteration and returned as the converged solution at successful completion. |
deltas | The variations on the initial guess used to construct the other simplex points. |
num_iterations | [out] Returns the number of iterations that took place |
threshold | if the initial evaluation of gamma is below this value, the analysis will be skipped A return value of MAX_ITERATIONS_REACHED means that convergence did not occur in the allowed number of iterations. A return value of CORRELATION_SUCCESSFUL means that convergence was obtained for the solution stored in the variables vector |
|
pure virtual |
the objective function that the simplex method is optimizing
variables | the current guess at which to evaluate the objective |
Implemented in DICe::Warp_Simplex, DICe::Quadratic_Homography_Simplex, DICe::Affine_Homography_Simplex, DICe::Homography_Simplex, and DICe::Subset_Simplex.