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 Attributes | List of all members
DICe::Post_Processor Class Referenceabstract

A class for computing variables based on the field values and associated utilities. More...

#include <DICe_PostProcessor.h>

Inheritance diagram for DICe::Post_Processor:
DICe::Altitude_Post_Processor DICe::Live_Plot_Post_Processor DICe::NLVC_Strain_Post_Processor DICe::Uncertainty_Post_Processor DICe::VSG_Strain_Post_Processor

Public Member Functions

 Post_Processor (const std::string &name)
 Default constructor. More...
 
virtual ~Post_Processor ()
 Pure virtual destructor.
 
void initialize (Teuchos::RCP< DICe::mesh::Mesh > &mesh)
 
void initialize_neighborhood (const scalar_t &neighborhood_radius)
 
virtual void pre_execution_tasks ()=0
 Tasks that are done once after initialization, but before execution.
 
virtual int_t strain_window_size ()=0
 Returns the size of the strain window in pixels.
 
virtual void set_params (const Teuchos::RCP< Teuchos::ParameterList > &params)=0
 Read in parameters for this post processor.
 
void set_field_names (const Teuchos::RCP< Teuchos::ParameterList > &params)
 Set the field names.
 
void set_stereo_field_names ()
 Default to the model fields for post processors.
 
void update_current_frame_id (const int_t frame_id)
 update the id of the current frame
 
virtual void execute ()=0
 Execute the post processor.
 
std::vector< DICe::field_enums::Field_Spec > * field_specs ()
 Return a pointer to the field spec vector.
 

Protected Attributes

Teuchos::RCP< DICe::mesh::Meshmesh_
 Pointer to the mesh to access fields and discretization.
 
std::string name_
 String name of this post processor.
 
int_t local_num_points_
 Number of points local to this processor.
 
int_t overlap_num_points_
 Number of overalp points.
 
std::vector< DICe::field_enums::Field_Specfield_specs_
 The collection of field names specific to this post processor.
 
Teuchos::RCP< Point_Cloud_2D< scalar_t > > point_cloud_
 pointer to the point cloud used for the neighbor searching
 
std::vector< std::vector< int_t > > neighbor_list_
 array holding the number of neighbors for each point
 
std::vector< std::vector< scalar_t > > neighbor_dist_x_
 array holding the signed x distances for each neighbor in one long strided array
 
std::vector< std::vector< scalar_t > > neighbor_dist_y_
 array holding the signed y distances for each neighbor in one long strided array
 
bool neighborhood_initialized_
 true when the neighbor lists have been constructed
 
std::string coords_x_name_
 holds the field name to be used for coordinates field
 
std::string coords_y_name_
 holds the field name to be used for coordinates field
 
std::string disp_x_name_
 holds the field name to be used for coordinates field
 
std::string disp_y_name_
 holds the field name to be used for coordinates field
 
bool has_custom_field_names_
 true if the fields have been customized
 
int current_frame_id_
 store the current frame number for output if needed
 

Detailed Description

A class for computing variables based on the field values and associated utilities.

Constructor & Destructor Documentation

◆ Post_Processor()

DICe::Post_Processor::Post_Processor ( const std::string &  name)

Default constructor.

Parameters
nameThe name of this post processor, so that it can be referenced later or used in debugging

Member Function Documentation

◆ initialize()

void DICe::Post_Processor::initialize ( Teuchos::RCP< DICe::mesh::Mesh > &  mesh)

operations that all post processors need to do after construction

Parameters
meshPointer to a computational mesh with fields and discretization

◆ initialize_neighborhood()

void DICe::Post_Processor::initialize_neighborhood ( const scalar_t neighborhood_radius)

set up the neighbor lists for each point

Parameters
neighborhood_radiusinclusive radius of a point's neighborhood if the radius is positive a radius search is used to construct the neighbors if the radius is negative, the search is k-nearest neighbors with the k being (int)(-1*radius)