SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUXPICKER - X-windows WIGgle plot PICKER of a segy data set
suxpicker <stdin [optional parameters] | ...
Optional parameters:
key=(keyword) if set, the values of x2 are set from header field
specified by keyword
specified by keyword
n2=tr.ntr or number of traces in the data set (ntr is an alias for n2)
d1=tr.d1 or tr.dt/10^6 sampling interval in the fast dimension
=.004 for seismic (if not set)
=1.0 for nonseismic (if not set)
d2=tr.d2 sampling interval in the slow dimension
=1.0 (if not set)
f1=tr.f1 or tr.delrt/10^3 or 0.0 first sample in the fast dimension
f2=tr.f2 or tr.tracr or tr.tracl first sample in the slow dimension
=1.0 for seismic (if not set)
=d2 for nonseismic (if not set)
verbose=0 =1 to print some useful information
tmpdir= if non-empty, use the value as a directory path
prefix for storing temporary files; else if the
the CWP_TMPDIR environment variable is set use
its value for the path; else use tmpfile()
Note that for seismic time domain data, the "fast dimension" is
time and the "slow dimension" is usually trace number or range.
Also note that "foreign" data tapes may have something unexpected
in the d2,f2 fields, use segyclean to clear these if you can afford
the processing time or use d2= f2= to override the header values if
not.
If key=keyword is set, then the values of x2 are taken from the header
field represented by the keyword (for example key=offset, will show
traces in true offset). This permit unequally spaced traces to be plotted.
Type sukeyword -o to see the complete list of SU keywords.
See the xpicker selfdoc for the remaining parameters.
Credits:
CWP: Dave Hale and Zhiming Li (xpicker, etc.)
Jack Cohen and John Stockwell (suxpicker, etc.)
Notes:
When the number of traces isn't known, we need to count
the traces for xpicker. You can make this value "known"
either by getparring n2 or by having the ntr field set
in the trace header. A getparred value takes precedence
over the value in the trace header.
When we do have to count the traces, we use the "tmpfile"
routine because on many machines it is implemented
as a memory area instead of a disk file.
If your system does make a disk file, consider altering
the code to remove the file on interrupt. This could be
done either by trapping the interrupt with "signal"
or by using the "tmpnam" routine followed by an immediate
"remove" (aka "unlink" in old unix).
When we must compute ntr, we don't allocate a 2-d array,
but just content ourselves with copying trace by trace from
the data "file" to the pipe into the plotting program.
Although we could use tr.data, we allocate a trace buffer
for code clarity.
User's notes (Juan Lorenzo) untested
CHANGES and their DATES
Import packages
instantiation of packages
Encapsulated hash of private variables
sub Step
collects switches and assembles bash instructions by adding the program name
sub note
collects switches and assembles bash instructions by adding the program name
sub clear
sub d1
sub d2
sub f1
sub f2
sub key
sub n2
sub tmpdir
sub verbose
sub get_max_index
max index = number of input variables -1