DOCUMENTATION
SYNOPSIS
PERL PROGRAM NAME: SUXWIGB - X-windows Bit-mapped WIGgle plot of a segy data set
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SEISMIC UNIX NOTES
This program also can use XWIGB parameters (see below)
SUXWIGB - X-windows Bit-mapped WIGgle plot of a segy data set
This is a modified suxwigb that uses the depth or coordinate scaling
when such values are used as keys.
suxwigb <stdin [optional parameters] | ...
Optional parameters:
key=(keyword) if set, the values of x2 are set from header field
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)
style=seismic normal (axis 1 horizontal, axis 2 vertical) or
vsp (same as normal with axis 2 reversed)
Note: vsp requires use of a keyword
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.
This program is really just a wrapper for the plotting program: xwigb
See the xwigb selfdoc for the remaining parameters.
Credits:
CWP: Dave Hale and Zhiming Li (xwigb, etc.)
Jack Cohen and John Stockwell (suxwigb, etc.)
Delphi: Alexander Koek, added support for irregularly spaced traces
Modified by Brian Zook, Southwest Research Institute, to honor
scale factors, added vsp style
Notes:
When the number of traces isn't known, we need to count
the traces for xwigb. 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 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.
This program also can use XWIGB parameters XWIGB - X WIGgle-trace plot of f(x1,x2) via Bitmap
xwigb n1= [optional parameters] <binaryfile
X Functionality:
Button 1 Zoom with rubberband box
Button 2 Show mouse (x1,x2) coordinates while pressed
q or Q key Quit
s key Save current mouse (x1,x2) location to file
p or P key Plot current window with pswigb (only from disk files)
a or page up keys enhance clipping by 10%
c or page down keys reduce clipping by 10%
up,down,left,right keys move zoom window by half width/height
i or +(keypad) zoom in by factor 2
o or -(keypad) zoom out by factor 2
l lock the zoom while moving the coursor
u unlock the zoom
1,2,...,9 Zoom/Move factor of the window size
Notes:
Reaching the window limits while moving within changes the zoom
factor in this direction. The use of zoom locking(l) disables it
Required Parameters:
n1 number of samples in 1st (fast) dimension
Optional Parameters:
d1=1.0 sampling interval in 1st dimension
f1=0.0 first sample in 1st dimension
n2=all number of samples in 2nd (slow) dimension
d2=1.0 sampling interval in 2nd dimension
f2=0.0 first sample in 2nd dimension
x2=f2,f2+d2,... array of sampled values in 2nd dimension
mpicks=/dev/tty file to save mouse picks in
bias=0.0 data value corresponding to location along axis 2
perc=100.0 percentile for determining clip
clip=(perc percentile) data values < bias+clip and > bias-clip are clipped
xcur=1.0 wiggle excursion in traces corresponding to clip
wt=1 =0 for no wiggle-trace; =1 for wiggle-trace
va=1 =0 for no variable-area; =1 for variable-area fill
=2 for variable area, solid/grey fill
SHADING: 2<=va<=5 va=2 light grey, va=5 black
verbose=0 =1 for info printed on stderr (0 for no info)
xbox=50 x in pixels of upper left corner of window
ybox=50 y in pixels of upper left corner of window
wbox=550 width in pixels of window
hbox=700 height in pixels of window
x1beg=x1min value at which axis 1 begins
x1end=x1max value at which axis 1 ends
d1num=0.0 numbered tic interval on axis 1 (0.0 for automatic)
f1num=x1min first numbered tic on axis 1 (used if d1num not 0.0)
n1tic=1 number of tics per numbered tic on axis 1
grid1=none grid lines on axis 1 - none, dot, dash, or solid
x2beg=x2min value at which axis 2 begins
x2end=x2max value at which axis 2 ends
d2num=0.0 numbered tic interval on axis 2 (0.0 for automatic)
f2num=x2min first numbered tic on axis 2 (used if d2num not 0.0)
n2tic=1 number of tics per numbered tic on axis 2
grid2=none grid lines on axis 2 - none, dot, dash, or solid
label2= label on axis 2
labelfont=Erg14 font name for axes labels
title= title of plot
titlefont=Rom22 font name for title
windowtitle=xwigb title on window
labelcolor=blue color for axes labels
titlecolor=red color for title
gridcolor=blue color for grid lines
style=seismic normal (axis 1 horizontal, axis 2 vertical) or
seismic (axis 1 vertical, axis 2 horizontal)
endian= =0 little endian =1 big endian
interp=0 no interpolation in display
=1 use 8 point sinc interpolation
wigclip=0 If 0, the plot box is expanded to accommodate
the larger wiggles created by xcur>1. If this
flag is non-zero, the extra-large wiggles are
are clipped at the boundary of the plot box.
plotfile=plotfile.ps filename for interactive ploting (P)
curve=curve1,curve2,... file(s) containing points to draw curve(s)
npair=n1,n2,n2,... number(s) of pairs in each file
curvecolor=color1,color2,... color(s) for curve(s)
Notes:
Xwigb will try to detect the endian value of the X-display and will
set it to the right value. If it gets obviously wrong information the
endian value will be set to the endian value of the machine that is
given at compile time as the value of CWPENDIAN defined in cwp.h
and set via the compile time flag ENDIANFLAG in Makefile.config.
The only time that you might want to change the value of the endian
variable is if you are viewing traces on a machine with a different
byte order than the machine you are creating the traces on AND if for
some reason the automaic detection of the display byte order fails.
Set endian to that of the machine you are viewing the traces on.
The interp flag is useful for making better quality wiggle trace for
making plots from screen dumps. However, this flag assumes that the
data are purely oscillatory. This option may not be appropriate for all
data sets.
The curve file is an ascii file with the points specified as x1 x2
pairs, separated by a space, one pair to a line. A "vector" of curve
files and curve colors may be specified as curvefile=file1,file2,etc.
and curvecolor=color1,color2,etc, and the number of pairs of values
in each file as npair=npair1,npair2,... .
Author: Dave Hale, Colorado School of Mines, 08/09/90
Endian stuff by:
Morten Wendell Pedersen, Aarhus University (visiting CSM, June 1995)
& John Stockwell, Colorado School of Mines, 5 June 1995
Stewart A. Levin, Mobil - Added ps print option
John Stockwell - Added optional sinc interpolation
Stewart A. Levin, Mobil - protect title, labels in pswigb call
Brian J. Zook, SwRI - Added style=normal and wigclip flag
Brian K. Macy, Phillips Petroleum, 11/27/98, added curve plotting option
Curve plotting notes:
MODIFIED: P. Michaels, Boise State Univeristy 29 December 2000
Added solid/grey color scheme for peaks/troughs
G.Klein, IFG Kiel University, 2002-09-29, added cursor scrolling and
interactive change of zoom and clipping.
IFM-GEOMAR Kiel, 2004-03-12, added zoom locking
IFM-GEOMAR Kiel, 2004-03-25, interactive plotting fixed
CHANGES and their DATES
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
50 + 43 personalized params
clear global variables from the memory
sub absclip
define min and max plotting values
define min and max plotting values
sub bclip
sub bias
G. Bonot 091718 Only shows data to the right (along axis 2) of each sample data value. Data accounts for the right side of waveform amplitude and is adjusted on input
sub box_X0
sub box_Y0
sub box_height
sub box_width
sub clip
define min and max plotting values
sub cmap define min and max plotting values
sub curve
sub curvecolor
sub curvefile
sub d1
increment in fast dimension
usually time and equal to dt
subs d1 and dt
increment in fast dimension
usually time and equal to dt
sub dt_major_divisions
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
sub dy_major_divisions
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
sub d1num
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
subs d2num dx_major_divisions and x_tick_increment
numbered tick increments along x axis
usually in m and only for display
sub endian
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub f1num
subs f1num and first_time_tick_num
first number at the first tick
Kenny Lau
16 Sept 2018
Changes the first number at the first tick
sub f2
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
G. Bonot 091718
Shifts first sample data to right by amount input
i.e., f2=5 makes data befin at 5 on the x axis.
sub f2num subs f2num and first_distance_tick_num
first number at the first tick
GTL18
First number of x axis. Not incremental; only represents the
single first vale. X- axis increments ( d2num not equal to 0)
must be created to use this feature; strictly for visual representation
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
sub first_distance_tick_num subs f2num and first_distance_tick_num
first number at the first tick
GTL18
First number of x axis. Not incremental; only represents the
single first vale. X- axis increments ( d2num not equal to 0)
must be created to use this feature; strictly for visual representation
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub first_time_tick_num
subs f1num and first_time_tick_num
first number at the first tick
Kenny Lau
16 Sept 2018
Changes the first number at the first tick
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub ftr
sub grid1
Kenny Lau
16 Sept 2018
Changes the type of line on the first axis
sub grid2
A. Sivil 091718
Adds grid lines above x axis as either a dot, dash or a solid line
sub gridcolor
sub hbox
sub headerword
sub header_word
sub hiclip
sub hi_clip
sub interp
sub key
sub label1
sub label2
A. Sivil 091718
Adds label above x axis in top-right corner
sub labelcolor
sub labelfont
A. Sivil 091718
Changes font for label
sub lo_clip
sub loclip
sub mpicks
G. Bonot 091718 Input a file name to which your mouse clicks are to be saved. No visible change observed in xwigb
sub n1
sub n1tic
subs n1tic and num_minor_ticks_betw_time_ticks
n1tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
Kenny Lau
16 Sept 2018
Breaks down one tick into X number of minor ticks
sub n2
ssubs n2tic and num_minor_ticks_betw_distance_ticks
n2tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
A. Sivil 091718
Adds minor ticks between each numbered tick on axis 1
sub npair
ssubs n2tic and num_minor_ticks_betw_distance_ticks
n2tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
A. Sivil 091718
Adds minor ticks between each numbered tick on axis 1
sub num_minor_ticks_betw_time_ticks
subs n1tic and num_minor_ticks_betw_time_ticks
n1tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
Kenny Lau
16 Sept 2018
Breaks down one tick into X number of minor ticks
sub orientation
seismic style of plotting (time axis pointing down)
versus mathematical ( y axis up)
sub perc
sub percent
sub picks
automatically generates a pick file
sub plotfile
sub shading plot data using a variable area scheme also sub shading Rachel Gnieski 091718 Plot data using a variable area scheme: Should change the shading of the plot background by inputting a value between 2 and 5 but could not get it to function
sub style
seismic style of plotting (time axis pointing down)
versus mathematical ( y axis up)
sub title
allows for a default graph title ($on) or
a user-defined title
sub titlecolor
allows for a default graph title ($on) or
a user-defined title
sub titlefont
sub tmpdir
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
sub tend_s
minimum value of yaxis (time usually) in seconds
sub tstart_s
minimum value of yaxis (time usually) in seconds
sub va plot data using a variable area scheme also sub shading Rachel Gnieski 091718 Plot data using a variable area scheme: Should change the shading of the plot background by inputting a value between 2 and 5 but could not get it to function
sub verbose
sub wbox
sub wclip
sub wigclip
sub windowtitle
sub wt
sub x1beg
minimum value of yaxis (time usually) in seconds
sub x1end
minimum value of yaxis (time usually) in seconds
sub x2
G. Bonot 091718 Lists array of values in the second dimension; displays one isolated sample value in different of the input value
sub x2beg
minimum value of x axis (time usually) in seconds
First value shown on x axis GTL18
sub x2end
max value of xaxis (distance or traces, usually) in seconds
Last value for data shown on x axis GTL18
sub xbox
Rachel Gnieski 091718
x pixels fo the upper corner of the window: Changing this value determines where the
graph will open up on the screen based on the horizontal row of pixels
sub xcur
how many adjacent wiggles can be overploted
sub xend_m
subs xlabel or label2 ylabel or label1
sub xstart_m
subs d2num dx_major_divisions and x_tick_increment
numbered tick increments along x axis
usually in m and only for display
sub ybox
Rachel Gnieski 091718
y pixels for the upper left corner of the window. Changing this value determines
where the graph will open up on the screen based on the vertical column of pixes.
subs ylabel or label1
sub y_tick_increment
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
sub get_max_index
max index = number of input variables -1