Validated DIC to Measure Local Strains in Biological Tissues

This algorithm is an effective method to calculate local strains in biological tissues using DIC (validated in mouse Achilles tendon).
26 Downloads
Updated 22 Feb 2023
===========================Summary===========================
This technique calculates local tissue strains and creates a 2D strain map for spatial analysis. These strain values are calculated by obtaining a displacement field that describes the relative motion of patterns on the images. The displacement field calculations and pattern tracking is carried out internally by calling Augmented Lagrange Digital Image Correlation (ALDIC) (Augmented Lagrangian Digital Image Correlation and Tracking - File Exchange - MATLAB Central (mathworks.com)), an excellent digital image correlation technique written by Dr. Jin Yang.
A major advantage of this technique is that it automatically assesses the accuracy of the displacement fields and the resulting 2D strain maps. The accuracy of the analysis is determined by unwarping the deformed image using the calculated displacement fields to attempt to replicate the reference image. Cross correlation techniques are used to compare the accuracy of the simulated reference image to the actual reference image. This comparison is used to identify regions within the displacement fields that are inaccurate.
========================Inputs & Outputs========================
Input: Images with speckle pattern
Example: (*This is an image of stained nuclei in a mouse Achilles tendon*)
Note: There are two sample images uploaded to the GitHub page called "00_DigitallyStrained" and "02_DigitallyStrained". In addition, a folder that contains the outputs when these two images are processed is provided. This folder is named "NuclearTrackingResults"
Output: Mean, Standard Deviation, and 2D maps of the following parameters:
X Strain
Y Strain
Shear Strain
Max Principal Strain
Min Principal Strain
Max Shear Strain
Percentage of Bad Regions (from internal validation)
Example Strain Maps:
Example Bad Region Indication:
The white box is the user-defined region of interest. Each blue box is a region where the cross correltaion coefficient was below a user-defined threshold (0.5)
=========================Use Instructions=========================
[1] Download the folder "Strain Calculation and Validation Code" and add this folder to your MATLAB path
[2] Install a mex C/C++ compiler according to Dr. Yang's steps (For ALDIC). His steps are summarized below
[2.1] Check to see if a mex C/C++ compiler is already working on your MATLAB. To do this, type "mex -setup" in the command window and press enter
[2.2] If this command runs successfuly, proceed to step [2.5]
[2.3] If this command returns an error, navigate to tdm-gcc (https:/tdm-gcc.tdragon.net/) and download the TDM-gcc compilar
[2.4] Return to the MATLAB command window and type: "setenv("MW_MINGW64_LOC","[Type your install path here]")". For example, "setenv(MW_MINGW64_LOC","C:\TDM-GCC-64")". If this command executes successfuly, the mex C/C++ compiler is properly installed.
[2.5] Enter the main_aldic.m script and change line 22 to match the command ran in step 2.4.
[3] Open the script "Strain_calc_and_validate.m" and press run
[4] When prompted, select the folder that contains the images to be analyzed, and press OK.
[5] When prompted, enter the desired values for the ALDIC Parameters (for more information on these parameters, see the ALDIC Mathworks page)
  • Window Size
  • Window StepSize
  • Method to Solve ALDIC global step subproblem 2
  • How many parallel pools to open
  • Method to compute initial guess of displacements
Using the default values we have provided will likely be effective for most applications
[6] When prompted, enter the desired values for the strain calculation and bad region analysis parameters.
  • Correlation coefficient threshold for bad regions
  • Subsize for search regions
  • Number of points to include in strain calculations
Using the default values we have provided will likely be effective for most applications
[7] When prompted, declare which variables would like to be saved.
[8] After code has ran for a period of time, you will be prompted to draw a region of interest. Draw a four-point polygon starting in the upper-left corner and placing subsequent points in a clockwise fashion.
[9] The code will finish running, and the results will be saved in a folder named "NuclearTrackingResults" in your working path.
============================Support============================
For assistance in any manner, please contact Stanton Godshall at stanton.godshall@gmail.com.

Cite As

Stanton Godshall (2026). Validated DIC to Measure Local Strains in Biological Tissues (https://github.com/Szczesnytendon/TendonStrainCalc/releases/tag/1.0), GitHub. Retrieved .

Godshall S, Pedaprolu K, Vasti E, Eskandari F, Szczesny SE. Measuring Local Tissue Strains in Tendons via Open-Source Digital Image Correlation. J Vis Exp. 2023;(191). doi: 10.3791/64921. PMID: 36779598

MATLAB Release Compatibility
Created with R2022b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags
Version Published Release Notes
1.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.