NAME
swfilt3d - 3D running window semblance weighted dip filter-
ing.
SYNOPSIS
swfilt3d [ -Nfile_in ] [ -Ofile_out ] [ -ildmdx ] [ -cldmdy
] [ -ilhapmx ] [ -clhapmy ] [ -vhapmz ] [ -ilazimxazim ] [
-clazimyazim ] [ -ilinterpnxinterp ] [ -clinterpnyinterp ] [
-dzdz ] [ -sigma1sigma1 ] [ -sigma2sigma2 ] [ -wsemb_window
] [ -f1f1 ] [ -f2f2 ] [ -f3f3 ] [ -f4f4 ] [ -t1t1 ] [ -t2t2
] [ -t3t3 ] [ -t4t4 ] [ -startlinestartline ] [ -endlineend-
line ] [ -starttracestarttrace ] [ -endtraceendtrace ] [
-prewprew ] [ -pminpmin ] [ -pmaxpmax ] [ -qminqmin ] [
-qmaxqmax ] [ -p1p1 ] [ -p2p2 ] [ -p3p3 ] [ -p4p4 ] [ -q1q1
] [ -q2q2 ] [ -q3q3 ] [ -q4q4 ] [ -smaxsmax ] [ -s1s1 ] [
-s2s2 ] [ -s3s3 ] [ -s4s4 ] [ -a1a1 ] [ -a2a2 ] [ -a3a3 ] [
-a4a4 ] [ -reject ] [ -rho ] [ -V ] [ -? ]
DESCRIPTION
swfilt3d reads in a 3D cube of seismic data and performs a
semblance weighted dip filter in the @ ( tau ,p,q)@ domain.
Forward transform and semblance calculation:
The forward transform and semblance calculation are per-
formed in the time domain. The user specifies a rectangular
(-@ m sub x :+ m sub x ,- m sub y :+ m sub y @ ) trace spa-
tial analysis window about each point in the input data set.
Apparent dip increments dp and dq are chosen such that the
data are sampled at 2 points per period=1/ef at edge of the
analysis window, where fref= .5*(f3+f4).
The data in the analysis window are flattened for each
apparent dip pair (p,q). The semblance for this trial direc-
tion at the analysis point is defined to be the semblance of
the flattened traces in the analysis window. For time domain
data we flatten using:
@u sub f ( tau ,p,q,x,y)=u [ tau -(px+qy) ] @
where x and y are distances measured from the center of the
analysis window. For depth domain data we flatten using:
@u sub f ( zeta ,p,q,x,y)=u [ zeta -(px+qy) ] .@
The @ ( tau ,p,q)@ transform, U, is then:
@ U( tau ,p,q)= sum from -m sub x to +m sub x sum from -m sub y to +m sub y [u sub f ( tau ,p,q,x,y)] @
The semblance, @sigma@, is:
@ sigma ( tau ,p,q)={ ( sum from -m sub x to +m sub x sum from -m sub y to +m sub y [u sub f ( tau ,p,q,x,y)]) sup 2 } over {N sub x N sub y sum from -m sub x to +m sub x sum from -m sub y to +m sub y [u sub f ( tau ,p,q;x,y)] sup 2 }@
where
@ N sub x = 2(m sub x +1)@, and
@ N sub y = 2(m sub y +1)@.
As in velocity analysis, the semblance for each (p,q) pair
and analysis point are smoothed by forming a running window
time integration over the partial sums from @-m sub t@ to
@+m sub t@ where @ m sub t = @semb_window/dt.
@ sigma bar ( tau ,p,q)={ sum from -m sub t to +m sub t ( sum from -m sub x to +m sub x sum from -m sub y to +m sub y [u sub f ( tau ,p,q,x,y)]) sup 2 } over {N sub x N sub y sum from -m sub t to +m sub t sum from -m sub x to +m sub x sum from -m sub y to +m sub y [u sub f ( tau ,p,q;x,y)] sup 2 }@
Reverse transform:
The forward time domain Radon transform described above is
equivalent to the frequency domain forward Radon transform:
@U = R under sup H u @
where
@U sub m = U( omega ,p sub m ,q sub m )@,
@u sub j = u( omega , x sub j , y sub j )@
@R sub {mj} sup H = exp [ -i omega (p sub m x sub j +q sub m y sub j ) ]@,
@(x sub j, y sub j ) = @ the relative distance of the jth trace in the analysis
window from the reference trace at @(x sub 0, y sub 0 )@,
@omega =@ the temporal frequency in radians/sec,
@p sub m = @ the mth apparent moveout in the x direction,
@q sub m = @ the mth apparent moveout in the y direction.
We will use this forward @ ( omega ,x,y)@ to @( omega ,p,q)@
domain transform to help us define the least square inverse
transform:
@u = (R under R under sup H + prew * I under ) sup {-1} R under U@,
@u = B under U @
where
@ B = (R under R under sup H + prew * I under ) sup {-1} R@,
@R sub {mj} = exp [ +i omega (p sub m x sub j +q sub m y sub j ) ]@,
and
prew is the prewhitening factor entered as a command line argument.
Muting:
The semblance independent diagonal mute matrix @ W under
sub pq @ is defined as:
@W sub {pq} = 1. ~ if ~ s sub 2 <= sqrt {p sup 2 + q sup 2
} <= s sub 3@,
@W sub {pq} = 0. ~ if ~ sqrt {p sup 2 + q sup 2 } <= s sub
1@ ,
@W sub {pq} = 0. ~ if ~ sqrt {p sup 2 + q sup 2 } >= s sub
4@ , and
@W sub {pq} = ~ tapered @, otherwise.
We also weight according to the semblance calculated at each
@( tau , p,q)@ triplet. We define a 2nd diagonal weight
matrix @ W under sub sigma @ to be:
@W sub sigma ( tau ,p,q) = 1,~ if~ sigma > sigma sub 2 .@
@W sub sigma ( tau ,p,q) = 0,~ if ~sigma < sigma sub 1 .@
@W sub sigma ( tau ,p,q)~ is~ tapered,~ if~ sigma sub 1 <= sigma <= sigma sub 2 .@
The weighted (muted) @ ( omega ,p,q)@ data are then given by:
@V = F under W under sub pq W under sub sigma U @,
where
@F sub rs = exp[-j( r DELTA omega s DELTA t)] @ is the forward Fourier transform.
The weighted (muted) @ ( t ,x,y)@ data are given by:
@ v = F under sup H R under V = F under sup H R under ( R under sup H R under + prew I under ) sup {-1} F under W under sub pq W under sub sigma U @
where
@F sub rs sup H = exp[+j( r DELTA omega s DELTA t)] @ is the inverse Fourier transform.
In the reject mode, we subtract the least square modeled component of the data @ v sub m @ from the original data set, u:
@ v sub r = u - v @
swfilt3d gets all its parameters from command line argu-
ments. These arguments specify the input, output, spatial
analysis window, and dip discretization parameters.
-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 in
line or 'x' direction. The number of records (seismic
lines) denoted by lineheader word 'NumRec' defines the
number of traces in the cross line 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
immediately after typing -O. This output file name is
not required when piping the output to another process.
-w semb_window
Enter the half length in msec (m, ft) of the running
time (depth) integration window applied over the sem-
blance. (Default = +/-2 samples)
-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 @=3, such that the x dimension of the analysis window
ranges from (-3:+3) traces about the analysis point).
-clhap @ m sub y @
Enter the cross line half half aperture of the rec-
tangular analysis window in the cross line (y) direc-
tion in number of traces. (Default, @ m sub y @ =3,
such that the y dimension of the analysis window ranges
from (-3:+3) traces about the analysis point).
-sigma1 sigma1
If present, reject data whose time average semblance
@sigma bar <= sigma sub 1 =
sigma1@. See algorithm description above. This
weighting will accentuate coher ent/continuous events
and suppress incoherent events. (Default: sigma1=0.05)
-sigma2 sigma2
If present, pass data whose time average semblance
@sigma bar >= sigma sub 2 = sigma1@. See algorithm
description above. This weighting will accentuate
coherent/continuous events and suppress incoheren t
events. (Default: sigma2 = 0.10)
-ilinterp nxinterp
Enter the number of output traces to be output (inter-
polated) in the inline direction. (Default: nxinterp=1,
or no inline interpolation). (Warning: the interpola-
tion and reject options cannot be used together, since
only the 'noise' have been interpolated to the new,
intermediate locations. Currently, interpolation will
force use of the less accurate, but easier to code -rho
option.
-clinterp nyinterp
Enter the number of output traces to be output (inter-
polated) in the crossline direction. (Default: nyin-
terp=1, or no crossline interpolation) (Warning: the
interpolation and reject options cannot be used
together, since only the 'noise' have been interpolated
to the new, intermediate locations. Currently, interpo-
lation will force use of the less accurate, but easier
to code -rho option.
-f1 f1
Frequency in cycles/sec (Hz) for time data, or in
cycles/km (cycles/kft) for dep th data at which we
begin roll in of a Hamming zero phase band pass filter
(defa ult f1=df=1./trace length).
-f2 f2
Frequency in cycles/sec (Hz) for time data, or in
cycles/km (cycles/kft) for dep th data at which we end
roll in of a Hamming zero phase band pass filter
(default = f2=f1).
-f3 f3
Frequency in cycles/sec (Hz) for time data, or in
cycles/km (cycles/kft) for dep th data at which we
begin roll out of a Hamming zero phase band pass
filter (de fault = f3=f4).
-f4 f4
Frequency in cycles/sec (Hz) for time data, or in
cycles/km (cycles/kft) for dep th data at which we end
roll out of a Hamming zero phase band pass filter. The
c ost increases with the value of f4. (default $f4=f
sub Nyquist$ )
-t1 t1
Enter the beginning of the analysis window roll in
taper in ms. (Def ault = t1= first sample of the trace,
or 0 ms).
-t2 t2
Enter the end of the analysis window roll in taper in
ms. (Default =
t1=t2).
-t3 t3
Enter the beginning of the analysis window roll out
taper in ms. (De fault = t3=t4).
-t4 t4
Enter the end of the analysis window roll out taper in
ms. (Default
t1= last sample of the trace).
-startline startline
Enter the first output line to be generated (Default:
startline=1, the fir st line of the data set).
-endline endline
Enter the last output line to be generated (Default:
endline= the last lin e of the data set).
-starttrace starttrace
Enter the first output trace to be generated (Default:
starttrace=1, the f irst trace of the data set).
-endtrace endtrace
Enter the last output trace to be generated (Default:
endtrace= the last t race of the data set).
Definition of mutes using apparent dips
-pmin pmin
Minimum apparent dip to be modeled in the inline (x)
direction, measured in ms/m
or ms/ft for time volumes (in m/m or ft/ft for depth
volumes). (Default: pmi n=0.)
-pmax pmax
Maximum apparent dip to be modeled in the inline (x)
direction, measured in ms/m
or ms/ft for time volumes (in m/m or ft/ft for depth
volumes). (Default: pma x=0.)
-qmin qmin
Minimum apparent dip to be modeled in the crossline (y)
direction, measured in m s/m or ms/ft for time volumes
(in m/m or ft/ft for depth volumes). (Default: qmin=0.)
-qmax qmax
Maximum apparent dip to be modeled in the crossline (y)
direction, measured in m s/m or ms/ft for time volumes
(in m/m or ft/ft for depth volumes). (Default: qmax=0.)
-p1 p1
Apparent dip in the inline (x) direction (in ms/m or
ms/ft for time volumes; in m/m or ft/ft for depth
volumes) at which we begin the roll in of the Hamming
wei ghts on ray parameter p. (Default, p1=pmin).
-p2 p2
Apparent dip in the inline (x) direction (in ms/m or
ms/ft for time volumes; in
m/m or ft/ft for depth volumes) at which we end the
roll in of the Hamming weig hts on ray parameter p
(Default, p2=p1)
-p3 p3
Apparent dip in the inline (x) direction (in ms/m or
ms/ft for time volumes; in
m/m or ft/ft for depth volumes) at which we begin the
roll out of the Hamming w eights on ray parameter p
(Default, p3=p4)
-p4 p4
Apparent dip in the inline (x) direction (in ms/m or
ms/ft for time volumes; in
m/m or ft/ft for depth volumes) at which we end the
roll out of the Hamming wei ghts.on ray parameter p
(Default, p4=pmax)
-q1 q1
Apparent dip in the crossline (y) direction (in ms/m or
ms/ft for time volumes; in m/m or ft/ft for depth
volumes) at which we begin the roll in of the Hamming
weights on ray parameter q. (Default, q1=qmin).
-q2 q2
Apparent dip in the crossline (y) direction (in ms/m
or ms/ft for time volumes;
in m/m or ft/ft for depth volumes) at which we end the
roll in of the Hamming w eights on ray parameter q
(Default, q2=q1)
-q3 q3
Apparent dip in the crossline (y) direction (in ms/m
or ms/ft for time volumes;
in m/m or ft/ft for depth volumes) at which we begin
the roll out of the Hammin g weights on ray parameter q
(Default, q3=q4)
-q4 q4
Apparent dip in the crossline (y) direction (in ms/m
or ms/ft for time volumes;
in m/m or ft/ft for depth volumes) at which we end the
roll out of the Hamming weights.on ray parameter q
(Default, q4=qmax)
Definition of mutes using true dip
-smax smax
Maximum true dip to be modeled measured in ms/m or
ms/ft for time volumes (in m /m or ft/ft for depth
volumes). (Default: smax=0.)
-s1 s1
True dip (in ms/m or ms/ft for time volumes; in m/m or
ft/ft for depth volumes)
at which we begin the roll in of the Hamming Apparent
dip in the inline (x) dir ection filter weights.
(Default, s1=0.).
-s2 s2
True dip (in ms/m or ms/ft for time volumes; in m/m or
ft/ft for depth volumes)
at which we end the roll in of the Hamming linear
moveout filter weights. (Defa ult, s2=s1)
-s3 s3
True dip (in ms/m or ms/ft for time volumes; in m/m or
ft/ft for depth volumes)
at which we begin the roll out of the Hamming linear
moveout filter weights. (D efault, s3=s4)
-s4 s4
True dip (in ms/m or ms/ft for time volumes; in m/m or
ft/ft for depth volumes) at which we end the roll out
of the Hamming linear moveout filter weights. (Defa
ult, s4=smax)
-a1 a1
Azimuthal angle at which we begin the roll in of the
Hamming azimuth filter weig hts. If the -ilazim and
-clazim options are properly defined, then a n output
azimuth of 0 degrees corresponds to North, while an
output azimuth of 9 0 degrees corresponds to East.
(Default: a1 = -181 degrees)
-a2 a2
Azimuthal angle at which we end the roll in of the Ham-
ming azimuth filter weight s. (Default: a2=a1).
-a3 a3
Azimuthal angle at which we begin the roll out of the
Hamming azimuth filter wei ghts. (Default: a3=a4).
-a4 a4
Azimuthal angle at which we end the roll out of the
Hamming azimuth filter weigh ts. (Default: a4 = +181
degrees)
-ilazim xazim
Enter the in line azimuth (0 degrees being North, 90
degrees being East), that is, the azimuth of increasing
trace number. This value is used to calibrate the
azimuthally dependent dip filtering options -a1, -a2,
-a3, -a4. (Default, read value from seismic line header
word 'AziIln')
-clazim yazim
Enter the cross line azimuth (0 degrees being North, 90
degrees being East), that is, the azimuth of increasing
line numbers. This value is used to calibrate the
azimuthally dependent dip filtering options -a1, -a2,
-a3, -a4. (Default, read value from the seismic line
header word 'AziXln')
-reject
If present, reject the least square modeled data lying
between (p2,p3 ) and (q2,q3) or (s2,s3) and
(a2,a3) by subtracting it from the input dataset.
(Default: pass data lieing between (p2,p3) and
(q2,q3) or (s2,s3) and (a2,a3)
-rho If present, use the less accurate rho filter convention
@( tau ,p,q)@ transform
instead of the discrete Radon transform. Here, the @
rho @ filter is calculated as @ rho = 1 over M sum from
{m=1} to M B sub mj @ , where @ B under @ is the
least square pseudo inverse defined above. This pro-
duces results which are significantly better than the
classical formula of @ rho = omega over {2 pi } @,
especially for small analysis windows.
-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.
REFERENCES:
Marfurt, K. J. and Cottle, D. A., 1994, A comparison of
coherency weighted @( tau ,p)@ filtering techniques: Appli-
cation to poststack and common offset data: Geoscience
Research Bulletin, F94-G-18. Yilmaz, O., and Taner, M. T.,
1994, Discrete plane wave decomposition by least-mean-
square-error method: Geophysics, 59, 983-982.
BUGS
No bugs known at present.
SEE ALSO
radon3d(1) radonf(1) radonr(1) rmmult(1) splitr(1)
vfilt3da(1) fft3da(1)
CONTRACT AGREEMENT
This product is a 2nd Quarter, 1995, deliverable included in
Research Agreement D95-2518 (Seismic Signal Analysis). 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