Picture Frame DIC Analysis Workflow¶
This document outlines the workflow for processing grid data in the Direct Image Correlation (DIC) analysis of a picture frame test.
The core logic is encapsulated in the process_grid_data method of the DICGrid class.
Overview¶
The processing pipeline converts raw coordinate data from tracking markers into full-field strain maps through the following four stages:
Data Ingestion: Raw image paths and point coordinates are stored.
Displacement Calculation: Computes the vector difference between current and reference configurations.
Field Interpolation: Converts sparse marker data into a dense grid.
Strain Computation: Derives strain tensors from the displacement field.
Detailed Workflow¶
Step 1: Displacement Calculation¶
The method first determines the displacement field (\(\mathbf{u}\)) based on the input coordinates.
Input:
current_pointsandreference_points.- Logic:
If
remove_rigid_transformisTrue: The method calculates displacement after subtracting rigid body motions (translation/rotation) viacompute_disp_and_remove_rigid_transform.Otherwise: It calculates raw displacement via
compute_displacement.
Output:
self.disp
Step 2: Grid Interpolation¶
To move from discrete marker points to a continuous field, the data is passed to the GridInterpolator.
Class:
GridInterpolatorMethod:
interpolate_displacementAction: Maps the irregular
self.dispdata onto the regular mesh defined byself.grid_xandself.grid_y.Output:
self.disp_x,self.disp_y(Dense displacement fields).
Step 3: Strain Calculation¶
Finally, the dense displacement fields are differentiated to obtain strain.
Class:
StrainCalculatorMethod:
compute_strain- Parameters:
method: Acceptscauchy,2nd_order(Green-Lagrange), orlog(Hencky).
- Output:
Normal Strains:
self.strain_xx,self.strain_yyShear Strain:
self.strain_xy
API Reference¶
- process_grid_data(self, reference_image, image, reference_points, current_points, interpolation_method, strain_type, remove_rigid_transform=False)¶
Orchestrates the DIC processing pipeline.
- Parameters:
reference_image (pathlib.Path | str) – Filename or path of the reference (undeformed) image.
image (pathlib.Path | str) – Filename or path of the current (deformed) image.
reference_points (np.ndarray) – Coordinates of markers in the reference configuration.
current_points (np.ndarray) – Coordinates of markers in the current configuration.
interpolation_method (str) – The algorithm used to grid the scattered data (e.g., ‘linear’, ‘cubic’).
strain_type (str) – Definition of strain to compute (‘green_lagrange’, ‘cauchy-eng’, ‘2nd_order’, ‘log’).
remove_rigid_transform (bool, optional) – If True, rigid body rotation and translation are removed before strain calculation.
- Returns:
The computed displacement vector.