Development and analysis of a NumPy-based DIC application for strain calculation
Tutor / director / evaluatorFerrer Ballester, Miquel
Document typeBachelor thesis
Rights accessOpen Access
Digital Image Correlation (DIC) is a full-field, non-contact optical technique that tracks 2-D or 3-D images in order to establish a one-to-one correspondence to obtain accurate deformation data. This technique is being used more and more due to the technological improvements in computation and the rapid development of high resolution cameras. This project aims to explain, first of all, an efficient algorithm to perform a DIC analysis, mostly based on the compilation of procedures done for Ncorr, a DIC application made by Justin Blaber as a completion of his master’s degree. The algorithm uses the inverse compositional Gauss-Newton method (IC-GN) and interpolates the images by means of B-splines in a sophisticated way. An attempt has been made to describe the mathematical framework deeply enough to serve as the basis for developing an application. A parallel objective of the project is, therefore, developing the application. The software is written in Python, but using mainly the scientific library NumPy, along with other C-based packages (SciPy, Cython, Matplotlib and PyInstaller) which allow, among other features, to manipulate image files and generate plots. Moreover, the vectorization technique, which has been necessary to speed up the code to a reasonable level, is outlined. Finally, a brief set of tests are carried out to verify the accuracy and the reliability of the developed application, comparing the results with those obtained using the commercial package GOM Correlate. In the light of these results, it is clear that the application works appropriately, although further modifications need to be applied to improve the effectiveness of showing the strain data. Furthermore, another purpose is that the project goes ahead, since the application is quite basic, but there are still some programming techniques and other DIC improvements that could be tested and implemented. For this reason, a set of next steps have been listed at the end of this report.