POSTMD(1) RISC/os Reference Manual POSTMD(1)
NAME
postmd - matrix display program for PostScript printers
SYNOPSIS
postmd [options] [files]
DESCRIPTION
The postmd filter reads a series of floating point numbers
from files, translates them into a PostScript gray scale
image, and writes the results on the standard output. In a
typical application the numbers might be the elements of a
large matrix, written in row major order, while the printed
image could help locate patterns in the matrix. If no files
are specified, or if - is one of the input files, the stan-
dard input is read. The following options are understood:
b num Pack the bitmap in the output file using num byte
patterns. A value of 0 turns off all packing of
the output file. By default, num is 6.
c num Print num copies of each page. By default, only
one copy is printed.
d dimen Sets the default matrix dimensions for all input
files to dimen. The dimen string can be given as
rows or rows x columns. If columns is omitted it
will be set to rows. By default, postmd assumes
each matrix is square and sets the number of rows
and columns to the square root of the number of
elements in each input file.
g list List is a comma or space separated string of
integers, each lying between 0 and 255 inclusive,
that assigns PostScript gray scales to the regions
of the real line selected by the i option. 255
corresponds to white, and 0, to black. The postmd
filter assigns a default gray scale that omits
white (that is, 255) and gets darker as the
regions move from left to right along the real
line.
i list List is a comma, space or slash(/) separated
string of N floating point numbers that partition
the real line into 2N+1 regions. The list must be
given in increasing numerical order. The parti-
tions are used to map floating point numbers read
from the input files into gray scale integers that
are either assigned automatically by postmd or
arbitrarily selected using the g option. The
default interval list is -1,0,1, which partions
the real line into seven regions.
Printed 11/19/92 Page 1
POSTMD(1) RISC/os Reference Manual POSTMD(1)
m num Magnify each logical page by the factor num.
Pages are scaled uniformly about the origin which,
by default, is located at the center of each page.
The default magnification is 1.0.
n num Print num logical pages on each piece of paper,
where num can be any positive integer. By
default, num is set to 1.
o list Print pages whose numbers are given in the comma
separated list. The list contains single numbers
N and ranges N1 - N2. A missing N1 means the
lowest numbered page, a missing N2 means the
highest.
p mode Print files in either portrait or landscape mode.
Only the first character of mode is significant.
The default mode is portrait.
w window Window is a comma or space separated list of four
positive integers that select the upper left and
lower right corners of a submatrix from each of
the input files. Row and column indices start at
1 in the upper left corner and the numbers in the
input files are assumed to be written in row major
order. By default, the entire matrix is
displayed.
x num Translate the origin num inches along the positive
x axis. The default coordinate system has the
origin fixed at the center of the page, with posi-
tive x to the right and positive y up the page.
Positive num moves everything right. The default
offset is 0 inches.
y num Translate the origin num inches along the positive
y axis. Positive num moves everything up the
page. The default offset is 0.
Only one matrix is displayed on each logical page, and each
of the input files must contain complete descriptions of
exactly one matrix. Matrix elements are floating point
numbers arranged in row major order in each input file.
White space, including newlines, is not used to determine
matrix dimensions. By default, postmd assumes each matrix
is square and sets the number of rows and columns to the
square root of the number of elements in the input file.
Supplying default dimensions on the command line with the d
option overrides this default behavior, and in that case the
dimensions apply to all input files.
Page 2 Printed 11/19/92
POSTMD(1) RISC/os Reference Manual POSTMD(1)
An optional header can be supplied with each input file and
is used to set the matrix dimensions, the partition of the
real line, the gray scale map, and a window into the matrix.
The header consists of keyword/value pairs, each on a
separate line. It begins on the first line of each input
file and ends with the first unrecognized string, which
should be the first matrix element. Values set in the
header take precedence, but apply only to the current input
file. Recognized header keywords are dimension, interval,
grayscale, and window. The syntax of the value string that
follows each keyword parallels what's accepted by the d, i,
g, and w options.
EXAMPLES
For example, suppose file initially contains the 1000
numbers in a 20x50 matrix. Then you can produce exactly the
same output by completing three steps. First, issue the
following command line:
postmd -d20x50 -i"-100 100" -g0,128,254,128,0 file
Second, prepend the following header to file:
dimension 20x50
interval -100.0 .100e+3
grayscale 0 128 254 128 0
Third, issue the following command line:
postmd file
The interval list partitions the real line into five regions
and the gray scale list maps numbers less than -100 or
greater than 100 into 0 (that is, black), numbers equal to
-100 or 100 into 128 (that is, 50 percent black), and
numbers between -100 and 100 into 254 (that is, almost
white).
NOTES
The largest matrix that can be adequately displayed is a
function of the interval and gray scale lists, the printer
resolution, and the paper size. A 600x600 matrix is an
optimistic upper bound for a two element interval list (that
is, five regions) using 8.5x11 inch paper on a 300 dpi
printer.
Using white (that is, 255) in a gray scale list is not
recommended and won't show up in the legend and bar graph
that postmd displays below each image.
DIAGNOSTICS
An exit status of 0 is returned if files were successfully
Printed 11/19/92 Page 3
POSTMD(1) RISC/os Reference Manual POSTMD(1)
processed.
FILES
/usr/lib/postscript/postmd.ps
/usr/lib/postscript/forms.ps
/usr/lib/postscript/ps.requests
SEE ALSO
dpost(1), postdaisy(1), postdmd(1), postio(1), postprint(1),
postreverse(1), posttek(1).
Page 4 Printed 11/19/92