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
|
A container class for the subsets, optimization algorithm and initialization routine used to correlate a single point. More...
#include <DICe_Objective.h>
Public Member Functions | |
Objective (Schema *schema, const int_t correlation_point_global_id) | |
Base class constructor uses a DICe::Schema to get parameter values and an index to denote the correlation point. More... | |
Objective (Schema *schema, const int_t x, const int_t y) | |
Base class constructor uses a DICe::Schema to get parameter values and coordinates to denote the centroid of the subset. More... | |
scalar_t | gamma (Teuchos::RCP< Local_Shape_Function > shape_function) const |
Correlation criteria. More... | |
scalar_t | sigma (Teuchos::RCP< Local_Shape_Function > shape_function, scalar_t &noise_level) const |
Uncertainty measure for solution. More... | |
scalar_t | beta (Teuchos::RCP< Local_Shape_Function > shape_function) const |
Measure of the slope of the optimization landscape or how deep the minimum well is. More... | |
virtual Status_Flag | computeUpdateFast (Teuchos::RCP< Local_Shape_Function > shape_function, int_t &num_iterations)=0 |
Gradient based optimization algorithm. More... | |
Status_Flag | computeUpdateRobust (Teuchos::RCP< Local_Shape_Function > shape_function, int_t &num_iterations, const scalar_t &override_tol=-1.0) |
Simplex based optimization algorithm. More... | |
const mv_scalar_type & | global_field_value (const DICe::field_enums::Field_Spec spec) const |
Returns the current value of the field specified. These values are stored in the schema. More... | |
Teuchos::RCP< Subset > | subset () const |
Returns a pointer to the subset. | |
Schema * | schema () const |
Returns a pointer to the schema. | |
int_t | sub_image_id () const |
Returns the sub image id of the subset. | |
int_t | correlation_point_global_id () const |
Returns the global id of the current correlation point. | |
Protected Member Functions | |
void | computeUncertaintyFields (Teuchos::RCP< Local_Shape_Function > shape_function) |
Protected Attributes | |
Schema * | schema_ |
Pointer to the schema for this analysis. | |
const int_t | correlation_point_global_id_ |
Correlation point global id. | |
Teuchos::RCP< Subset > | subset_ |
Pointer to the subset. | |
A container class for the subsets, optimization algorithm and initialization routine used to correlate a single point.
A DICe::Objective contains all the necessary elements of a minimization objective, for example, to minimize the sum squared difference of the intensity values between a subset taken from the reference and deformed image. The correlation criteria, gamma, is defined here. Each objective has a fast and robust method for determining the deformation map that minimizes gamma. The fast method is typically image gradient based and the robust method is usually simplex based.
An objective has, as part of its member data, a reference DICe::Subset and a deformed DICe::Subset. These subsets represent a small subsection of the image.
The degrees of freedom for an objective are the elements of the shape function parameters (displacement, rotation, stretch, etc.). The shape function parameters are initialized outside of the objective class. These values are then passed to the computeUpdateRobust() or computeUpdateFast() methods which contain the bulk of the optimization algorithm. The sigma() function provides a representation of the uncertainty of the solution.
Base class constructor uses a DICe::Schema to get parameter values and an index to denote the correlation point.
schema | a DICe::Schema that holds all the correlation parameters |
correlation_point_global_id | Control point local index (the local id of the control point, in parallel this is the id on the current processor) |
Base class constructor uses a DICe::Schema to get parameter values and coordinates to denote the centroid of the subset.
schema | a DICe::Schema that holds all the correlation parameters |
x | x-coordinate of the centroid |
y | y-coordinate of the centroid |
scalar_t DICe::Objective::beta | ( | Teuchos::RCP< Local_Shape_Function > | shape_function | ) | const |
Measure of the slope of the optimization landscape or how deep the minimum well is.
shape_function | pointer to the class that holds the deformation parameter values |
|
protected |
Computes the difference from the exact solution and associated fields
shape_function | pointer to the class that holds the deformation parameter values |
|
pure virtual |
Gradient based optimization algorithm.
shape_function | pointer to the class that holds the deformation parameter values |
num_iterations | [out] The number of interations a particular frame took to execute |
Implemented in DICe::Objective_ZNSSD.
Status_Flag DICe::Objective::computeUpdateRobust | ( | Teuchos::RCP< Local_Shape_Function > | shape_function, |
int_t & | num_iterations, | ||
const scalar_t & | override_tol = -1.0 |
||
) |
Simplex based optimization algorithm.
shape_function | pointer to the class that holds the deformation parameter values |
num_iterations | [out] The number of interations a particular frame took to execute |
override_tol | set this value if for this particular subset, the tolerance should be changed |
scalar_t DICe::Objective::gamma | ( | Teuchos::RCP< Local_Shape_Function > | shape_function | ) | const |
Correlation criteria.
shape_function | pointer to the class that holds the deformation parameter values |
|
inline |
Returns the current value of the field specified. These values are stored in the schema.
spec | Field_Spec that defines the requested field |
scalar_t DICe::Objective::sigma | ( | Teuchos::RCP< Local_Shape_Function > | shape_function, |
scalar_t & | noise_level | ||
) | const |
Uncertainty measure for solution.
shape_function | [out] pointer to the class that holds the deformation parameter values |
noise_level | [out] Returned as the standard deviation estimate of the image noise sigma_g from Sutton et.al. |