The most common way to deal with nonstationarity is to divide the data into smaller regions, called ``patches'' in this thesis (after Claerbout 1997), though ``design gate'' and ``analysis window'' and other terms are common. We assume the data are stationary within a patch.
Each patch is treated as an individual problem. For each patch, we calculate a PEF and then missing data values. After all the patches are interpolated, we reassemble them to form a complete data set. To make the patches fit together without visible seams, and to hide the boundary conditions of the convolution operators, we choose the patches so that they overlap, and reassemble the patches with some simple normalization.
The BP synthetic example which follows uses patching, and within each patch, the implementation described above.