Digital image correlation (DIC) techniques have been increasing in popularity, especially in micro- and nano-scale mechanical testing applications due to their relative ease of implementation and use. Advances in computer technology and digital cameras have been the enabling technologies for this method and while white-light optics has been the predominant approach, DIC can be and has been extended to almost any imaging technology. The concept of using
cross-correlation to measure shifts in datasets has been known for a long time, and it has been applied to digital images since at least the early 1970s. The present-day applications are almost innumerable, including image analysis, image compression, velocimetry, and strain estimation. Much early work in DIC in the field of mechanics was led by researchers at the
University of South Carolina in the early 1980s and has been optimized and improved in recent years. Commonly, DIC relies on finding the maximum of the correlation array between pixel intensity array subsets on two or more corresponding images, which gives the integer translational shift between them. It is also possible to estimate shifts to a finer resolution than the resolution of the original images, which is often called "sub-pixel" registration because the measured shift is smaller than an integer pixel unit. For sub-pixel interpolation of the shift, other methods do not simply maximize the correlation coefficient. An iterative approach can also be used to maximize the interpolated correlation coefficient by using non-linear optimization techniques. The non-linear optimization approach tends to be conceptually simpler and can handle large deformations more accurately, but as with most nonlinear optimization techniques, it is slower. The two-dimensional discrete cross correlation r_{ij} can be defined in several ways, one possibility being: : r_{ij} = \frac{\sum_m \sum_n [f(m+i,n+j)-\bar{f}][g(m,n)-\bar{g}]}{\sqrt{\sum_m \sum_n {[f(m,n)-\bar{f}]^2} \sum_m \sum_n {[g(m, n)-\bar{g}]^2}}}. Here
f(
m,
n) is the pixel intensity or the gray-scale value at a point (
m,
n) in the original image,
g(
m,
n) is the gray-scale value at a point (
m,
n) in the translated image, \bar{f} and \bar{g} are mean values of the intensity matrices
f and
g respectively. However, in practical applications, the correlation array is usually computed using Fourier-transform methods, since the
fast Fourier transform is a much faster method than directly computing the correlation. : \mathbf{F} = \mathcal{F}\{f\}, \quad \mathbf{G} = \mathcal{F}\{g\}. Then taking the
complex conjugate of the second result and multiplying the
Fourier transforms together elementwise, we obtain the Fourier transform of the correlogram,\ R: : R = \mathbf{F} \circ \mathbf{G}^*, where \circ is the
Hadamard product (entry-wise product). It is also fairly common to normalize the magnitudes to unity at this point, which results in a variation called
phase correlation. Then the cross-correlation is obtained by applying the inverse Fourier transform: :\ r = \mathcal{F}^{-1}\{R\}. At this point, the coordinates of the maximum of r_{ij} give the integer shift: :(\Delta x, \Delta y) = \arg\max_{(i, j)}\{r\}. ==Deformation mapping==