NAME

     radonr  - generalized discrete radon inverse transform  from
     (tau,p) to (t,x) domain.


SYNOPSIS

     radonr [ -Nntap ] [ -Ootap ] [ -dmindmin ] [ -dmaxdmax  ]  [
     -dxdx  ]  [  -Slensmooth  ]  [  -Mamaxmem  ] [ -I ] [ -Y ] [
     -nomute ] [ -R ] [ -? ]


DESCRIPTION

     radonr takes the generalized discrete radon transform domain
     (tau,p)  gathers  generated by routine radonf and transforms
     them back to the conventional (t,x) domain  data  at  either
     the original trace locations, or (optionally) at a new regu-
     lar grid of surface locations.

     INPUT:  Common shot,  common  receiver  or  common  midpoint
     (tau,p)  domain  gathers,  or running window stack or common
     offset  gathers  run  through  routine   rwindow.    OUTPUT:
     Corresponding gathers in (t,x) domain.

  Command line arguments
     -N ntap
          Enter the input data set name or file immediately after
          typing -N unless the input is from a pipe in which case
          the -N entry must be omitted.  This input  file  should
          include the complete path name if the file resides in a
          different directory.  Example -N/b/vsp/dummy tells  the
          program to look for file 'dummy' in directory '/b/vsp'.

     -O otap
          Enter the output data  set  name  or  file  immediately
          after typing -O.  This output file is not required when
          piping the output to another process.  The output  data
          set also requires the full path name (see above).

     -dmin dmin
          Minimum signed trace distance (ft or m) of  the  output
          regularized  data. (Default: calculate output at origi-
          nal trace locations).

     -dmax dmax
          Maximum signed trace distance (ft or m) of  the  output
          regularized  data. (Default: calculate output at origi-
          nal trace locations).

     -dx dx
          Trace increment (ft or m)  of  the  output  regularized
          data.   If   all  three  arguments   dmin,dmax,dx   are
          detected, the data will be regularized. (Default:  cal-
          culate output at original trace locations).

     -S lensmooth
          Perform median filter smoothing of the early mutes dur-
          ing  reconstruction  using  a  lensmooth  point  median
          filter. (will tend to infill  ragged  shallow  data  in
          poststack  data).  (Default,  lensmooth=0 or no smooth-
          ing).

     -M amaxmem
          Enter the maximum memory allowed  for  the  program  in
          Megawords.  The program will try to store as many radon
          transform matrices in memory as will fit,  thereby  eli
          minating  the  need  to  recompute  them  for  the same
          source-receiver  distances  in  su  bsequent   gathers.
          (Default:  amaxmem=32 Megawords on the Crays, amaxmem=4
          Megawords on the Sparcs).

     -I   Enter the command line -I to interpolate dead traces at
          the  original signed trace distances DstSgn (assumed to
          be correct! make sure that DstSgn is not zero!).

     -R   Enter the command line -R to generate regularized data.
          See note below!

     -Y   Enter the command line -Y to reconstruct data  data  in
          the y direction.

     -nomute
          Enter the command line -nomute to NOT restore the early
          mute.

     -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.


NOTE 1:

     Data that have been regularized to a different shot-receiver
     increment  than  the  original  data will have correct trace
     numbers and trace distances, but incorrect  record  indices,
     thereby  requiring  the  user  to reindex the data using USP
     programs  maip, laip, pr3d or script  ufh. Regularization to
     equally  spaced shots can be acheived by sorting the data to
     common receiver domain and running radonf|radonr -R there.


NOTE 2:

     The  user  should  contemplate   flows   such   as    radonf
     -L|polymute|radonr  -R; sisort -G; radonf -L|polymute|radonr
     -R  for effective, consistent filtering and interpolation of
     irregularly  sampled  data  onto  a  regular  grid. The flow
     fft2da|polymute|fft2da      -R       ;       sisort       -G
     ;fft2da|polymute|fft2da  -R  is significantly more efficient
     and should be tried first on  regularly  sampled  data  with
     strong linear noise trains.


