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-hatched
The 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 font
The 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 y2
will 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-root
The 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 - dot
If 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 string
The 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 degrees
The 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.