SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES PSCCONTOUR - PostScript Contour plot of a data CUBE
pscubecontour n1=
n2=
n3= [optional parameters]
<binaryfile >postscriptfile
or
pscubecontour n1=
n2=
n3=
front=
side=
top= [optional parameters] >postscriptfile
Data formats supported:
1. Entire cube read from stdin (n1*n2*n3 floats) [default format]
2. Faces read from stdin (n1*n2 floats for front, followed by n1*n3
floats for side, and n2*n3 floats for top) [specify faces=1]
3. Faces read from separate data files [specify filenames]
Required Parameters:
n1= number of samples in 1st (fastest) dimension
n2= number of samples in 2nd dimension
n3= number of samples in 3rd (slowest) dimension
Optional Parameters:
front= name of file containing front panel
side= name of file containing side panel
top= name of file containing top panel
faces=0 =1 to read faces from stdin (data format 2)
d1=1.0 sampling interval in 1st dimension
f1=0.0 first sample in 1st dimension
d2=1.0 sampling interval in 2nd dimension
f2=0.0 first sample in 2nd dimension
d3=1.0 sampling interval in 3rd dimension
f3=0.0 first sample in 3rd dimension
d1s=1.0 factor by which to scale d1 before imaging
d2s=1.0 factor by which to scale d2 before imaging
d3s=1.0 factor by which to scale d3 before imaging
nc=5 number of contour values
dc=(zmax-zmin)/nc contour interval
fc=min+dc first contour
c=fc,fc+dc,... array of contour values
cwidth=1.0,... array of contour line widths
cgray=0.0,... array of contour grays (0.0=black to 1.0=white)
ccolor=none,... array of contour colors; none means use cgray
cdash=0.0,... array of dash spacings (0.0 for solid)
labelcf=1 first labeled contour (1,2,3,...)
labelcper=1 label every labelcper-th contour
nlabelc=nc number of labeled contours (0 no contour label)
nplaces=6 number of decimal places in contour label
xbox=1.5 offset in inches of left side of axes box
ybox=1.5 offset in inches of bottom side of axes box
size1=4.0 size in inches of 1st axes (vertical)
size2=4.0 size in inches of 2nd axes (horizontal)
size3=3.0 size in inches of 3rd axes (projected)
angle=45 projection angle of cube in degrees (0<angle<90)
(angle between 2nd axis and projected 3rd axis)
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
label1= label on axis 1
x2beg=x2min value at which axis 2 begins
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
x3end=x3max value at which axis 3 ends
d3num=0.0 numbered tic interval on axis 3 (0.0 for automatic)
f3num=x3min first numbered tic on axis 3 (used if d3num not 0.0)
n3tic=1 number of tics per numbered tic on axis 3
grid3=none grid lines on axis 3 - none, dot, dash, or solid
label3= label on axis 3
labelfont=Helvetica font name for axes labels
labelsize=18 font size for axes labels
title= title of plot
titlefont=Helvetica-Bold font name for title
titlesize=24 font size for title
titlecolor=black color of title
labelcfont=Helvetica-Bold font name for contour labels
labelcsize=6 font size of contour labels
labelccolor=black color of contour labels
axescolor=black color of axes
gridcolor=black color of grid
All color specifications may also be made in X Window style Hex format
example: axescolor=#255
Note: The values of x1beg=x1min, x2end=x2max and x3beg=x3min cannot
be changed.
Legal font names are:
AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi AvantGarde-DemiOblique"
Bookman-Demi Bookman-DemiItalic Bookman-Light Bookman-LightItalic
Courier Courier-Bold Courier-BoldOblique Courier-Oblique
Helvetica Helvetica-Bold Helvetica-BoldOblique Helvetica-Oblique
Helvetica-Narrow Helvetica-Narrow-Bold Helvetica-Narrow-BoldOblique
Helvetica-Narrow-Oblique NewCentrySchlbk-Bold"
NewCenturySchlbk-BoldItalic NewCenturySchlbk-Roman Palatino-Bold
Palatino-BoldItalic Palatino-Italics Palatino-Roman
SanSerif-Bold SanSerif-BoldItalic SanSerif-Roman
Symbol Times-Bold Times-BoldItalic
Times-Roman Times-Italic ZapfChancery-MediumItalic
(Original codes pscontour and pscube)
Author: Craig Artley, Colorado School of Mines, 03/12/93
NOTE: Original written by Zhiming Li & Dave Hale, CSM, 07/01/90
Completely rewritten, the code now bears more similarity to
psimage than the previous pscube. Faces of cube now rendered
as three separate images, rather than as a single image. The
output no longer suffers from stretching artifacts, and the
code is simpler. -Craig
MODIFIED: Craig Artley, Colorado School of Mines, 12/17/93
Added color options.
PSCCONTOUR: mashed together from pscube and pscontour
to generate 3d contour plots by Claudia Vanelle, Institute of Geophysics,
University of Hamburg, Germany somewhen in 2000
PSCUBE was "merged" with PSCONTOUR to create PSCUBECONTOUR
by Claudia Vanelle, Applied Geophysics Group Hamburg
somewhen in 2000
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 angle
sub axescolor
sub c
sub ccolor
sub cdash
sub cgray
sub cwidth
sub d1
sub d1num
sub d1s
sub d2
sub d2num
sub d2s
sub d3
sub d3num
sub d3s
sub dc
sub f1
sub f1num
sub f2
sub f2num
sub f3
sub f3num
sub faces
sub fc
sub front
sub grid1
sub grid2
sub grid3
sub gridcolor
sub label1
sub label2
sub label3
sub labelccolor
sub labelcf
sub labelcfont
sub labelcper
sub labelcsize
sub labelfont
sub labelsize
sub n1
sub n1tic
sub n2
sub n2tic
sub n3
sub n3tic
sub nc
sub nlabelc
sub nplaces
sub side
sub size1
sub size2
sub size3
sub title
sub titlecolor
sub titlefont
sub titlesize
sub top
sub x1beg
sub x1end
sub x2beg
sub x3end
sub xbox
sub ybox
sub get_max_index
max index = number of input variables -1