Rather than trying to account for the non-stationary stretching and compressing, I decided it would be simpler to treat the removal of displacement across the fault as a stationary problem and find a robust method that gives a solution that is close, later addressing the non-stationarity.
The first step was to create a cross-correlagram as shown in Figure 6. This figure is a continuum of windowed cross-correlations from the left and right sides of the fault. As a first step, a smooth line must be fitted to the cross-correlagram. The departure of this line from the center, or zero lag, is the amount of displacement required to remove the fault deformation. Figure 7 shows the cross-correlagram overlaid with the actual displacement used to deform the model plotted. It doesn't land on a peak because in making the model the reflection coeficients were deformed and then convolved with a wavelet, introducing tuning. The tuning causes the cross-correlagram to be skewed from the ideal answer. Also, even knowing the amount of deformation used to create the model, will not remove the deformation completely. Additionally, blindly picking the lag with minimum values will not work as illustrated in Figure 8. In the cross-correlagram, the maximum and minimum are inverted so that we will actually search for the minimum as the line of maximum correlation. In this way, we can keep with the inversion convention of searching for minima.
Using linear least squares to fit a smooth line to the maximum path across this cross-correlagram will not work. This is a non-linear problem that is full of local minima. Instead, this problem requires a non-linear approach. A derivative of Simulated Annealing proved to work Kirkpatrick (1983).