With the recent release of
vfilt3d and vfilt3da it is possible to perform velocity and azimuthal filtering
of a 3D FKK volume. The filtering available is limited to a narrow range
of radial filters emanating from the origin. Program fft3da provides the
user with a 3D [kx,ky,Omega] volume which, using the retooled polymute
routine, may be filtered in any fashion imaginable.
Procedure
Using fftpack a forward 1D
FFT of the original post-stack 3D volume is produced. This dataset is then
sliced frequency-wise, using qdslice or ttds3d. A further 2D FFT of this
dataset is then obtained using fft3da. The user may now custom filter this
volume using polymute after which an inverse rotation of the cube and an
inverse 3D FFT is applied through fft3da and fftpack to complete the process.
Model Example
To examine the 3D effects of the filtering the model
volume is viewed from several vantage points. The following LI [Line Index],
DI [Depth Index] and TI [Time Index] records are displayed for each filter
run:
In-line
LI 50 (Fig. 2)
LI 125 (Fig.
3)
Cross-line
DI 225 (Fig.
4)
Time-Slice
TI 80 (Fig.
5)
Notice that the only view which accurately portrays the
conical events in terms of their apparent linear velocity is one which
bisects the volume beneath the source position (Fig. 3). The other views
(Fig.'s 2, 4 and 5) display events which to the interpreter would look
like a reflection from out of the plane or a broadside direct arrival [which
in fact these are] or an anticlinal feature at the given location. For
this example we will reject the steepest event [the cone dipping at 25
degrees].To prepare the data for filtering the following flow was executed:
fftpack -Nmodel |
ttds3d -NDtxy -ODxyt-M8
-Tjunk
|
fft3da -dt1.0 -dx10.0
-dy10.0
|
ttds3d -NDxyt -ODxty-M8-Tjunk1
-OModelFft3da
The model dataset contains 250 records of 250 traces
each composed of 401 samples in time. During the Fourier transforms and
volumetric rotations required for filtering these parameters change dramatically
(Fig. 6). To maintain trace header integrity on the output the input trace
headers will need to be swapped back into the volume after filtering. If
the original volume cannot be kept on disk then a header volume may be
created using:
wind -Nmodel -Oheaders -e1
Currently the volume is orientated such that temporal
frequency is along the trace vector, spatial frequency in x is along the
record vector and spatial frequency in y is along the sample vector. Should
you require kx along the sample vector the previous ttds3d command would
look like:
ttds3d -NDxyt -ODytx -M8
-Tjunk1-OModelFft3da
Filter design at this point is data and user dependent.
I have chosen to remove the steepest cone from the input dataset. This
corresponds to the shallowest dipping event on the 3D FKK display (Fig.
7). Using xsd, a set of polygonal filters were picked (Fig. 8) across the
input volume outlining this event. The event was then muted (Fig. 9) using:
polymute -NModelFft3da -Ppolypicks
-Min
-OModelPolymute
Notice the character of the mute polygon. The recent
retooling of polymute allows the use of such shapes which makes it easy
to detect a specific event for deletion.
The extremely nice 2D taper applied in polymute results
in very smooth filter edges. The morphing algorithm in polymute makes for
a very smooth interpolation between filter control points. For this example
a mute was picked on every 10th record and applied to the entire volume.
Once muted the inverse transform operation is applied using:
ttds3d -NModelPolymute-NDxty
-ODxyt
-Tjunk
-M8 |
fft3da -dt1.0-dx10.0-dy10.0
-R
|
ttds3d -NDxyt-ODtxy-Tjunk1-M8
|
utop -dt1 -OModelFiltered
The rejection of the steepest
dipping cone has been achieved with minimal effect on the other events
(Fig.'s 10, 11, 12 and 13).
fftpack, fft3da and
polymute
provide the processor with a generalized 3D filtering capability.