NOTE 3 (STOLEN HEADERS):

     In order to apply discrete radon transform filtering  to  3D
     post  stack  or 3D common offset data, several trace headers
     need to be stolen. Considerable care was taken not to  steal
     commonly used header words. Nevertheless, certain collisions
     may occur for flows unforseen by the  author.  Future  plans
     call  for  using  the dds system, which will ameli orate the
     line header problem.

     Line header words stolen by radonf and radonr when transform is in the inline direction (including normal shot gather, receiver gather and cmp gather transforms):

     Header keyword           variable

     Crew01                   't'
     Crew02                   'p'
     Crew03                   moveout ('L','P',or 'H')
     MnUHTm                   ntr (number of input traces)
     MxUHTm                   nfft (length of FFT)
     TmMsFS                   f1
     MutVel                   f4
     NmSpMi                   df
     MxRSEL                   zref
     MnGrEl                   mmin
     MxGrEl                   mmax
     MxTrOf                   xmax
     MxTrSt                   ist

     Trace header words stolen by radonf and radonr for transform in the
     inline direction:

     DstUsg                   p*dt*1.e+07 (for use in routine taupred)
     TVPT20 and TVPV20        p (as a floating point for use in routine mute3D)
     TVPT19                   x (inline distance as found in input word DstSgn)
     MulSkw                   muteend (first non-zero sample of input data used to re
     store early mute)
     StaCor                   dead trace flag 30000 changed to 30001
                              transform of dead trace flag 30001 changed to 30002
                              this allows pred and taupred to work
                              operation reversed on inverse transform

     Line header words stolen by radonf and radonr for transform in the fIcrossline direction
     invoked by using the -Y option above:

     Header keyword           variable

     Crew01                   't'
     Crew04                   'q'
     Crew05                   moveout ('L','P',or 'H')
     MnShDp                   ntr (number of input traces)
     MxShDp                   nfft (length of FFT)
     TmMsSl                   f1*1.e+06
     TmSlIn                   f4*1.e+06
     AERcPr                   df*1.e+06
     IndAdj                   zref
     MnSPEl                   mmin
     MxSPEl                   mmax
     MnTrOf                   xmax
     MnTrSt                   ist

     Trace header words stolen by radonf and radonr for transform in the
     crossline direction:

     DstUsg                   q*dt*1.e+07 (for use in routine taupred)
     TVPT21 and TVPV21        q (as a floating point for use in routine mute3D)
     TVPV19                   y (crossline distance as found in input word DstSgn)
     PREPIn                   muteend (first non-zero sample of input data used to re
     store early mute)
     StaCor                   dead trace flag 30000 changed to 30001
                              transform of dead trace flag 30001 changed to 30002
                              this allows pred and taupred to work
                              operation reversed on inverse transform

     Line header words stolen by rwindow in generating running window in the inline direction
     (default mode in rwindow):

     Header keyword           variable

     RATFld                   npad
     OpGrFl                   nline (number of lines in the inline direction)
     OrNREC                   nrec_inline (number of inline windowed records)
     OrNTRC                   ntrpline (number of inline traces of original unwindowe
     d line)
     RATTrc                   ntrcumpads (ntr+2*npad)

     Line header words stolen by rwindow in generating running window in the crossline direction
     (invoked by using the -Y option in rwindow):

     Header keyword           variable

     FrstSP                   npad
     DpN1SP                   nline (number of lines in the crossline direction)
     NmDpIn                   nrec_inline (number of crossline windowed records)
     NTrLnS                   ntrpline (number of crossline traces of original unwind
     owed line)
     StWdFl                   ntrcumpads (ntr+2*npad)






NOTE 4:

     If the line header value SmpInt>16, it is assumed to  be  in
     microseconds  rather  than  in milliseconds.All command line
     arguments are considered to be in millseconds.




REFERENCES

     Belykin, G. (1987) Discrete Radon Transforms, IEEE  Transac-
     tions  on  Acoustics,  Sp  eech  and  Signal Processing, Vol
     ASSP-35, No. 2, p162-172.

     Kabir, N. and Verschuur, E.  (1993)  The  use  of  parabolic
     radon transforms in preprocessing; Delphi Consortium Report,
     Vol IV, T.U. Delft, Delft, the Netherlands.




BUGS

     No bugs known at present.


SEE ALSO

     radonf,polymute,taupred,rmmult,taupf,taupr,slstkf,slstkr



AUTHOR

     Kurt J. Marfurt (1992). Built upon earlier work  in  routine
     rmmult.  3D  common offset and post stack capabilities added
     12/93.


COPYRIGHT

     copyright 2001, Amoco Production Company
               All Rights Reserved
          an affiliate of BP America Inc.



















Man(1) output converted with man2html