The q-factor-based Digital Image Correlation Algorithm.
The repository contains the MATLAB m-files for qDIC along with synthetic example images. The qDIC algorithm determines 2D displacement fields between consecutive images or from a static reference image to a current image.
MATLAB 2011b (for "griddedInterpolant") and the associated Image Processing Toolbox (for other miscellaneous function calls) are the minimum supported requirements to run this code. Under some circumstances older versions may function using "interpn", but performance and/or accuracy may suffer (and you'll have to implement the change to "interpn"). Development is currently under Matlab 2017a on CentOS 7 and Window 7 x64.
- To check if the images have the required speckle pattern and intensity values for correlation please use our DIC simulator.
- We recommend that the input image stack should have at least 3 times the subset size as the number of pixels in each dimension. The default subset size is 64x64, meaning the the minimum input image size should be 192x192.
- Non-square images are acceptable
- The fundamental image type used for input is .mat
- Out-of-the-box qDIC supports most common Matlab-readable images with
img2mat.m
, other file formats require simple modification
- Make sure that the main files are in the current (working) directory for MATLAB.
- Copy the desired test images
test_images
directory as needed. - Run the
exampleRunFile.m
file to get 2D displacement fields between the two images. Note that the displacement output is in an nx1x3 cell array.
- Function files
- addDisplacements_2D.m
- checkConvergenceSSD_2D.m
- DIC.m
- filterDisplacements_2D.m
- flagOutliers_2D.m
- funIDIC.m
- IDIC.m
- inc2cum.m
- FIDICinc2cum.m
- removeOutliers_2D.m
- replaceOutliers_2D.m
- areaMapping_2D.m
- Supplemental .m files from the MATLAB file exchange:
- inpaint_nans.m
- mirt2D_mexinterp.m (Optional, not currently in use)
- Example files to run basic qDIC
- exampleRunFile.m
- img2mat.m
- imageCropping.m
- image_eval.m
- Example test images
What are the requirements for the input images?
Please refer to input image requirement.
Can I use qDIC for finding displacement fields in 3D images?
No. But you can use FIDVC, this finds 3D displacements in 3D image stack (i.e. a volumetric image). We do not support any 3D-DIC (stereo) functionality.
Why does the example fail to run?
In many cases where the example images fail to run, the minimum specifications for MATLAB have not been met.
If used please cite: [Landauer, A.K., Patel, M., Henann, D.L. et al. Exp Mech (2018). https://doi.org/10.1007/s11340-018-0377-4)
@Article{Landauer2018,
author="Landauer, AK
and Patel, M
and Henann, DL
and Franck, C",
title="A q-Factor-Based Digital Image Correlation Algorithm (qDIC) for Resolving Finite Deformations with Degenerate Speckle Patterns",
journal="Experimental Mechanics",
year="2018",
issn="1741-2765",
doi="10.1007/s11340-018-0377-4",
url="https://doi.org/10.1007/s11340-018-0377-4"
}
}
For questions, please first refer to FAQ and Questions/Issues. Add a new question if similar issue hasn't been reported. We shall help you at the earliest. The author's contact information can be found at Franck Lab.