postmd(1) manual page
Table of Contents
postmd - matrix display program for PostScript printers
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
SUNWlps
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.
- -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 rowsxcolumns. 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 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
- 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. The page range is an expression
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 layouts would print, and they would
appear on one physical sheet of paper.
- -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 positive 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.
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
is accepted by the -d, -i, -g, and -w options.
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:
example% 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:
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).
- /usr/lib/lp/postscript/forms.ps
- /usr/lib/lp/postscript/ps.requests
-
dpost(1)
, postdaisy(1)
, postdmd(1)
, postio(1)
, postprint(1)
, postreverse(1)
,
posttek(1)
An exit status of 0 is returned if files were successfully
processed.
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.
Table of Contents