next up previous contents
Next: Measurement grid: Up: Basic algorithm Previous: search-box:   Contents


The cross-correlation (covariance) function:

We work with the pixel intensities \( I_{a}(k,l) \) and \( I_{b}(k+i,l+j) \), \( k=1..B_{x},l=1...B_{y} \), in a rectangular box of size \( B_{x} \) and \( B_{y} \). The subscripts \( a \) and \( b \) refer to the two images between which the cross-correlation is calculated. The index origin (1,1) is set at the lower left corner of the box of the first image. The second box is shifted from the first one by the vector \( (i,j) \).

We first calculate the box intensity averages


\begin{displaymath}
\overline{I_{a}}=\frac{1}{B_{x}B_{y}}\sum ^{B_{x}}_{k=1}\sum ^{B_{y}}_{l=1}I_{a}(k,l)\end{displaymath}


\begin{displaymath}
\overline{I_{b}}=\frac{1}{B_{x}B_{y}}\sum ^{B_{x}}_{k=1}\sum ^{B_{y}}_{l=1}I_{b}(k+i,l+j)\end{displaymath}

We substract this average to each intensity, and calculate the cross-correlation normalized by the variance, or covariance \( c(i,j) \) as


\begin{displaymath}
c(i,j)=\frac{\sum ^{B_{x}}_{k=1}\sum ^{B_{y}}_{l=1}(I_{a}(k,...
...sum ^{B_{y}}_{l=1}(I_{b}(k+i,l+j)-\overline{I_{b}})^{2}]^{1/2}}\end{displaymath}

for each displacement \( (i,j) \) allowed by the search box(3.2.2). The correlation is often calculated by Fourier transforms in PIV software. The direct computation used here is more demanding in computing cost, but it allows more flexibility and precision for small search boxes, and it avoids spurious effects of Fourier transforms.

The velocity vector is obtained as the displacement which maximizes this covariance, multiplied by the geometrical scale and time interval \( dt \). A key feature of CIV is the interpolation of this covariance to non integer displacements in order to reach sub-pixel precision. A thin-plate 2D interpolation method has been chosen here. It compares favorably with other interpolation methods in some test cases studied by Fincham and Spedding (1997). The resulting covariance function is piece-wise polynomial (of cubic order), so that its maximum can be precisely obtained. It minimizes a linear combination of global curvature and distance to the integer values \( c(i,j) \). This is therefore not a pure interpolation, but some smoothing is introduced, depending on a parameter \( \rho \).

With any interpolation method, there is some systematic bias of the covariance maximum with respect to integer values, on which the covariance has been initially defined. This deffect, called peak-locking(5.3), is one of the main source of uncertainty in CIV.

To minimize this peak-locking effect, it is favorable to have wide cross-correlation peak, for instance with large apparent particle sizes. Note that a high particle density leads to apparent clustering, hence larger cross-correlation peak. Indeed for each particle, we have a probability about 8\( \sigma \) to have another particle in one of the eight neighbour cells. This pair has itself a probability 10\( \sigma \) to be connected to a third particle. For \( \sigma \)=0.05, these probabilities are close to one half, so that a significant proportion of the particles are in clusters, giving the visual impression of ``textures'' seen in fig. 1. A drop by a factor of 2 in particle density sharply decreases this apparent clustering effect, leading to more narrow covariance functions.


next up previous contents
Next: Measurement grid: Up: Basic algorithm Previous: search-box:   Contents
Joel Sommeria 2003-02-14