OOMMF Home next up previous contents index
Next: Vector Field File Difference: Up: Command Line Utilities Previous: Making Bitmaps from Vector

Making PostScript from Vector Fields: avf2ps

The avf2ps utility creates a collection of color Encapsulated PostScript files from a collection of vector field files (e.g., .omf, .ovf), which can be embedded into larger PostScript documents or printed directly on a PostScript printer. Operation of the avf2ps command is modeled after the avf2ppm command and the print dialog box in mmDisp.

The avf2ps launch command is:

tclsh oommf.tcl avf2ps [standard options] [-config file] [-f] \
   [-filter program] [-ipat pattern] [-opatexp regexp] [-opatsub sub] \
   [-v level] [infile ...]
-config file
User configuration file that specifies image display parameters. This file is discussed in detail below.
Force overwriting of existing (output) files. By default, if avf2ps tries to create a file, say foo.ps, that already exists, it generates instead a new name of the form foo.ps-000, or foo.ps-001, ..., or foo.ps-999, that doesn't exist and writes to that instead. The -f flag disallows alternate filename generation, and overwrites foo.ps instead.
-filter program
Post-processing application to run on each avf2ps output file. May be a pipeline of several programs.
-ipat pattern
Specify input files using a pattern with ``glob-style'' wildcards. Mostly useful in DOS.
-opatexp regexp
Specify the ``regular expression'' applied to input filenames to determine portion to be replaced in generation of output filenames. The default regular expression is: (\.[^.]?[^.]?[^.]?$|$)
-opatsub sub
The string with which to replace the portion of input filenames matched by the -opatexp regexp during output filename generation. The default is .eps.
-v level
Verbosity (informational message) level, with 0 generating only error messages, and larger numbers generating additional information. The level value is an integer, defaulting to 1.
infile ...
List of input files to process.

The file specification options, -ipat, -opatexp, and -opatsub, are interpreted in the same manner as for the avf2ppm application.

If you have command line PostScript processing ``filter'' programs, e.g., ghostscript, then you can use the -filter option to pipe the output of avf2ps through that filter before it is written to the output file specified by the -opat* expressions. If the processing changes the format of the file, (e.g., from PostScript to PDF), then you will likely want to specify a -opatsub different from the default.

Here is an example that processes all files with the .ovf extension, sending the output through ps2pdf (part of the ghostscript package) before saving the results in files with the extension .pdf:

tclsh oommf.tcl avf2ps -ipat *.ovf -opatsub .pdf -filter "ps2pdf - -"
On Unix, either drop the -ipat flag, or use quotes to protect the input file specification string from expansion by the shell, as in -ipat '*.ovf'.

Configuration files
The details of the conversion process are specified by plain-text configuration files, in the same format as the mmDisp configuration files.

The arrays plot_config and print_config hold the configurable parameters. The default values for these arrays are read first from the main configuration file

followed by the local customization file
if it exists. Lastly, any files passed as -config options on the command line are input. Each of these parameters is interpreted as explained in the mmDisp documentation, except that avf2ps ignores the misc,defaultwindowwidth and misc,defaultwindowheight parameters, and the following additional parameters are available:
Width of a colored outline around each arrow; this can improve visibility of an arrow when it is overlayed against a background with color similar to that of the arrow. Default value is zero, meaning no outline. A value of 1 produces an outline with a recommended width, and other positive values are scaled relative to this.
If arrow,outlinewidth is positive, then this is the color of the arrow outline.
Placement of the bounding polygon, either back or front, i.e., either behind or in front of the rendered arrows and pixel elements.
Specifies the width, in pixels, of a mat (frame) around the outer edge of the image. The mat is drawn in front of all other objects. To disable, set matwidth to 0.
Color of the mat.
misc,width, misc,height
Maximum width and height of the output bitmap, in pixels. If misc,crop is enabled, then one or both of these dimensions may be shortened.
If disabled (0), then any leftover space in the bitmap (of dimensions misc,width by misc,height) after packing the image are filled with the background color. If enabled (1), then the bitmap is cropped to just include the image (with the margin specified by misc,margin). NOTE: Some movie formats require that bitmap dimensions be multiples of 8 or 16. For such purposes, you should disable misc,crop and specify appropriate dimensions directly with misc,width and misc,height.

The default configuration file can be used as a starting point for user configuration files. You may also use configuration files produced by the File|Write config... command in mmDisp, although any of the above avf2ps-specific parameters that you wish to use will have to be added manually, using a plain text editor. You may omit any entries that you do not want to change from the default. You may ``layer'' configuration files by specifying multiple user configuration files on the command line. These are processed from left to right, with the last value set for each entry taking precedence.

array set plot_config {
  arrow,status       1                  misc,background     #FFFFFF
  arrow,colormap     Black-Gray-White   misc,drawboundary   1
  arrow,colorcount   0                  misc,boundarywidth  1
  arrow,quantity     z                  misc,boundarycolor  #000000
  arrow,colorphase   0.                 misc,boundarypos    front
  arrow,colorinvert  0                  misc,matwidth       0
  arrow,autosample   1                  misc,matcolor       #FFFFFF
  arrow,subsample    10                 misc,margin         10
  arrow,size         1                  misc,width          640
  arrow,antialias    1                  misc,height         480
                                        misc,crop           1
  pixel,status       1                  misc,zoom           0
  pixel,colormap     Teal-White-Red     misc,rotation       0
  pixel,colorcount   225                misc,datascale      0
  pixel,opaque       1                  misc,relcenterpt {0.5 0.5 0.5}
  pixel,quantity     x
  pixel,colorphase   0.                 viewaxis            +z
  pixel,colorinvert  0                  viewaxis,xarrowspan {}
  pixel,autosample   1                  viewaxis,xpixelspan {}
  pixel,subsample    0                  viewaxis,yarrowspan {}
  pixel,size         1                  viewaxis,ypixelspan {}
                                        viewaxis,zarrowspan {}
                                        viewaxis,zpixelspan {}
array set print_config {
  orient   landscape                    tmargin   1.0
  paper    letter                       lmargin   1.0
  hpos     center                       pwidth    6.0
  vpos     center                       pheight   6.0
  units    in                           croptoview 1
Figure 6: Contents of default configuration file avf2ps.config. (Description.)

OOMMF Home next up previous Contents index

OOMMF Documentation Team
September 30, 2015