postmd(1) User Commands postmd(1)NAMEpostmd - matrix display program for PostScript printers
SYNOPSISpostmd [-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 standard
input is read.
OPTIONS
The following options are supported:
-b num Packs the bitmap in the output file using num byte pat‐
terns. A value of 0 turns off all packing 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 col‐
umns. 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 num‐
ber 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 Post‐
Script 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 numeri‐
cal 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 arbi‐
trarily 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 magnifica‐
tion 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 sepa‐
rated 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 printing two logical pages
to a sheet, and you specified a range of 4, then two
sheets of paper would print, containing four page layouts.
If you specified a page range of 3-4, when requesting two
logical pages to a sheet; then only page 3 and page 4 lay‐
outs 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 significant. The default
mode is portrait.
-w window window is a comma- or space-separated list of four posi‐
tive 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 dis‐
played.
-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 dimensions 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 key‐
word/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 is
accepted by the -d, -i, -g, and -w options.
EXAMPLES
Example 1 Generating an interval list
For example, suppose file initially contains the 1000 numbers in a
20x50 matrix. Then you can produce exactly the same output by complet‐
ing 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.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────────────┤
│Availability │print/lp/filter/postscript-lp-filter │
└─────────────────────────────┴─────────────────────────────────────┘
SEE ALSOdpost(1), postdaisy(1), postdmd(1), postio(1), postprint(1), postre‐
verse(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 9 Sep 1996 postmd(1)