This Appendix presents, alphabetically, each of the current command names along with a description of the arguments to each command. Each entry in this file is equivalent to requesting help with the command help cmd where cmd is the command name. Command arguments inside square brackets are optional parameters; the description will describe what value will be substituted if these arguments are not supplied.
If there is a difference between the descriptions that follow and the corresponding on-line version, the on-line help message should be assumed to be correct.
AITOFF
will convert the X values (longitude) from
the most recent XCOLUMN
command and the Y values (latitude) from the most recent
YCOLUMN
command and convert them
to the equivalent x-y positions for use in an Aitoff (more
precisely, a Hammer) projection. The AITOFF
command MUST be called every time new data is inserted either
with the XCOLUMN
or
YCOLUMN
commands. If the
optional arguments L
and B
are present,
they are converted to the equivalent x-y positions for use in
an Aitoff projection. For the equivalent Aitoff "box", see the
GLOBE
command.
ANGLE
will cause text from
LABEL
and
PUTLABEL
commands to be
presented at D
degrees counterclockwise from the
horizontal (+x direction). Alternatively, if there are four
arguments present, then they are taken to be the World (user)
coordinates of two positions and the ANGLE
is set
to the slope of the line.
MAJX
, MAJY
.
ARC
draws an arc at the current cursor position
with major axes MAJX
and MAJY
(in World
coordinate units). The curve is drawn as a polygon with the
characteristics specified by the command
FILL
. The number of points used to
generate the curve can be controlled by adjusting the value of
the character expansion
(see the command EXPAND
).
The optional parameter ANG
defines the angular extent
of the arc in degrees (set to 360 degrees if not given).
An additional optional parameter, STARTANG
,
may be used to determine an initial offset angle of the arc relative to
MAJX
(this defaults to 0 degrees if this parameter is
not present). Use the command ANGLE
to set the rotation of MAJX
with respect to the
positive x-axis. All angles are in units of degrees and are
defined to be zero toward the right of the viewport
(regardless of the direction of the World Coordinate system)
and increasing counter-clockwise.
See also the BEAM
command.
NOTE: If the World Coordinate system
is currently RA and DEC, a rotated arc may not plot correctly.
Use 'header px px'
or
'header so so'
(or some other equivalent offset option) to set the coordinate
system to something comparable in scale.
ARROW
draws an arrow from the current cursor
position to the World (user) coordinate (X,Y
).
The acute angle of the arrow point, in degrees, is specified by
the optional input ANGLE
; angles in the range
20.0 to 90.0 give reasonable results. If ANGLE
is
not present on the command line, a value of 45.0 degrees is used.
The fraction of the triangular arrow-head that is cut away from the
back is specified by the optional parameter VENT
.
A value of 0.0 gives a triangular wedge arrow-head; 1.0 gives
an open >. Values of 0.3 to 0.7 give reasonable results. The
default value for VENT (if it is not present) is 0.3.
EXPAND
can be used to vary
the length of the arrowhead. For
EXPAND
set to 1.0, the default
size of the arrowhead is 1/40th of the smaller of the width or
height of the view surface.
ASK
will set the prompt state to ON if
K
is set to 1 and the current device selected is
interactive; otherwise, ASK
will set the prompt
state to OFF. If ASK
is set ON, then every command
that erases the page will prompt the user before clearing the
screen. The default state of this is OFF; also, every time a new
device is selected (see DEVICE
),
ASK
is set to OFF.
AUTOLEVS
will fill an internal contour level array
with NLEV
contours between the values MIN
and MAX
. NLEV
must be input, but the
rest of the parameters are optional. If either of or both
MIN
and MAX
are not given, they are
default to the minimum and maximum of the current array loaded
using the command IMAGE
. The
optional parameter TYPE
is a string of characters
specifying the type of contour levels to generate. If
TYPE
is LIN
, then the contour levels
are linearly spaced (this is the default if TYPE
is not present); if TYPE
is LOG
, then
the levels are spaced evenly in the logarithm.
90(K-1)
.
BAR
is analogous to the command
BIN
except that it will draw a
bar graph on all (x,y) coordinates read by
XCOLUMN
and
YCOLUMN
in the direction
specified by the argument K
. Set the argument
K
to 1 to put the bar extending towards the +X
direction; 2 for +Y; 3 for -X; and 4 for -Y. The values read
by the most recent call to ECOLUMN
determine which color to draw individual bars. If this array is
empty, the current color index is used. The optional argument
THRESH
may be used to specify the "bottom" of the
bar. If this optional argument is present, then it is used to
anchor the beginning of the bar graph and should be entered in
the units of that axis. If this optional argument is not
present, the box edge opposite the direction the bar extends
acts as the threshold. An additional optional argument
GAP
may be used to specify the "width" of the bar.
If this is not present, the width is defined as the difference
between the mean of the current point and the next point and the
mean of the current point and the previous point. If
GAP
is present, it should be in entered in units of
that axis (i.e. for K == 2
, GAP
should be in the units of the X-axis) and the bar will be
centered on the point with half the width on either side.
BEAM
draws a beam at the current cursor position
outlined using the current color and line width properties.
It has a major axis MAJ
and minor axis
MIN
and is rotated by a position angle PA
(which is in units of degrees defined as zero along the positive
Y-axis (regardless of the current World Coordinate system) and
increasing counter-clockwise). The optional parameters
OFFX
and OFFY
(which both default to 0)
define the offset of the center of the beam from the current
cursor position. These offsets are in units of the width or
height of the box that bounds the beam. The beam will first be
drawn solid using the optional input FILLCOLOR
and is
then drawn hollow with the current color. If FILLCOLOR
is not provided, it defaults to color index 15.
By default, the axes will be scaled as if header rd rd
has been previously called. This means that the X-axis will be
scaled by 15*cos(declination). To override this scaling, the optional
input SCALE
can be provided and set to whatever
scaling is desired (no scaling can be achieved by setting
SCALE
to 1). If SCALE
is set to any
negative value (or is not present), then RA-Dec type scaling will be
done. The major and minor axes of the beam should be in the same
units as the two axes. This means if SCALE
is set
to anything but 1, then they should both be in the same units
as the Y-axis.
If the optional argument BGRECT
is provided
(it defaults to 0) and is not negative, then a solid rectangle
will be drawn in that color (color index BGRECT
) first.
The rectangle will only be as large as the width and height of the beam.
N
.
BGCI
sets the text background color index for
subsequent text. By default, text does not obscure underlying
graphics. If the text background color index is positive,
however, text is opaque: the bounding box of the text is
filled with the color specified by the value of N
before drawing the text characters. Use color index 0 to erase
underlying graphics before drawing text. If N
is
less than 0, the text will be transparent; if greater than or
equal to 0, the text will be drawn on an opaque background with
color index N
. The initial value of the text
background color index is -1 (transparent) and is reset to -1
whenever a new device is selected.
BIN
connects the coordinates read by
XCOLUMN
and
YCOLUMN
as a histogram. If
the optional argument K
is present and equal to 0,
then the individual X values denote the lower left edge (in X)
of the bin. If K
is set to 1 or is not present,
then the individual X values denote the center location of the
bin. If the optional parameter GAP
is present, it
represents the distance (in X axis units) that signals a gap in
the histogram not to be connected. This is useful for histograms
with irregular spacing or directional changes. A good value
for GAP
is 2.
LIMITS
and TICKSIZE
.
BOX
annotates the viewport with a frame, axes,
numeric labels, etc. The two arguments X
and
Y
are strings of options that determine the type
of box and the labeling that will be drawn. The option letters
may be in any order and do not depend on case. If either
parameter is omitted, the missing parameter is given the
default value set by the string variables XBOX and YBOX (see
the command SET
). If none of the
letters `A', `B', or `C' are specified, then tick marks will
not be drawn. The options currently available
are:
A : Draw Axis line (X axis is a horizontal line at Y=0, Y axis is a vertical line at X=0). B : Draw Bottom (X) or Left (Y) edge of the frame. C : Draw Top (X) or Right (Y) edge of the frame. D : Include the superscript symbols 'o', ''', and '"'. If this option is used, the option `Y' is implicitly implied. F : Write only the last part of the label for the first time (left or bottom most) tick on the axis (see Z). For example, if the full first label is 17 42 34.4, then only write 34.4. This option is useful for sub-panels that join each other. Care is needed because first label carries sign as well. G : Draw a Grid of vertical (X) or horizontal (Y) lines at each of the major tick mark positions. H : Include the superscript symbols 'd', 'h', 'm', and 's'. I : Invert the tick marks; i.e. draw them outside the viewport instead of on the inside. L : Label axis Logarithmically. If option `Z' is used, then this option is ignored. The major tick interval is ALWAYS 1.0; the number of minor ticks is ALWAYS 8. The numeric label is 10**(x) where x is the world coordinate at the tick mark. M : Write Numeric labels in the unconventional location Above (X) or to the Right (Y) of the viewport. N : Write Numeric labels in the conventional location Below (X) or to the Left (Y) of the viewport. O : Omit leading zeros in numbers < 10 in time labels. For example, the label 3h 3m 1.2s will be written rather than 03h 03m 01.2s. The day field is not affected by this option and this option is ignored unless used with the `Z' option. This option is ignored when used with the `V' option as it makes it impossible to align the labels nicely. This option is useful to help save space on the X-axis. P : Extend ("Project") the major tick marks outside the box. This option will be ignored if option `I' is also specified. S : Draw Minor Tick marks (Subticks). T : Draw Major Tick marks at the major coordinate interval. V : Orient numeric labels Vertically. This is only applicable to the Y axis. The default is to write the Y-labels parallel to the axis. Y : Do not include the day field in time labeling. This means that labels are "HH MM SS.S" rather than "DD HH MM SS.S". The hours will accumulate beyond 24, if necessary, in this case. Z : Use time labeling ((DD) HH MM SS style). The World coordinates of the box (see LIMITS) and the tick mark increments (see TICKSIZE) should be given in units of seconds. 1 : Force decimal labeling, instead of automatic choice. 2 : Force exponential labeling, instead of automatic. 0 : By itself, a zero produces a null operation argument; useful to produce a box along only one axis.
BUFFER
will execute the contents of the
command buffer (the same as the command
"playback
" or
"playback buffer
").
BUFFER
may also be used as an argument for commands
requiring a macro name (e.g. LIST
and WRITE
).
COLOR
defines the current color index used for
filling polygons, drawing lines, and labeling characters for
the selected device. COLOR
is originally set to 1
and is reset to this value whenever a new device is selected.
The number of colors available is device dependent (the range
can be displayed with the command
'echo cmin cmax
'). If the
requested color index is not available on the selected device,
a color index 1 will be substituted. The first 16 colors
usually have predefined values. Additional values are device
dependent. Each color associated with the color index
N
is listed in
the following table:
n Color n Color -------------------------------------------------------------- 0 Black (background) 8 Orange (Red + Yellow) 1 White (foreground) 9 Green + Yellow 2 Red 10 Green + Cyan 3 Green 11 Blue + Cyan 4 Blue 12 Blue + Magenta 5 Cyan (Blue + Green) 13 Red + Magenta 6 Magenta (Red + Blue) 14 Dark Gray 7 Yellow (Red + Green) 15 Light Gray 16-255 Undefined
CONNECT
draws line segments connecting the
coordinates read by XCOLUMN
and YCOLUMN
. The lines are
drawn using the current line style (set by the command
LSTYLE
), in the current color
(set by the command COLOR
), and
the current thickness (set by the command
LWIDTH
).
IMAGE
.
CONTOUR
makes a contour plot of an array read with
the IMAGE
command at the
contour levels set using either the
LEVELS
or
AUTOLEVS
commands. The contour
levels MUST be set before a call to CONTOUR
. The
contour level array will be modified according to the current
value of the user variable SLEVEL and the string variable
LEVTYPE (also see the command SLEVEL
)
before calling any of the contour methods below.
Currently, there are four contour routines available. The
optional parameter N
allows the user to select
which of four contour drawing methods will be used to generate
the plot. If N
is the character `s', then the
command will produce a fast contour plot (this is the default
if N
is not present); if N
is `t',
then a smoother contour is produced; if N
is `b',
then the same contour plot as with `s' is produced but with
blanking; and `l' produces the same contour plot as with `t',
but with contour level labeling.
For N
set to `b', an optional argument
BLANK
may be given to specify the blanking value
such that array elements equal in value to BLANK
are ignored (blanked). For N
set to `l', the
optional argument BLANK
defines the spacing along
the contour between labels (in grid cells) and the optional
parameter MIN
specifies the minimum number of
cells that must be crossed before drawing the first contour
label. The default value for BLANK
is 0.0 when
N
= `b' and 16 for N
= `l';
MIN
defaults to 8. The optional parameters are
ignored by the contour options N
= `s' and `t'.
By default, each contour line is drawn with the current line
attributes (color index, line style, and line width). However,
for options `t' and `l', the default is to draw negative contours
values with dashed and positive contours values with solid lines.
If, however, the parameter N
is set to `-t'
(option `t' prepended with a minus sign), then negative contours
values will be drawn with the same line style as positive
contours values.
CURSOR
enables the graphics cursor and returns the
x-y position of the cursor along with the key pressed.
CURSOR
may also display the image value of the
selected position if an array is currently loaded (see the
IMAGE
command) and the cursor
position lies within the scope of the image region (see the
command TRANSFER
). The two
optional arguments may be used to determine the starting
position of the cursor. If both parameters are given, they are
used as the World (user) coordinates for the starting
position. If only one parameter is present, it is used as the
X starting position and the Y position is set as the current
cursor position. Finally, if no arguments are present, the
current cursor position is used as a starting position.
If CURSOR
is called inside a macro (see the command
DEFINE
), with the command
PLAYBACK
, or is executed inside
a file via the command INPUT
, then
only one keystroke is allowed and no saving of commands will be
done. If, on the other hand, CURSOR
is called
interactively, then CURSOR
may perform several
functions, depending on the character typed. Internal calls to
CURSOR
will occur repetitively until the letter `X'
is typed. On some devices, the left most mouse button will be
associated with the keystroke `A'; the middle with `D'; and the
right with `X'.
Other keystroke functions are:
A : Display the cursor position and image intensity. D : Draw to the current cursor position. M : Move to the present cursor position. P : Draw a point of the current symbol type. S : Toggles ability to save following keys as commands. X : Exit the cursor routine. ? : Present this list of key commands.
DATA
opens an external file for reading data. The
file is assumed to have data in columns separated by spaces,
tabs or commas. Any column can be read as x or y coordinates
with the XCOLUMN
and
YCOLUMN
commands.
DEFINE
creates an entry for the macro xxx
,
and subsequent commands (until the END
command) are considered the body of the macro. The prompt changes
to DEFINE
> to indicate the mode. A macro is just
a collection of commands (or other macros) that can be executed
with one call statement. A macro is invoked by using its name as
a command. The contents of the macro may be listed by using the
macro name as an argument to the command
LIST
. Macros may be saved using the
command WRITE
and may be played
back using the command PLAYBACK
.
Macros may be passed arguments or variables whenever they are
executed. The ten tokens used inside the macro to identify the
macro arguments are $1, $2, ..., $9, and $0. These tokens may be
used in the body of the macro, and when the macro is invoked its
arguments will be substituted for these tokens. These tokens MAY
NOT be redefined inside the macro (for example, using the command
SET
). If an argument is not present when the macro
is invoked, the token is replaced with a blank space.
N1 - N2
from a macro buffer.
DELETE
removes commands from the macro listing
(numbered according to what is shown with the command
LIST
). If no arguments are present,
then the last command in the command buffer (see
BUFFER
) is deleted. If
N2
is not present, then only the command numbered
N1
in the command buffer
(BUFFER
) is removed. If both
N1
and N2
are present, then all commands
from N1
to N2
(inclusive) are deleted
from the command buffer (BUFFER
).
If the optional macro name is given, then lines N1
to
N2
(inclusive) are removed from MACRO
.
For example, to remove line 4 from a macro named "dojob
",
use the command delete 4 4 dojob
.
Note that the command buffer macro name is "BUFFER
".
DEVICE
defines the "device specification" for the
plot device. The specification is system dependent, but usually
has the form "device/type" or "file/type". If the argument is a
question mark ("?"), the user will be prompted to supply a device
name after a list of the currently available devices is
presented. When a new device is selected, the
PANEL
command is reset and the
COLOR
,
EXPAND
,
FILL
,
FONT
,
LSTYLE
, and
LWIDTH
commands are called to reset
each to a value of 1. The color palette (see the command
PALETTE
) is also reset to
the default palette and the coordinate transfer function
(TRANSFER
) is reset to linear.
Finally, the inquire state is turned off (see the command
ASK
).
DOT
draws a point at the current location (set by
MOVE
,
DRAW
, etc.)
(or at the position (X,Y) if provided) in the style determined by
the latest call to SYMBOL
or
PCOLUMN
. The symbol's size is
governed by the last call to the command
EXPAND
.
(X,Y)
from the current coordinate position.
DRAW
draws a line to the World (user) coordinate (X,Y)
from the current location (set by a previous call to
MOVE
,
DRAW
, etc.).
DRAW
then makes (X,Y) the current position.
EXPRESSION
on the screen.
ECHO
acts just like the command
SET
except that rather than assigning
the result of the EXPRESSION
to anything it displays
the result on the screen. See the command
SET
for an explanation of
EXPRESSION
. There may be more than one
EXPRESSION
present, but each one should be delimited
by enclosing parenthesis. Literal strings may also be displayed
by enclosing the text in double quotes. String variables may be
displayed by listing their names. For example, to display the
current cursor position, use the command:
echo "cx = " cx "cy = " cy
.
N
of the data file.
ECOLUMN
reads column N from the data file as the
magnitudes of the error bar displacements from the corresponding (x,y)
coordinates. Note that the command
LOGARITHM
does not adjust the error values to logarithmic scale.
ECOLUMN
values are also used by the command
LOOKUP
.
END
finishes the macro definition
and returns to EXECUTE mode. In INSERT mode, END
terminates inserting and returns to EXECUTE mode. In EXECUTE
mode, END
exits from the program altogether.
The commands EXIT
and QUIT
may be
used as a substitute for the command END
.
ENVIRONMENT
can clear the current page, set up the
World (user) limits and draw a standard box. The first four
optional arguments establish the World (user) limits of the plot
region. If they are not present, then the data read from the most
recent call to the commands XCOLUMN
and YCOLUMN
is used to autoscale
the limits. If the limits are present, then two other optional
parameters may be selected. The first of these parameters,
N
, will set the scales of the X and Y axes to be equal,
if it is equal to 1; otherwise the two axes will be scaled
independently. The final optional parameter K
will
determine what type of box to draw and may have the following values:
-2 : draw no box, axes or labels; -1 : draw box only; 0 : draw box and label it with coordinates; 1 : same as K=0, but also draw the coordinate axes (X=0, Y=0); 2 : same as K=1, but also draw grid lines at the major : increments of the coordinates; 10 : draw box and label X-axis logarithmically; 20 : draw box and label Y-axis logarithmically; 30 : draw box and label both axes logarithmically.Both
N
and K
default to 0 if not provided.
ERASE
erases the graphics screen. If the current
device is a hardcopy device, ERASE
will cause the
plot to advance to the next page. If ASK
is set ON and the current device is not a hardcopy device, then the
user will be prompted before advancing to the next page.
90(K-1)
.
ERRORBAR
is analogous to
POINTS
; it draws error bars at
each of the (x,y) points (read by the most recent call to the
commands XCOLUMN
and
YCOLUMN
) at a length specified
by the points read by the command
ECOLUMN
. The argument K
should be 1 to put the bar along the +x direction; 2 for +y;
3 for -x; and 4 for -y. If K
is 5, then error bars
are drawn in both the +x and -x directions.
Likewise, if K
is 6, then error bars
are drawn in both the +y and -y directions.
Use EXPAND
to govern the size (extent) of the caps.
Setting the expansion to zero means no caps are drawn.
ETXT
erases the text from the view surface (if the
device is capable of doing this). This should erase text without
affecting the currently displayed graphics. Nothing is done on
devices without this capability.
E
.
EXPAND
sets the expansion for all characters and points.
It is initially set to 1.0 and is reset to 1.0 whenever
a new device is chosen.
N
.
FILL
sets the fill type. The fill type is
identified by N
, where N
refers to
one of the following:
1 : solid 2 : hollow 3 : hatched 4 : cross-hatchedThe fill type is initially set to 1 (solid) and is reset to 1 whenever a new device is chosen. If the fill type is hatched or cross-hatched, optional arguments can be supplied that affect the way the hatching will be done. Up to three additional arguments may be provided.
ANGLE
specifies the
angle the hatch lines make with the horizontal, in degrees,
increasing counterclockwise. SEPN
is the spacing
of the hatch lines. The unit spacing is 1 percent of the smaller
of the height or width of the view surface. PHASE
is an offset value and is a real number between 0 and 1. The
hatch lines are displaced by this fraction of SEPN
from a fixed reference. Adjacent regions hatched with the
same PHASE
have contiguous hatch lines. To hatch
a region with alternating lines of two colors, fill the area
twice: once with PHASE=0.0
in one color and
PHASE=0.5
in the other color. The default value
for ANGLE
is 45.0 degrees, SEPN
is 1.0,
and PHASE
is 0.0.
FIT
will solve either for a linear fit of the form:
"y = a + bx
" by either the
(a) Least Squares method ("lsqfit"); or
(b) Criterion of Least Absolute Deviations ("medfit");
or will solve for a Gaussian fit of the form
"y = a * exp(-((x - b)/c)**2)
".
The data that comprise the "x" and the "y" in these equations are
from the most recent call to the
XCOLUMN
and
YCOLUMN
commands. For a
linear fit, there is only one required argument, STYLE
,
which specifies which type of linear fit to perform. The only
possible values of STYLE
are "lsqfit" and "medfit".
The fit coefficients and the corresponding errors in the fit are
displayed at the command line. When using the "lsqfit" technique,
estimates of the measurement errors may be included by reading the
error values with the ECOLUMN
command. The optional parameters provide a way to assign the fits
and the error estimates to User Variables (see the
SET
command). The "lsqfit" returns
(in this order) the parameters "a" and "b" along with a chi-square
for the fit and sigma errors on the estimates of "a" and "b". If data
in the most recent call to ECOLUMN
was used to specify errors on the observation points, a "goodness
of fit" is also returned. If, however, no errors are specified,
the correlation coefficient is returned in place of the "goodness
of fit". The "medfit" returns (in this order) the fit parameters
"a" and "b" along with "absdev" (the mean absolute deviation in
the "y" direction). As an example, the command
fit lsqfit \0 \1
will only assign the fit parameters "a" and "b" to the User
Variables \0 and \1 and the remaining items will be ignored (but
still displayed at the command line).
For Gaussian fits, there are two required arguments:
STYLE
and N
, where STYLE
must be "gaussian" and N
specifies the number of
Gaussians to fit. The number of optional parameters that
may follow is governed by the value of N
. Optional
arguments should follow in groups of 3's in the following order:
amplitude, mean, and full width at half maximum. Assignment of the
output values follows as for linear fits. If the 3*N+1
parameter is present, it is set to the chi-square of the fit.
Setting any parameter to it's negative holds that value fixed
during the fit. For example:
set \1 1.0 # Guess at amplitude. set \2 5.0 # First guess at X-position of peak. set \3 -2.3 # Input FHWM and hold this fixed during fit. fit gaussian 1 \1 \2 \3 \4 # Fit 1 Gaussian and store fit # and chi-square in \1, \2, \3, and \4, respectively.
N
.
FONT
sets the font type to one of the available fonts.
The argument N
selects the font used for subsequent
text plotting. The font type is initially set to 1 ("normal")
and is reset to 1 whenever a new device is chosen. Currently,
four fonts are available and can be set by setting the parameter
N
to one of the following values:
1 : (default) a simple single-stoke font ("normal" font) 2 : roman font 3 : italic font 4 : script fontThe font may also be temporarily changed within a text string by using the escape sequences: \fn, \fr, \fi, or \fs.
NEW
command.
FREE
will remove the user specified variable(s) from
WIP. In addition, it releases (i.e. frees) the memory associated
with each ITEM
. At least one ITEM
is
required and each ITEM
listed specifies the name of
the string variable, user variable, or vector (without any index)
to release.
GLOBE
draws a "globe" for use in Aitoff (Hammer)
projections. The "globe" that is drawn is an outline of the
entire sky centered on the position (L, b) = (0, 0). There
are two optional parameters. The first optional parameter
NLONG
represents the number of longitude lines
that are drawn and the optional parameter NLAT
represents the number of latitude lines that are drawn. If
these arguments are omitted, the values of NLONG = 5
and NLAT = 3
will be used for defaults.
Also see the command AITOFF
.
HALFTONE
draws a plot of the array read with the
IMAGE
command over the subimage
region selected with the SUBIMAGE
command according to the coordinate transformation matrix
specified by the TRANSFER
command and the current image transfer function (see the
ITF
command).
If the device permits, colors
can be preassigned to the halftone values with any of the
PALETTE,
LOOKUP,
RGB,
or
HLS
commands
(whenever a new device is selected, the palette is reset).
The first two optional parameters allow the user to specify the
intensity range for the plot.
If the optional parameters MIN
and
MAX
are not present,
then HALFTONE
will use the image minimum and maximum.
The next optional parameter, N
, if present,
indicates that histogram equalization should be performed using
N
bins. If this parameter is present and is set to
zero, then the full number of color table entries will be used
in the binning. If this is not present, no equalization will be done.
The last optional parameter BLANK
is used to
specify a blank value in the image to ignore when doing
histogram equalization. It defaults to -99.
Histogram equalization is only applied to data within the
current subimage region and within the minimum and maximum intensity.
NOTE: Histogram equalization changes the current LUT. The LUT
must be reset before calling the HALFTONE
command again.
HARDCOPY
command will cause the output file to be
closed and the file spooled to the printer. How the file is
printed is determined by the string variable "print" (see the
command SET
). By setting "print"
to the string "ignore", automatic printing can be disabled.
By default, the string variable "print" is set to "lpr"
(use the command 'echo print
'
to display the current value of "print").
HEADER
sets the transfer function and World (User)
limits of the box region for the current image. This function
makes use of the current SUBIMAGE
values to fix the World coordinate range. If the optional
arguments XTYPE
and YTYPE
are
not present, they are set to the current values of the string
variables "XHEADER" and "YHEADER", respectively. If only one
argument is present, both XTYPE
and YTYPE
are set to this value. Currently, there are 7 possible values
for XTYPE
and YTYPE
used to control
the resulting header arrangement:
rd : Right ascension/declination (absolute coordinates). so : Arcsecond offset positions. mo : Arcminute offset positions. po : Pixel offset positions. px : Absolute pixel positions. gl : General linear coordinates. go : General linear offset coordinates.All offset arguments are relative to the value of the user variables CRVALX and CRVALY. The option "rd" includes a 15*cos(dec) factor applied to the right ascension term. Incorrect options are treated as if "px" was selected. The options "gl" and "go" apply no additional scaling factor to the header variables. If the image headers CRVAL, CRPIX, and CDELT are not present for that axis or are all set to 0, the coordinate transfer function will be set to its default value (see the command
TRANSFER
) and the world limits
to the image range in pixels.
NOTE: Currently, the conversion is
fixed to be from radians to arcseconds (or seconds of time) for
MIRIAD images; degrees to arcseconds for FITS images; and no
conversion for BASIC images.
xxx
.
HELP
prints a one line
description of every command. With the name of a command as
an argument, HELP
prints more information on that
particular command. The command 'help ?
' will
provide a list of all available command and macro names.
IMAGE
.
HI2D
plots a series of cross-sections of the current
image (see IMAGE
). Each
cross-section is plotted as a hidden line histogram. The one
required argument, BIAS
, specifies a bias value
to be applied to each successive cross-section (in order to
raise it above the previous one). BIAS
is in the
same units as the image data. If the optional parameter
SLANT
is present, it is an integer value offset to
be applied to each successive cross-section (in the X-direction).
If SLANT
is greater than 0, then the plot slants to
the right; less than 0, it slants to the left. The default value
for SLANT
is 0 (no slant). If the optional argument
CENTER
is present and equal to 1 (the default), then
the individual X values denote the center location of the bin;
otherwise, the X values denote the lower edge (in X) of the bin.
XCOLUMN
.
HISTOGRAM
connects the coordinates read by
XCOLUMN
as a histogram. If the
optional arguments MIN
and MAX
are present,
they are used to specify the minimum and maximum of the histogram.
Furthermore, an optional parameter N
can specify the
number of bins to divide up the histogram. At present, N
may not exceed 200. By default, MIN
and MAX
are set to the minimum and maximum of the data read by
XCOLUMN
and N
is set
to 5. The user should set the limits (see the command
LIMITS
) of the box before calling
the HISTOGRAM
command.
HLS
sets the color representation of the color index
K
to the provided values of Hue-Lightness-Saturation.
HUE
is represented by an angle in degrees, with red
at 120, green at 240, and blue at 0 (or 360). LIGHT
ranges from 0 to 1, with black at lightness of 0 and white at
lightness 1. SAT
ranges from 0 (gray) to 1 (pure color).
HUE
is irrelevant when SAT
is 0. If
K
is greater than the maximum color index of the device,
then this call will be ignored (use the command
'echo cmin cmax
'
to display the current color range).
ID
puts the name of the user and the current date
and time at the bottom of the plot region. If the environment
variable PGPLOT_IDENT is defined and the current device is a hardcopy
device (the command 'echo hardcopy
'
will return 1 if this is true), then this call is automatically
done when the device is finally closed (see the command
HARDCOPY
).
xxx
if EXPRESSION
is true.
IF
allows conditional execution of macros and commands.
The macro or command XXX
is executed only if the
conditional test of the expression is TRUE (non-zero). The
EXPRESSION
may be a simple (X OP Y)
expression where the parameters X
and Y
may be any numerical value or user variable (see the
SET
command) and OP
is
the condition to test and is defined TRUE for the following:
op : Test ------------------------------------------------------ == : X equal to Y; != : X not equal to Y; < : X less than Y; > : X greater than Y; <= : X less than or equal to Y; >= : X greater than or equal to Y; && : X and Y are non-zero; || : X or Y are non-zero; ^ : X or Y, but not both, are non-zero.If the test consists of more than just a simple
(X op Y)
test, then the entire expression MUST be enclosed by parenthesis.
As an example,
if ((x1 < x2) && (y1 < y2)) limits x2 x1 y1 y2will only execute the
LIMITS
command if X1 is less than X2 AND Y1 is less than Y2. Note also
that this example illustrates that the usual parameters/arguments
may follow the macro or command name. See the command
SET
for a more detailed description
of EXPRESSION
.
IMAGE
loads an array into WIP for use with plotting
commands like CONTOUR
and
HALFTONE
.
Currently, WIP tests the file to determine its file type (i.e.
FITS, MIRIAD, BASIC, etc.) and then loads it into available memory.
The optional parameter PLANE
selects which plane of
a data cube to load. The default value for PLANE
is 1.
IMAGE
trys to read available header information which
will be useful for setting the coordinate transformation matrix
(see the command TRANSFER
)
after the image is read into memory (with the command
HEADER
). The current subimage
values (see the command SUBIMAGE
)
are reset to the full array size of the new image and the user
variables CRVALX/Y, CRPIXX/Y, and CDELTX/Y may be set to the newly
read header values (if they can be read). The subimage values,
6 user variables, and the transformation matrix are used to
determine where the plot will appear. In order to correctly
set the transformation matrix with the command
HEADER
, the values of CRVAL,
CRPIX, CDELT, and CTYPE must be present for the first two axes.
The next optional parameter BADPIXEL
may be
specified (after PLANE
) as the value for blanked or
masked pixels.
By default, these will be set to -99.
This value may be helpful for use
with the CONTOUR
command.
The final optional parameter ORDER
permits the
image to be smoothed on reading. The parameter ORDER
may take on a value of 0, 1, or 2 and represents the order of
the fit. A value of 0 (or if it is not provided) means to apply
no smoothing (the default).
NOTE: Current image types include: basic, Miriad, and FITS. BASIC image name syntax is: filename`columnsXrows[`offset] where rows and columns are in pixels and the optional offset is in bytes from the beginning of the file. The character 'X' determines the size of each element and is 'b' for unsigned bytes; 's', signed 2 byte integers; 'l', signed 4 byte integers; 'r', 4 byte floating point; 'd', 8 byte double precision floating point.
V
to the result of EXPRESSION
.
INITIALIZE
evaluates the EXPRESSION
(see the command SET
) and sets
every element of the array (vector) user variable V
to the result. If N
is less than zero, the current
size of the vector variable V
is used. If
N
is zero, no expression is needed and the vector
is set to size zero (empty). If N
is greater than
zero and an expression is present, the first N
elements of the vector are set to the result of the expression.
If the expression is missing, the size of the vector will be reset.
INPUT
reads plot commands from a file and treats
them exactly as if they were typed: commands are executed or
can be inserted or macros may be defined. Unlike interactive
mode, individual commands are NOT saved in the command buffer
(see BUFFER
).
NOTE: Macros are not redefined so care should be taken to
insure that the proper macro is being executed.
N
in a macro.
INSERT
enters insert mode (indicated by the
INSERT
> prompt) and
subsequent commands are inserted, without execution, into the
named macro until an END
command
is encountered. Commands are numbered as shown by the command
LIST
. Without any arguments,
INSERT
inserts commands at the end of the command
buffer. If N
is present but no macro name is given,
then commands are inserted before line N
in the
command macro (BUFFER
). With
the MACRO
argument, INSERT
starts
inserting just before line number N
in macro
MACRO
.
NOTE: The command buffer macro name is
BUFFER
.
N
.
ITF
sets an internal parameter such that all subsequent
image drawing functions (IMAGE
and
WEDGE
) act on the transformed image.
Acceptable values for N
and their meanings follow:
0 : linear 1 : logarithmic 2 : square-rootThe initial value of the image transfer function is 0 and is reset to 0 whenever a new device is selected.
STR
at the current cursor position.
LABEL
writes the string STR
(which
starts at the current cursor position and continues to the
last non-space character in the label string). The string's
size and the angle it is displayed are controlled by the most
recent call to the commands EXPAND
and ANGLE
.
LCUR
allows a polyline to be drawn using the cursor.
Vertices may be added or removed by locating the cursor at a
desired point and selecting the key 'A' (Add) or 'D' (Delete) or
may terminate the command with the key 'X' (eXit). The vertices
are stored in the XCOLUMN
and
YCOLUMN
arrays and may be
redrawn by subsequent calls to this command. If the optional
parameter NPTS
is given, it is used as the number
of points in the previous call to this command. To initialize
the command, set NPTS
to 0. By default,
NPTS
is set to the current value of the number of
points in the most recent call to the
XCOLUMN
and
YCOLUMN
commands.
LDEV
lists (to standard output) the names of
the installed devices known to the current version of WIP.
LEVELS
establishes the contour values for use in a
contour plot. Currently, the maximum number of levels available
is 40. This array of levels may be augmented if a call to the
command SLEVEL
is done prior to
a call to the CONTOUR
command.
LIMITS
sets the World (user) coordinate system of
the plot window. All coordinates from
XCOLUMN
,
YCOLUMN
,
MOVE
,
DRAW
, etc.,
are relative to these limits. If no
arguments are present, then the data from the most recent
XCOLUMN
and
YCOLUMN
commands are used to set the limits.
X, Y, E,
and PCOLUMN
file read to lines L1-L2
.
LINES
sets the range of lines read from the
data file by the commands
XCOLUMN
,
YCOLUMN
,
ECOLUMN
, and
PCOLUMN
.
This is useful to avoid non-data lines. The argument L1
is also used to specify the line that the command
STRING
will use to extract a string variable.
xxx
.
LIST
lists the commands of the named macro. If there
are no arguments, the macro BUFFER
(the command buffer) is listed. If one argument is given, then
the commands from L1
to the end of the macro
BUFFER
is shown. With two
arguments, lines L1
to L2
are shown.
If the macro name xxx
is also entered as the third
argument, then that macro is listed over the inclusive line range
of L1
to L2
. The numbers assigned to
commands by LIST
should be the ranges used by calls
to the commands DELETE
and
INSERT
.
NOTE: The command buffer macro name is
BUFFER
.
LOGARITHM
takes the base 10 logarithm of either
vectors or images. The argument NAME
specifies
either a vector name (e.g. "x") or an image name (currently,
only the name "image" is acceptable). If the value of the
vector or image is greater than zero, the logarithm is taken
and this result is multiplied by the value of SCALE
.
If SCALE
is not present, a value of 1.0 is used.
SCALE
may be any valid numeric expression (see
the command SET
).
LOGARITHM
uses -50 for the logarithm
of 0 or negative numbers and does not scale these values.
LOOKUP
uses the values read by the most recent call to
the commands XCOLUMN
,
YCOLUMN
,
ECOLUMN
, and
PCOLUMN
to load values into the color lookup table. This is a more
compact (and correct) method for loading an entire table than
the single color index commands RGB
and
HLS
. All values in the
XCOLUMN
,
YCOLUMN
,
ECOLUMN
, and
PCOLUMN
data must be between 0 and 1.
The XCOLUMN
data correspond to the
red values, YCOLUMN
to green, and
ECOLUMN
to blue. The
PCOLUMN
data identifies the
ramp intensity level for the corresponding RGB values. Colors
on the ramp are linearly interpolated from neighboring levels.
If the optional parameter N
is present and is negative,
then the resulting lookup table will be flipped. By default (if the
optional argument N
is missing or is positive), the
RGB table is loaded directly (not flipped).
xxx COUNT
times.
LOOP
allows for multiple execution of a macro.
The macro xxx
is executed COUNT
times.
The optional parameters P1, P2, ...
are any arguments needed to be passed to the macro (see the
DEFINE
command). The arguments
P1, P2, ...
passed to the macro are NOT altered
during each execution of the loop.
N
.
N
, where N
refers to
lines of the following form:
1 : solid 2 : dashed 3 : dot - dash - dot - dash 4 : dotted 5 : dash - dot - dot - dotIf
N
is some number other than one of the line style
values above, it is set to 1. Also, the line style is set to 1
initially and is reset to 1 whenever a new device is selected.
N
.
LWIDTH
sets an internal parameter such that all
subsequent lines, text, and graph markers are drawn with lines
of width N
. This number may range from the default
of 1 to a maximum of 201. Any other value is set to 1. The
actual thickness drawn is device dependent, but is approximately
equal to 0.005 inches times the value of N
. The
initial value of the line width is 1 and is reset to 1 whenever
a new device is selected.
MACRO
will read the commands from the file
filename
and define macros exactly as if they were
typed interactively. This allows macros saved from previous WIP
sessions (using the WRITE
command)
to be read into WIP and defined. Only macro definitions are allowed.
MINMAX
list the maximum and minimum values of the
image that has been read by the IMAGE
command. This command may be useful for setting contour levels,
or adjusting a halftone plot. The minimum and maximum of the
current array are stored in the user variables IMMIN and IMMAX.
(The minimum and maximum may also be displayed using the command
'echo immin immax
'.) If the
optional parameter N
is present and set to any value
greater than 0, then the minimum and maximum are explicitly
recalculated. This may be useful if the minimum and maximum has
been found and then the logarithm of the image is computed.
(x,y).
MOVE
sets the current World (user) location to (x,y)
without drawing any lines or text. This simply provides a way to
specify the current position of the cursor.
STR
relative to SIDE
.
MTEXT
writes text at the position specified relative
to a viewport side. The parameter SIDE
specifies
which side of the viewport to place the string. SIDE
must be either `B', `L', `T', or `R' to specify the
Bottom, Left, Top, or Right side of the viewport.
Additionally, if SIDE
is `LV' or `RV', then the string
will be written perpendicular to the frame rather than parallel
to it. The parameter DISP
specifies the displacement
from the frame edge (in character height units). If DISP
is negative, then the string is written inside the viewport. The
parameter COORD
is the location of the string as a
fractional length of the specified edge of the viewport.
JUST
specifies how to justify the string relative to
COORD
with JUST = 0
meaning left justified;
0.5, centered; and 1.0, right justified. The text STR
is the (multiword) string to display.
As an example, "good" values used to place a string along the X
axis, the Y axis, and the top of the plot box are:
mtext B 3.2 0.5 0.5 Xaxis label string mtext L 2.2 0.5 0.5 Yaxis label string mtext T 2.0 0.5 0.5 Top label stringThe first two examples above correspond to the syntax used by the commands
XLABEL
and
YLABEL
.
NCURSE
allows a set of points to be drawn using the
cursor. Points may be added or removed by locating the cursor
at a desired point and selecting the key `A' (Add) or `D' (Delete)
or may terminate the command with the key `X' (eXit). The points
are stored in the XCOLUMN
and
YCOLUMN
arrays and may be redrawn
by subsequent calls to this command. If the optional parameter
N
is given, it is used as the number of points in the
previous call to this command. To initialize the command, set
N
to 0. By default, N
is set to the
current number of points in the most recent call to the
XCOLUMN
and
YCOLUMN
commands. On return,
the cursor points are returned in increasing order of X (unlike
the command OLIN
).
NEW
creates a new variable. If more than one
ITEM
is present on the command line, then each will
represent the name of a new variable to be created. Each
ITEM
name must be unique and may not correspond
to a pre-defined variable or any other defined variable. Once
these variables are created, they may be used just like the
pre-defined variables: the command SET
will permit the value to be set/changed and the command
ECHO
may be used to display the
current value. Use the command FREE
to release the memory associated with each ITEM
. If
the ITEM
is enclosed in double quotes
(e.g. "ITEM"
), a string variable is created. If the
ITEM
has an optional size argument included, a vector
is created. Note that when defining a vector variable, the
maximum number of elements should be enclosed in brackets and
appear affixed to the end of the ITEM
name
(e.g. array[10]
). If ITEM
is not a
vector or string variable, then ITEM
represents a
simple user variable.
OLIN
allows a set of points to be drawn using the
cursor. Points may be added or removed by locating the cursor
at a desired point and selecting the key `A' (Add) or `D' (Delete)
or may terminate the command with the key `X' (eXit). The points
are stored in the XCOLUMN
and
YCOLUMN
arrays and may be
redrawn by subsequent calls to this command. If the optional
parameter N
is given, it is used as the number of
points in the previous call to this command. To initialize the
command, set N
to 0. By default, N
is set to the current number of points in the most recent call
to the XCOLUMN
and YCOLUMN
commands. On
return, the cursor points are returned in the order they were
added (unlike the command NCURSE
).
K
.
PALETTE
sets the current image color array to a
known look up table (LUT). The argument K
specifies
which palette is loaded and legal values are displayed below.
If K
is not associated with a legal palette value,
a warning is issued and the palette remains unchanged. The
value of K
can be negative in which case, the
absolute value of K
is used and the sense of the LUT
is reversed.
NOTE: Not all devices have color LUTs so this
command may have no effect on them. Whenever a device is
changed, the palette resets to the default.
K Palette set to... ------------------------------- 0 : Background to Foreground (default). 1 : Gray scale. 2 : A rainbow. 3 : Heat scale. 4 : IRAF scale. 5 : AIPS scale. 6 : PGPLOT scale. 7 : Saoimage A scale. 8 : Saoimage BB scale. 9 : Saoimage HE scale. 10 : Saoimage I8 scale. 11 : DS scale. 12 : Cyclic scale.The optional parameter
LEV
may be provided to
specify the number of levels into which to squeeze the palette.
If LEV
is not present (or is negative), then the
number of levels is not changed. If LEV
is present
and set to 0, the number is reset to the maximum range for the
current device. If LEV
is present and positive,
the number of color levels is set to this value.
PANEL
makes the current plot location panel
K
, where there are NX
panels across
and NY
panels vertically. The direction the panels
run depends on the sign of K
. If K
is
positive, then the panels are counted across from the lower left
and upwards (K = 1
specifies the first panel). If
K
is negative, then the panels are counted across
from the upper left and downwards. PANEL
retains a
copy of the VIEWPORT
coordinate
system that is present when PANEL
is first called.
To reset to those values, use the command panel 1 1 1
;
this will reset the plot location to the previous
VIEWPORT
area (this is also
done automatically every time the current device is changed).
Be sure to also call panel 1 1 1
prior to changing
the plot location with any other
VIEWPORT
command! The
separation between adjacent panels is controlled by the value of
EXPAND
as well as by the user
variables XSUBMAR and YSUBMAR (see the
SUBMARGIN
command for more
details on these variables). If either NX
or
NY
is negative, then the gap between the subpanels in
that direction is removed. The absolute value of NX
and NY
is always used to determine the number of subpanels.
PAPER
changes the size of the view surface to a
specified width (inches) and aspect ratio (height/width). This
command should only be used immediately after a call to the
DEVICE
command.
N
of the current data file.
PCOLUMN
reads column N
from the data
file as the values of a symbol array. The data read by
PCOLUMN
is used by the commands
POINTS
and
BIN
(as well as others) to
represent additional data information.
PHARD
allows the commands in macro xxx
(or the commands in the command buffer) to be spooled to an
alternative device. The one required argument DEVNAME
is the name of the alternative device (see the command
DEVICE
). If no other
arguments are present, then the commands in the command buffer
are played back (see the command
PLAYBACK
);
otherwise, the named macro (xxx
) is called (with
any further arguments on the command line used as input arguments
to the named macro). If the named device is a hardcopy device, the
HARDCOPY
command is automatically
executed at the end of the playback. Finally, the current device
is set to the device that was present when this command was called.
xxx
or commands in the command buffer.
PLAYBACK
executes the macro xxx
without
storing the commands in the command buffer. With an argument of
BUFFER
(or no argument),
PLAYBACK
replays all commands in the command buffer.
The optional arguments (args
) are passed to the macro.
PLOTFIT
uses the parameters from the most recent
call to FIT
to display a smooth
curve. The optional parameters X1
and X2
can be used to limit the X-range to be plotted. They default to
the full range of the window. The other optional parameter is
the STEP
size of the plot. It provides a means to
make the plot smoother or more coarse. The STEP
defaults to the mean of the difference between data in the
most recent call to the XCOLUMN
command.
(x,y).
POINTS
draws points of the current style (see the command
SYMBOL
) and size (see the command
EXPAND
) at the coordinates read by the
commands XCOLUMN
and
YCOLUMN
.
The command PCOLUMN
may be used to
specify a SYMBOL
corresponding to
each (x,y) point plotted. The format of the data read by the
PCOLUMN
command is the same as the
argument for the SYMBOL
command,
except that an optional fractional part may be added to each symbol.
If the entry has a fractional part, it is treated as an expansion
factor (fractional parts less than 0.01 gives the default expansion).
For example, an entry of 93.5 in a point column is the same as
symbol 93
,
expand 0.5
.
If the optional argument K
is present, the command
ECOLUMN
may be used to specify a
color corresponding to each (x,y) point plotted. Each item of
data read by ECOLUMN
corresponds
to a color index.
POLY
will draw a closed polygon based on the data
from the most recent call to the
XCOLUMN
and
YCOLUMN
commands.
POLY
will draw the polygon according to the
graphical characteristics such as
FILL
and
COLOR
.
Also see the command RECT
.
STR
at the current location.
PUTLABEL
writes a string at the current cursor
location with rotation and size specified by the
ANGLE
and
EXPAND
commands
(exactly like LABEL
).
The label is justified with respect to the current
location according to the argument JUST
: 0 for left
justified; 0.5 for centered justified; and 1 for right justified.
If JUST
is negative, the cursor is activated and the
position of the cursor when any key is struck is used as the
current location and the absolute value of JUST
is
used to determine the string justification.
NOTE: Because -0 will be interpreted as +0 by the
string parser, use something like -0.001 for left justification
when using the cursor to locate the position.
QUARTER
is a short cut to selecting a quadrant of
the current image. Rather than determining pixel ranges and
then calling SUBIMAGE
,
QUARTER
allows the user to quickly set the
corresponding pixel range. If the optional parameter N
is present and set to 1, QUARTER
selects the lower
left quadrant; set to 2, the lower right; 3, the upper left;
and 4, the upper right. QUARTER
, with any other
value for N
or if no argument is present, selects
the inner quarter of the current image.
RANGE
permits a way to limit the data used by the
FIT
command. By default, the
FIT
command uses all the data read by the most
recent call to the XCOLUMN
and YCOLUMN
commands.
Specifying the limits in one direction restricts which data
will be used by the FIT
command.
If the limits in either direction are equal, then the fit is
unbounded in that direction.
READ
reads plot commands from a file and places
them in the command buffer. Commands are not executed and macros
are ignored. To execute the commands, see the command
PLAYBACK
; to define macros,
see the commands DEFINE
and
MACRO
.
RECT
is like the command
POLY
but draws a
rectangle bordered by the World (user) coordinate vertices
(XMIN, YMIN)
and (XMAX, YMAX)
.
RECT
uses the current
fill, line style, and
line color characteristics.
RESET
executes a full reset of graphics state of the
current plotting device. The coordinate transformation matrix is
reset to the default value (see the command
TRANSFER
); the current
angle is set to 0 (see the command
ANGLE
); the
tick mark interval and the number of minor tick marks is reset to 0
(see the command TICKSIZE
); the
image transfer function is reset to linear (see the command
ITF
); the text background color index
is set to transparent (see the command
BGCI
); and the
color, expand, fill, font, line style, and line width are all set
to 1 (see the commands COLOR
,
EXPAND
,
FILL
,
FONT
,
LSTYLE
, and
LWIDTH
). Finally, the Palette
(see the command PALETTE
) is
reset to the default palette and the number of halftone levels is
reset to the maximum range possible for the current device.
RGB
sets the color representation of color index
K
to the Red-Green-Blue values. The range of values
for the color value inputs are [0 - 1], inclusive. If only the
first two arguments are present, the RED
value is
also used to set the GREEN
and BLUE
values
(useful when creating just a gray scale).
If K
is larger than the maximum color index of the
device (use the command 'echo cmin cmax
'
to display the color index range), then this call is ignored.
SCALE
allows the viewport (device) size scale to be
set based on the range of the World (user) coordinate range. The
viewport is changed to the World range divided by the input scale
factor (i.e. X
and Y
are in World units h
per desired unit). The optional parameter K
specifies
the desired conversion the two scale parameters will be performing
and scales as shown below:
K X and Y are dimensioned as... --------------------------------------------------------------- 0 : World (user) units per normalized device coordinate. 1 : World units per inch. 2 : World units per mm. 3 : World units per pixel.If
K
is not present on the command line, then it is
set to 2. The value of Y
may be omitted, in which
case it is set to the same value as X
. However,
if a value other than K = 2
is desired, both
X
and Y
MUST be present. If K
is not one of the above accepted values, no conversion is performed.
Also, if either X
or Y
are less than
or equal to 0, no conversion is performed. As an example,
if the limits of the current plot are 0 - 10 in the x-direction and
0 - 12 in the y-direction, scale 2 3 1
will produce
a viewport region 5x4 inches in size. Hence, it is possible to
produce a viewport larger than the view size.
V
to result of EXPRESSION
.
SET
sets the symbolic variable V
to the
result from evaluating the statement EXPRESSION
.
V
is a string variable if it is enclosed in
double quotes. If V
is a string variable, then
EXPRESSION
represents the value to assign to the
variable (Example: 'set "print" lpr -Pps
'). For
user and vector variables, EXPRESSION
may be a
simple syntax statement that will be evaluated. Precedence in
the expression is ALWAYS left to right with the inner most set
of parenthesis evaluated first. Hence
(5 * 3 + 2) != (2 + 3 * 5)
but ((5 * 3) + 2)
does equal (2 + (3 * 5))
. Currently, a maximum of
20 nested levels of parenthesis is permitted. Also note that a
set of parenthesis is understood to mean "()", "[]", or "{}".
At the most basic level, EXPRESSION
may just be an
item that is either a number, a pre-defined user variable, or a
vector element. More complex EXPRESSION
's may be
generated using the operators and functions listed below. If
an item begins with '-', it is treated as a unary minus sign.
The current defined operations that act on two variables are:
+ add | / divide | max maximum - subtract | % modulo divide | min minimum * multiply | \ integer divide | ** exponentiation == equal to | > greater than | >= greater than or equal != not equal to | < less than | <= less than or equal || logical OR | && logical AND | ^ logical XORNote that
min
and max
are used as
(a min b)
and (a max b)
. Also, note
that logical operations return 1 if true; 0 if false.
Current pre-defined functions (i.e. f(x)) are:
sqrt(x) square root | abs(x) absolute value int(x) integer truncation | nint(x) nearest int ln(x) natural logarithm | log(x) base-10 logarithm exp(x) base-e antilogarithm | log10(x) base-10 logarithm sin(x) sine in radians | sind(x) sine in degrees asin(x) arcsine in radians | asind(x) arcsine in degreesThe four types of sin functions apply just as well for the four functions of cos and tan. Note that either
log(x)
or log10(x)
may be used for the log base 10. Many of the symbolic and user
variables are displayed using the SHOW
command, where symbolic names are displayed in CAPS. All other
variables can be displayed using the
ECHO
command. All of the user
variable and vectors can then be used as arguments to any other
command.
NOTE: The macro arguments ($1, $2, ...) may be redefined using
this command but only if the macro argument is a numeric user variable.
SHOW
lists the values of some the symbolic and user
variables, including the current location and plot region limits
in World (user) and Viewport (device) coordinates, the value of
the expansion and angle variables, the line style and width, etc.
If no arguments are present, then everything below is displayed.
If the optional argument is present, then it represents a string
used to define what will be shown. The options that are currently
available are:
B : Box attributes. C : Coordinate system information. D : Device, Printer, and Data file information. G : Graphical attributes. I : Image characteristics. R : Register variables (\0 - \20).More than one option may be selected (e.g. '
show bci
')
and unknown options are ignored. The command
ECHO
may also be used to display
user variable values.
SLEVEL
is used to change the TYPE
and
VALUE
used to scale the contour level array.
Initially, TYPE
(the user string variable "LEVTYPE")
is set to A
and VALUE
(the user variable
SLEVEL) is set to 1.0 so that no scaling is performed.
TYPE
may only be either A
or P
(all other values are treated as A
) and defines the
type of contour scale factor. If TYPE
is P
,
then scaling is done by percentage; A
for absolute
scaling. VALUE
represents how much the array will
be scaled. For example, slevel P 1
will multiply
each contour level by 1% of the image peak value. Likewise,
slevel A 1E-4
would multiply each contour level
by 0.0001. If the parameter VALUE
is not given,
SLEVEL
will not change. The contour level array
affected is defined with the commands
LEVELS
or
AUTOLEVS
and is altered internally every time the command
CONTOUR
is called.
STRING
allows certain string variables to be
redefined using data in an external file. STRING
reads one line (see the commands DATA
and LINES
) and assigns the string
starting with word W1
and ending with W2
to the string variable NAME
. If W1
is
omitted or set to 0, the entire line is assigned. If W1
is greater than 0, it represents the starting word of the
assignment. If W2
is not present, it is set to the
value of W1
. If W2
is set to 0, it
corresponds to the end of the line; if it less than zero, the
absolute value represents the number of words to read; if it
is greater than zero, it specifies the last word to read.
Currently, the pre-defined string variables are: XBOX and YBOX
(which are the default X and Y arguments for a call to the
command BOX
and are initially
set to "BCNST" and "BCNSTV", respectively); PRINT (which is
the default print command to spool a plot when the command
HARDCOPY
or
PHARD
is used); and
HELPFILE (which is the full name of the help file). Other
pre-defined string names include XHEADER and YHEADER (see
the command HEADER
) and LEVTYPE
(see the command SLEVEL
). New
string variables may be defined using the
NEW
command, released with the
command FREE
, and may also be
assigned to using the SET
command.
SUBIMAGE
allows the user to specify the indices
of a subimage read by the IMAGE
command. When IMAGE
reads in
a new image, the minimum values are set to 1 and the maximum
values are set to the number of pixels in the X and Y directions
(user variables NX and NY). Use this command to select a subportion
of the image by entering the starting and ending pixels of
interest. Using the command HEADER
after the command SUBIMAGE
will
reset the limits of the plot region (World coordinates) to the
entire subimage region selected.
SUBMARGIN
may be used to fix the gap size between
individual frames when using the command
PANEL
. The gap between
individual panels is controlled by the user variables
XSUBMAR and YSUBMAR (which are initially set to 2 in character
height units). This command is a convenience function to
facilitate setting these variables. The arguments XMARG
and YMARG
are used to set each of the two user variables.
If this command is called with only one argument, it is used to
set both XSUBMAR and YSUBMAR.
N
.
SYMBOL
causes points to be drawn as the symbol
N
, where N
refers to the graph marker
or a Hershey symbol number. The symbol number corresponds to
the type of symbol drawn. If the symbol number is -1, it
draws a dot of the smallest possible size. If the symbol number
is between 0 and 31, it corresponds to a set of pre-defined symbols;
between 33 and 127, it corresponds to the ASCII character in the
currently selected font; and larger than 127, corresponds to the
Hershey symbol of the same number.
BOX
command.
TICKSIZE
determines tick intervals for the command
BOX
. The argument NXSUB
refers to the number of intervals between major tick marks on
the X-axis and XTICK
refers to the interval between
large ticks in World (user) coordinates. If XTICK
or NXSUB
are 0, the box routine will supply it's
own intervals according to the World coordinate limits (at
least 3 major tick marks). Likewise for NYSUB
and
YTICK
, except for the Y-axis. Setting
NXSUB
or NYSUB
to 1 will inhibit any
minor tick marks regardless of the arguments to the
BOX
command.
TRANSFER
specifies the coordinate transformation
between indices I and J of the image array and World (user)
coordinates. All two dimensional plot commands (for example,
CONTOUR
or
HALFTONE
) require a
coordinate transformation function to place the image on the
plot surface. The World coordinates (X, Y) of the array point
(I, J) are related by:
X = T1 + (T2 * I) + (T3 * J) Y = T4 + (T5 * I) + (T6 * J)Usually
T3
and T5
are zero unless
the coordinate transformation involves a rotation or sheer.
The default transformation is (0, 1, 0, 0, 0, 1). Calling
TRANSFER
with no arguments resets the array to
these default values. Usually, the command
HEADER
is used to set the
transformation matrix.
VECTOR
draws a vector field as a number of arrows.
The tails of the arrows lie at points (x,y) read by
XCOLUMN
and
YCOLUMN
, the lengths of the
arrows "r" are read by PCOLUMN
and the direction of the arrow (counter-clockwise from +X in
degrees) is read with ECOLUMN
.
See the command ARROW
for a
description of the optional parameters ANGLE
and
VENT
.
NOTE: The use of PCOLUMN
in this context requires SYMBOL
to be re-executed before plotting points.
BOX
will draw its grid).
Vectors and points are truncated at the edge of this plot region.
VIEWPORT
specifies (in normalized device coordinates)
where the plot region is located. Viewport arguments for this
command range from 0 to 1, inclusive, in each direction for all
devices. Note that the command VSTAND
is called to reset the Viewport coordinates every time a new
device is opened.
VSIZE
specifies (in inches) where the plot region
is located.
See also the VIEWPORT
command.
VSTAND
defines the standard viewport scale.
Currently, this is a box with margins on each side of about
4 character heights. This command is executed every time a
new device is chosen.
See also the VIEWPORT
and
VSIZE
commands.
WEDGE
illustrates the range of values drawn by
the halftone command. The SIDE
argument is
used to specify the size and orientation of the wedge.
The parameter SIDE
must be either
`B', `L', `T', or `R' to specify the Bottom, Left, Top, or Right
side of the viewport. The DISP
argument specifies
the displacement from the frame edge (in character height
units). If DISP
is negative, then the wedge is
drawn inside the viewport. The parameter THICK
is the thickness of the wedge (in character height units).
The optional arguments MIN
and MAX
allow the user to specify the intensity range of the wedge.
By default, MIN
and MAX
are the
values used by the most recent call to the
HALFTONE
command.
Providing the values of MIN
and MAX
will cause WEDGE
to display a different range
of intensities when labeling the wedge box. The optional
argument BOXARG
permits the user to control how
the box around the wedge is drawn (or omit it altogether).
By default, a simple box is drawn setting BOXARG
to BCSTN/M (depending on the orientation); to eliminate the box,
set BOXARG
to 0 (for more information on permitted
box arguments, see the BOX
command).
The arguments from the most recent call to the
TICKSIZE
command are used
to draw a box around the wedge and numerically label it.
To use the optional BOXARG
argument, the
MIN
and MAX
arguments must be provided.
WINADJ
changes the World (user) limits and
adjusts the viewport so that the World coordinate scales are
equal in x and y. If the four optional parameters are present,
they are used as the new World coordinate values; otherwise,
the minimum and maximum values of the
XCOLUMN
and
YCOLUMN
arrays are used.
Typical usage is (after an image is loaded) to rescale the
viewport so that the image has the proper aspect ratio.
For example, using the command 'winadj 0 nx 0 ny
'
after the IMAGE
command BUT
before the HEADER
command
will produce square pixels.
xxx
to file "fspec".
WRITE
the commands making up a macro to a file.
If the macro name XXX
given is all
,
all macros currently defined and the entire command buffer
(BUFFER
) are written to the
file. If the macro name XXX
is macros
,
then only the currently defined macros are written to the file
(i.e. the command buffer BUFFER
is not written). Otherwise, XXX
represents a list
of macro names to be written in the output file.
NOTE: This command will OVERWRITE any currently existing file.
N
of the current file.
XCOLUMN
reads column N
from the
data file as the values of the X coordinates of the data points.
STR
centered under the X axis.
XLABEL
writes a string centered under the
X axis drawn by the command BOX
.
Also see the command MTEXT
.
N
of the current file.
YCOLUMN
reads column N
from the
data file as the values of the Y coordinates of the data points.
STR
centered left of the Y axis.
YLABEL
writes a string centered left of the Y axis
drawn by the command BOX
. Also
see the command MTEXT
;
especially if the displacement of the text is insufficient to
avoid the axis numbers.