Next: Implementation and Interface Up: Mathematics Previous: Splitting and merging

### Interpolation

If done carelessly, the merging of individually processed patches in equation (2) can cause visible patch boundaries in the final image. I implemented Claerbout's1994 interpolation scheme, which linearly interpolates overlapping patches.

 patchwt Figure 4 Patch weight. The weight function is applied to individual patches to prepare the patch for the linear interpolation of neighboring, overlapping patches.

Interpolation requires the application of weights to each data element. The weighting is easily implemented as the element-wise scaling of two vectors: one contains the data that is to be interpolated, the other one each element's corresponding weight. Algebraically, weighting of a vector amounts to a matrix multiplication by a diagonal matrix . The diagonal elements are the elements of the weight vector.

To interpolate the area of overlap linearly, each patch is weighted by a patch of identical size but tent-like amplitudes (Figure 4). Equation  (3) expresses the weighting as the multiplications of the diagonal matrices .After zero padding and stacking the weighted patches by the row of operators, the operator is another weighting operator that compensates for the variable amount of contributions every output element received:
 (3)

How do we compute the operator ? The same row of zero-padding operators that add the weighted patches in equation (3) adds the patch weights into a data quilt .
 (4)
The elements of measure the weighted contributions each quilt element received. To balance the variable number of contributions, each element of the output quilt is scaled by the inverse of the corresponding element of the weight quilt .This final weighting ensures that all weights applied to a single output sample sum up to one. Algebraically, the weighting is again expressed as a matrix multiplication by a diagonal matrix in equation (3). The weights and can be interpreted as a heuristic preconditioning by row and column weighting Golub and Van Loan (1989).

A user can modify the interpolation by supplying any alternative weight function for the individual patches. The algorithm will apply the correct corresponding weight operator . Figure 5 shows the weight vector that corresponds to four slightly separated tent weights as shown in Figure 4.

 quiltwt Figure 5 Superposition of overlapping patch weights. The shown quilt vector is used to balance the weighted patch contributions of the linear interpolation of neighboring, overlapping patches. The shown quilt vector is the result of zero padding and stacking of four slightly separated patch weights. The amplitudes indicate the number of weighted contributions each image quilt element received. The weighting operator applies the inverses of these weight quilt elements to the corresponding image quilt elements.

Figure 6 demonstrates the effect of the weighted interpolation on the example in Figure 1. The top panel shows the input trace. The bottom panel shows an estimate of the signal's time variable variance. The weight , shown in the second panel, correct the brute stack, shown in the third panel, to the final result in the bottom panel.

nStatVarEnum
Figure 6
Variance computation of nonstationary seismogram. The top panel shows a seismic trace. The bottom panel shows the local variance of that trace. The two traces in the center panels display intermediate results of the algorithm. The quilt weight in the second panel is used to normalize the weighted stack in the third panel.

Next: Implementation and Interface Up: Mathematics Previous: Splitting and merging
Stanford Exploration Project
3/8/1999