The flattening method described in Lomask and Claerbout (2002) to automatically flatten entire 3-D seismic cubes with minimal picking, has major difficulties with faults, unconformities, and pinch-outs. The original method resolves local dips into time shifts via a least-squares problem that is solved quickly in the Fourier domain. This is very similar to an approach used by Bienati et al. (1999a,b); Bienati and Spagnolini (1998, 2001), yet here the full data volume is flattened at once. This approach works efficiently with unfaulted and depth invariant reflections. However, if the data contains discontinuities caused by faulting then it has trouble. The dip at the faults are estimated incorrectly and these incorrect dip values are integrated along with the rest of the correct dip values to cause significant errors. Because this method integrates dips along time-slices, it has difficulties flattening cubes where the structure varies with depth. Flattening pinch-outs and unconformities is also problematic because the flattening solution can be non-unique as two horizons maybe compressed into one by flattening.
In this paper, I review the basic flattening process. I also present a time-distance (T-X) least-squares approach for flattening faulted seismic data cubes. Using the T-X domain rather than the Fourier domain permits the application of a weight to throw out fitting equations affected by bad dip estimates at faults. I also discuss solutions for handling pinch-outs. This flattening method can be applied repeatedly to handle the common case of depth-varying structure. Lastly, I review methods to flatten unconformities. One method proposed by Sergey Fomel does not restrict the integration of dips to time-slices. Although this may be considerably more computationally expensive, this method might be able to flatten data with unconformities with less picking.