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...]



     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 supported:

     -b num
           Packs 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
           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
           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
           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 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
           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
           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
           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

     -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.


     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 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





     The following exit values are returned:

     0     Successful completion.

           An error occurred.


     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWpsf                     |


     dpost(1), postdaisy(1), postdmd(1), postio(1), postprint(1),
     postreverse(1), posttek(1), attributes(5)


     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

     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.

Man(1) output converted with man2html