XCF: The Cross Correlation Function
HREBSD has cross-correlation at its core. The Cross-Correlation function (or XCF) is a well-established mathematical technique used in many fields from signal processing to astronomy. In HREBSD, cross-correlation provides a comparative measure of the distortion between a test pattern and a reference pattern. Cross-correlation is performed over numerous regions of interest (ROI) common to both patterns and the average shift within each of the selected ROIs between test and reference patterns is measured. These measurements are used to calculate a relative distortion matrix and this is then used to explain the stress/strain state of the material under study.
Typically, an ROI is square and covers around 1/16th of the total area of the pattern; ROI sampling is predominantly from the areas towards the outer edges of the pattern which, because of the gnomonic projection form of the pattern, are the most sensitive to strain. The cross-correlation (XCF) is based on Fourier Transforms and is best calculated with the Fast Fourier Transform (FFT) which constrains the size of the ROI (width and height) to a number that is a power of 2 (e.g. 128, 256, 512 etc.).
The XCF result of an ROI from 2 different patterns of similar orientation is a square array of real numbers. The number’s value at each point in the XCF array represents the degree of correlation between the 2 patterns if the test pattern had been offset to be centred at that point; these numbers are largest at the point where the 2 patterns best overlap (i.e. correlate). For example, if the contents of the ROI are identical apart from the test pattern being shifted one pixel to the right compared to the reference pattern, the XCF will have its brightest pixel at the position 1,0.
Sub-pixel shifts can be measured by using a peak fitting routine to interpolate the position of the XCF peak. In astronomy, for example, the movement of a star can be tracked to at least 1/100 of a pixel sensitivity. In HREBSD, with the presence of noise and a background signal, the sensitivity is limited to 1/10 to 1/20 of a pixel.