SURADON - compute forward or reverse Radon transform or remove multiples by using the parabolic Radon transform to estimate multiples and subtract.

     suradon <stdin >stdout [Optional Parameters]                

 Optional Parameters:                                      
 choose=0    0  Forward Radon transform                    
             1  Compute data minus multiples                     
             2  Compute estimate of multiples                    
             3  Compute forward and reverse transform            
             4  Compute inverse Radon transform            
 igopt=1     1  parabolic transform: g(x) = offset**2            
             2  Foster/Mosher psuedo hyperbolic transform        
                   g(x) = sqrt(depth**2 + offset**2)             
             3  Linear tau-p: g(x) = offset                      
             4  abs linear tau-p: g(x) = abs(offset)             
 offref=2000.    reference maximum offset to which maximum and minimum 
                 moveout times are associated                    
 interoff=0.     intercept offset to which tau-p times are associated  
 pmin=-200       minimum moveout in ms on reference offset       
 pmax=400        maximum moveout in ms on reference offset       
 dp=16           moveout increment in ms on reference offset           
 pmula=80        moveout in ms on reference offset where multiples begin
                     at maximum time                             
 pmulb=200       moveout in ms on reference offset where multiples begin
                     at zero time                          
 depthref=500.   Reference depth for Foster/Mosher hyperbolic transform
 nwin=1          number of windows to use through the mute zone  
 f1=60.          High-end frequency before taper off             
 f2=80.          High-end frequency                        
 prewhite=0.1    Prewhitening factor in percent.                 
 cdpkey=cdp      name of header word for defining ensemble       
 offkey=offset   name of header word with spatial information          
 nxmax=120       maximum number of input traces per ensemble           

 Optimizing Parameters:                              
 The following parameters are occasionally used to avoid spatial aliasing
 problems on the linear tau-p transform.  Not recommended for other    
 transforms...                                             
 ninterp=0      number of traces to interpolate between each input trace
                   prior to computing transform            
 freq1=3.0      low-end frequency in Hz for picking (good default: 3 Hz)
                (Known bug: freq1 cannot be zero)
 freq2=20.0     high-end frequency in Hz for picking (good default: 20 Hz)
 lagc=400       length of AGC operator for picking (good default: 400 ms)
 lent=5         length of time smoother in samples for picker          
                     (good default: 5 samples)                   
 lenx=1         length of space smoother in samples for picker         
                     (good default: 1 sample)                    
 xopt=1         1 = use differences for spatial derivative       
                        (works with irregular spacing)                 
                0 = use FFT derivative for spatial derivatives         
                      (more accurate but requires regular spacing and  
                      at least 16 input tracs--will switch to differences
                      automatically if have less than 16 input traces) 


 Credits:
      CWP: John Anderson (visitor to CSM from Mobil) Spring 1993

 Multiple removal notes:
      Usually the input data are NMO corrected CMP gathers.  The
      first pass is to compute a parabolic Radon transform and
      identify the multiples in the transform domain.  Then, the
      module is run on all the data using "choose=1" to estimate
      and subtract the multiples.  See the May, 1993 CWP Project
      Review for more extensive documentation.

 NWIN notes:
      The parabolic transform runs with higher resolution if the
      mute zone is honored.  When "nwin" is specified larger than
      one (say 6), then multiple windows are used through the mute
      zone.  It is assumed in this case that the input data are
      sorted by the offkey header item from small offset to large
      offset.  This causes the code to run 6 times longer.  The
      mute time is taken from the "muts" header word.  Beware,
      the SU mute module does not set this header word as one
      would normally expect.  You have to manually set it yourself.

 References:
 Anderson, J. E., 1993, Parabolic and linear 2-D, tau-p transforms
       using the generalized radon tranform, in May 11-14, 1993
       Project Review, Consortium Project on Seismic Inverse methods
       for Complex Structures, CWP-137, Center for Wave Phenomena
       internal report.
 Other References cited in above paper:
 Beylkin, G,.1987, The discrete Radon transform: IEEE Transactions
       of Acoustics, Speech, and Signal Processing, 35, 162-712.
 Chapman, C.H.,1981, Generalized Radon transforms and slant stacks:
       Geophysical Journal of the Royal Astronomical Society, 66,
       445-453.
 Foster, D. J. and Mosher, C. C., 1990, Multiple supression
       using curvilinear Radon transforms: SEG Expanded Abstracts 1990,
       1647-1650.
 Foster, D. J. and Mosher, C. C., 1992, Suppression of multiples
       using the Radon transform: Geophysics, 57, No. 3, 386-395.
 Gulunay, N., 1990, F-X domain least-squares Tau-P and Tau-Q: SEG
       Expanded Abstracts 1990, 1607-1610.
 Hampson, D., 1986, Inverse velocity stacking for multiple elimination:
       J. Can. Soc. Expl. Geophs., 22, 44-55.
 Hampson, D., 1987, The discrete Radon transform: a new tool for image
       enhancement and noise suppression: SEG Expanded Abstracts 1978,
       141-143.
 Johnston, D.E., 1990, Which multiple suppression method should I use?
       SEG Expanded Abstracts 1990, 1750-1752.

 Trace header words accessed: ns, dt, cdpkey, offkey, muts