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
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DICe::Objective Class Referenceabstract

A container class for the subsets, optimization algorithm and initialization routine used to correlate a single point. More...

#include <DICe_Objective.h>

Inheritance diagram for DICe::Objective:
DICe::Objective_ZNSSD

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< Subsetsubset () const
 Returns a pointer to the subset.
 
Schemaschema () 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

Schemaschema_
 Pointer to the schema for this analysis.
 
const int_t correlation_point_global_id_
 Correlation point global id.
 
Teuchos::RCP< Subsetsubset_
 Pointer to the subset.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Objective() [1/2]

DICe::Objective::Objective ( Schema schema,
const int_t  correlation_point_global_id 
)
inline

Base class constructor uses a DICe::Schema to get parameter values and an index to denote the correlation point.

Parameters
schemaa DICe::Schema that holds all the correlation parameters
correlation_point_global_idControl point local index (the local id of the control point, in parallel this is the id on the current processor)

◆ Objective() [2/2]

DICe::Objective::Objective ( Schema schema,
const int_t  x,
const int_t  y 
)
inline

Base class constructor uses a DICe::Schema to get parameter values and coordinates to denote the centroid of the subset.

Parameters
schemaa DICe::Schema that holds all the correlation parameters
xx-coordinate of the centroid
yy-coordinate of the centroid

Member Function Documentation

◆ beta()

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.

Parameters
shape_functionpointer to the class that holds the deformation parameter values

◆ computeUncertaintyFields()

void DICe::Objective::computeUncertaintyFields ( Teuchos::RCP< Local_Shape_Function shape_function)
protected

Computes the difference from the exact solution and associated fields

Parameters
shape_functionpointer to the class that holds the deformation parameter values

◆ computeUpdateFast()

virtual Status_Flag DICe::Objective::computeUpdateFast ( Teuchos::RCP< Local_Shape_Function shape_function,
int_t num_iterations 
)
pure virtual

Gradient based optimization algorithm.

Parameters
shape_functionpointer 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.

◆ computeUpdateRobust()

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.

Parameters
shape_functionpointer to the class that holds the deformation parameter values
num_iterations[out] The number of interations a particular frame took to execute
override_tolset this value if for this particular subset, the tolerance should be changed

◆ gamma()

scalar_t DICe::Objective::gamma ( Teuchos::RCP< Local_Shape_Function shape_function) const

Correlation criteria.

Parameters
shape_functionpointer to the class that holds the deformation parameter values

◆ global_field_value()

const mv_scalar_type& DICe::Objective::global_field_value ( const DICe::field_enums::Field_Spec  spec) const
inline

Returns the current value of the field specified. These values are stored in the schema.

Parameters
specField_Spec that defines the requested field

◆ sigma()

scalar_t DICe::Objective::sigma ( Teuchos::RCP< Local_Shape_Function shape_function,
scalar_t noise_level 
) const

Uncertainty measure for solution.

Parameters
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.