NAME
edge3d - 3D running window edge enhancement.
SYNOPSIS
edge3d [ -Nfile_in ] [ -Ofile_out ] [ -pp ] [ -ildmdx ] [
-cldmdy ] [ -ilhapmx ] [ -clhapmy ] [ -vhapmz ] [ -dzdz ] [
-tstarttstart ] [ -tendtend ] [ -tskiptskip ] [ -V ] [
-notchx ] [ -notchy ] [ -notchz ] [ -V ] [ -? ]
DESCRIPTION
edge3d reads in a 3D cube of data (seismic coherency cube,
tuning frequency, etc.) and outputs an edge enhanced ver-
sion.
Algorithm Implementation:
First, we specify a 3D analysis window (@ -m sub z :+ m sub
z ,-m sub x :+ m sub x ,- m sub y :+ m sub y @ ) about each
point in the input
data set.
Second, we take the 3D Fourier transform of the data subcube:
@ U = F under u, @
where
@ U = U( k sub z , k sub x , k sub y ) @ ,
@ u = u(z,x,y) @ ,
and
@ F under = exp({ +i ( k sub z z + k sub x x + k sub y y)}) @ .
Third, we power the spectrum by a matrix @ a under @ proportional to the powered wavenumber, k:
@ a under = n(k sub x , k sub y , k sub z ) {k sup p} I under @
where:
@ k = sqrt({k sub z sup 2 + k sub x sup 2 + k sub y sup 2}) @ ,
@ n(k sub x , k sub y , k sub z ) @
is a notch filter, and
@ I under @ is the identity matrix.
Finally, we transform the spectrally powered data back to (z,x,y) space to obtain the edge enhanced result v:
@ v = {1 over N} F under sup * U @ ,
where
@ F under sup * = exp { -i ( k sub z z + k sub x x + k sub y y)}. @
These 3 steps can be cascaded such that the filtered data v:
@ v = {1 over N} F under sup * a under F under u @
An efficient implementation is thus to define the edge enhancement operator matrix @ A under @ :
@ A under = {1 over N} F under sup * a under F under @
such that
@ v = A under u. @
edge3d gets all its parameters from command line arguments.
These arguments specify the input, output, spatial analysis
window, and dip discretization parameters.
Command line arguments:
-N file_in
Enter the input data set name or file immediately after
typing -N. This input file should include the complete
path name if the file resides in a different directory.
Example -N/export/data2/san_juan/time_stack tells the
program to look for file 'time_stack' in directory
'/export/data2/san_juan'. For this program, the data
must be stored as a rectangular grid of regularly
binned data. The number of traces denoted by lineheader
word 'NumTrc' defines the number of traces in the
inline or 'x' direction. The number of records (seismic
lines) denoted by lineheader word 'NumRec' defines the
number of traces in the crossline or 'y' direction.
Missing data should be padded in with dead traces
flagged by the dead trace header flag 'StaCor'=30000.
-O file_out
Enter the output filtered data set name or file immedi-
ately after typing -O. This output file name is not
required when piping the output to another process.
-p p Multiply the spectrum by @k sub p@ as defined in the
equation above. Reasonable values fall between 0.1 and
2.0, with higher values emphasizing the higher fre-
quency spectral components to a greater and greater
degree. (Default: p= 2.0, which is equivalent to a
2nd derivative calculation in conventioonal edge
enhancement filters).
-ildm dx
Enter the in line distance measure (trace separation)
in m (ft). (Default: read value from seismic line
header word 'ILClIn')
-cldm dy
Enter the cross line distance measure (line separation)
in m (ft). (Default: read value from seismic line
header word 'CLClIn')
-dz dz
Enter the vertical depth sample increment in m (ft).
(Default, dz=0, indicating the data are in time. A
value of dz > 0 indicates the data are in depth).
-ilhap @ m sub x @
Enter the in line half aperture of the rectangular
analysis window in number of traces. (Default, @m sub
x@= 2, such that the x dimension of the analysis window
ranges from (-2:+2) trace about the analysis point).
-clhap @ m sub y @
Enter the cross line half aperture of the rectangular
analysis window in the cross line (y) direction in
number of traces. (Default, @m sub y@ = 2, such that
the y dimension of the analysis window ranges from (-
2:+2) trace about the analysis point).
-vhap @ m sub z @
Enter the vertical half aperture of the analysis volume
in time (or depth) samples. A value of @m sub z@ > 0
and p= 2, will enhance sequence boundaries and angular
unconformities mapped by a semblance calculation of
coherency. Running this filter on the output of program
samps will enhance the appearance of tuning frequencies
in thin bed spectral analysis. (Default, @m sub z@ =
0, such that no filtering is performed in the vertical
direction).
-notchx
Enter the command line argument '-notchx' to zero out
the @ k sub x @ wavenumber component. (Useful in
suppressing unwanted amplification of the acquisition
footprint).
-notchy
Enter the command line argument '-notchy' to zero out
the @ k sub y @ wavenumber component. (Useful in
suppressing unwanted amplification of the acquisition
footprint).
-tstart tstart
Enter the beginning of the analysis window in msec (m).
The output record will be tend-tstart msec long.
(Default: tstart= 0. msec (m) ).
-tend tend
Enter the end of the analysis window in msec (m). The
output record will be tend-tstart msec (m) long.
(Default: tend= last sample of the trace)
-tskip tskip
Enter the vertical increment of analysis slices in msec
(m). This option may be useful in testing parameters
over a large data volume. (Default: perform analysis on
every sample).
-notchz
Enter the command line argument '-notchz' to zero out
the @ k sub z @ wavenumber component.
-V Enter the command line argument '-V' to get additional
printout.
-? Enter the command line argument '-?' to get online
help. The program terminates
after the help screen is printed.
BUGS
No bugs known at present.
SEE ALSO
correl3d, semb3d, princ3d, samps
CONTRACT AGREEMENT
This product is brought to you by Research Agreement 548
(the Seismic Coherency Cube). Thank you for your support.
AUTHOR
Kurt. J. Marfurt, EPTG (1995).
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html