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