User Commands postmd(1)
NAME
postmd - matrix display program for PostScript printers
SYNOPSIS
postmd [-b num] [-c num] [-d dimen] [-g list] [-i list]
[-m num] [-n num] [-o list] [-p mode] [-w window]
[-x num] [-y num] [file]...
/usr/lib/lp/postscript/postmd
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.
OPTIONS
The following options are supported:
-b num Packs the bitmap in the output file using num
byte patterns. A value of 0 turns off all pack-
ing of the output file. By default, num is 6.
-c num Prints 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 rowsx 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
SunOS 5.11 Last change: 9 Sep 1996 1
User Commands postmd(1)
along the real line.
-i list list is a comma-, space-, or slash(/)-separated
string of N floating point numbers that parti-
tion the real line into 2N]1 regions. The list
must be given in increasing numerical order.
The partitions 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.
-m num Magnifies 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 Prints num logical pages on each piece of
paper, where num can be any positive integer.
By default, num is set to 1.
-o list Prints 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. The page range is an expres-
sion of logical pages rather than physical
sheets of paper. For example, if you are print-
ing two logical pages to a sheet, and you
specified a range of 4, then two sheets of
paper would print, containing four page lay-
outs. If you specified a page range of 3-4,
when requesting two logical pages to a sheet;
then only page 3 and page 4 layouts would
print, and they would appear on one physical
sheet of paper.
-p mode Prints files in either portrait or landscape
mode. Only the first character of mode is sig-
nificant. 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
SunOS 5.11 Last change: 9 Sep 1996 2
User Commands postmd(1)
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 Translates the origin num inches along the
positive x axis. The default coordinate system
has the origin fixed at the center of the page,
with positive x to the right and positive y up
the page. Positive num moves everything right.
The default offset is 0 inches.
-y num Translates 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 dimen-
sions apply to all input files.
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, grays-
cale, and window. The syntax of the value string that fol-
lows each keyword parallels what is accepted by the -d, -i,
-g, and -w options.
EXAMPLES
Example 1 Generating an interval list
SunOS 5.11 Last change: 9 Sep 1996 3
User Commands postmd(1)
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.
1. First, issue the following command line:
example% postmd -d20x50 -i"-100 100" -g0,128,254,128,0 file
2. Second, prepend the following header to file:
example% postmd -d20x50 -i"-100 100" -g0,128,254,128,0 file
3. Third, issue the following command line:
example% 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).
FILES
/usr/lib/lp/postscript/forms.ps
/usr/lib/lp/postscript/ps.requests
EXIT STATUS
The following exit values are returned:
0 Successful completion.
non-zero An error occurred.
SunOS 5.11 Last change: 9 Sep 1996 4
User Commands postmd(1)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWpsf
SEE ALSO
dpost(1), postdaisy(1), postdmd(1), postio(1), postprint(1),
postreverse(1), posttek(1), attributes(5)
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 600 by 600 matrix is an
optimistic upper bound for a two element interval list (that
is, five regions) using 8.5 by 11 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.
SunOS 5.11 Last change: 9 Sep 1996 5
|