Go to the list of seismic processes.      Go to SIOSEIS introduction.
                       PROCESS COFILT
                       ------- ------

Document date: 10 September 1998

PROCESS COFILT is a coherence filter based on semblance over a sweep of
linear trends about a point.  A sweep of velocities is performed across
a set of traces centered about each sample of each trace.  The velocity
scan with the maximum semblance is then selected and the amplitudes
along this velocity trajectory are weighted, summed, and optionally
scaled before being output.

PARAMETER DICTIONARY
--------- ----------

REQUIRED PARAMETERS:
-------- -----------
DX     - Trace separation distance.  This is the distance between
         traces.
         REQUIRED.  range 1.0 to 500.0 e.g.  dx 25

NXWIN  - The number of traces to use in each velocity scan.  The
         velocity sweep is performed across NXWIN traces centered about
         each sample of each trace.  NXWIN must be an odd number.
         REQUIRED.

VMMI   - Velocity minimum-maximum-increment to scan in every semblance
         window.
UMMI   - Slowness minimum-maximum-increment to scan in every semblance
         window.
         Either VMMI or UMMI is REQUIRED.  e.g. vmmi 2000 4000 100

WEIGHT - A list of trace multipliers to use in weighting each trace
         before summing.  When the number of weights is less than
         NXWIN, the center WEIGHT is applied to the center trace of
         the sum.  e.g.  NXWIN 5 WEIGHT 1 2 1
         and the samples along the maximum semblance path are:
         1 .8 .9 .8 .9, then the output value for this point is:
         (1*0+.8*1+.9*2+.8*1+.9*0)
         REQUIRED

OPTIONAL PARAMETERS:
-------- -----------
VSIGN  - Velocity sign.  
       =0, both positive and negative velocities between the minimum
         and maximum are used and the velocity increment is doubled.
         Stacked data should use VSIGN 0
       =1, the positive direction is defined as the direction of
         increasing offset values.  The sign of the velocities is
         determined from the sign of the range in the SEG-Y header.
         Only positive velocities are considered.
         Preset = 0

XSIGN  - Swap the sign of the range in the SEG-Y prior to using.
         Preset = 0

TYPE   - The type of additional weighting to use when summing the data
         of the NXWIN traces along the "best velocity".
       =1, the average of WINLEN semblance values of center trace is
         raised to power SPOWER is used as the weight.
         to weight the data.
         e.g.  NXWIN 5 WEIGHT 1 2 1  TYPE 1 SPOWER .5,
         and the samples along the maximum semblance path are:
         1 .8 .9 .8 .9 and the average semblance value is .5,,
         then the output value for this point is:
         (.5**spower)*(1*0+.8*1+.9*2+.8*1+.9*0)/5
       =2, the average of WINLEN semblance values of center trace is
         divided by the maximum semblance value and is then used to
         evaluate a sigmoidal thresholding function ranging from 0 to 1.         This option produces something akin to a line drawing, but it
         normalizes the maximum semblance found on each trace, so be
         careful.
         Preset = 0.

WINLEN - The window length, in seconds, of the window to use in TYPE 1
         and TYPE 2 weighting.
         Preset=.100.  Example, winlen .080

SPOWER - The power to raise the average semblance when using TYPE 1
         weighting.

NXPAD  - The number of dummy traces to insert at both ends of the set
         of traces being filtered.
         Preset = nxwin / 2
         Either VMMI or UMMI must be given.


     If Vsign=1, then the positive direction is defined as the direction
     of increasing trace number, i.e. traces are assume to have increasing 
     offset values.  The sign of the velocities is determined from the 
     sign of the header offset.

      If the traces are ordered in the correct  sense and the header
       offset sign is also correct, then choose ixsign_ch=1.
       ex.   trace # in file:  1  2  3  4  5  6
            offset in header: -5 -4 -2  0  1  4

      If the traces are ordered in the opposite sense and the header 
       offset sign is correct, then choose ixsign_ch=-1.
       ex.   trace # in file:  1  2  3  4  5  6
            offset in header:  4  1  0 -2 -4 -5

      If the traces are ordered in the correct sense and the header 
       offset sign is incorrect, then choose ixsign_ch=-1.
       ex.   trace # in file:  1  2  3  4  5  6
            offset in header:  5  4  2  0 -1 -4

      If the traces are ordered in the opposite sense and the header 
       offset sign is incorrect, then choose ixsign_ch=1.
       ex.   trace # in file:  1  2  3  4  5  6
            offset in header: -4 -1  0  2  4  5

     If Vsign=0, then both positive and negative velocities between
     vmin and vmax will be used.  In this case, however, only Nvel/2
     velocities for each sign are used. Use this option for coherency
     filtering stacked data, for instance.

     All of the samples within a given velocity trajectory are used to 
     calculate a semblance value for that velocity at each point.  
     The maximum semblance value of each point is used to weight the 
     point if i_wt_type=1or2.  
          For i_wt_type=1, the maximum semblance value to the power of 
                           spower is used to weight the data.  
          For i_wt_type=2, the maximum semblance value is used to evaluate
                           a sigmoidal thresholding function ranging 
                           from 0 to 1.  This option produces something
                           akin to a line drawing, but it normalizes
                           the max semblance found on each trace, so
                           be carefull.
          For i_wt_type=0, the maximum semblance value is used to evaluate

     In the following, "the point" means the center point of the velocity
     scan that is about to be scaled.

     A subset of the samples along the maximum semblance trajectory
     of a given point may also summed.  This subset
     is taken to be centered about the point.  The length of the subset
     is defined by nwts, and nwts values must be supplied.  Some but not
     all of these values may be zero.

     ex. for i_wt_type=1, nwts=3, wts= 1 2 1, nwin=5, assume the
             samples along the max semblance path are: 1 .8 .9 .8 .9 
             and that the max. semblance value is .5, then the output
             value for this point is: (.5**spower)*(.8*1+.9*2+.8*1)/5,
             where the 5=1+2+1.


     Dan Lizarralde, 2/92