home *** CD-ROM | disk | FTP | other *** search
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//en">
- <!--Converted with LaTeX2HTML 2022 (Released January 1, 2022) -->
- <HTML lang="en">
- <HEAD>
- <TITLE>Contents of NetPBM</TITLE>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
- <META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
- <META NAME="Generator" CONTENT="LaTeX2HTML v2022">
- <LINK REL="STYLESHEET" HREF="NetPBM.css">
- </HEAD>
- <BODY bgcolor="#ffffff" text="#000000" link="#9944EE" vlink="#0000ff" alink="#00ff00">
- PBMPLUS1L13 October 1993
- pbmplus - enhanced portable bitmap toolkit
- DESCRIPTION
- The <I>pbmplus</I> toolkit allows conversions between image files of
- different format. By means of using common intermediate formats, only
- <!-- MATH
- $2 \times N$
- 2×<I>N</I> conversion filters are required to support <I>N</I> distinct formats,
- instead of the <I>N</I><SUP>2</SUP> which would be required to convert directly between
- any one format and any other. The package also includes simple tools for
- manipulating portable bitmaps.
- The package consists of four upwardly compatible sections:
- STYLE="" SRC="img1.png"
- ALT="\begin{TPlist}{pbm}
- \item[{pbm}]
- Supports monochrome bitmaps (1 bit per pixel).
- and \lq\lq promotes'' a file to a higher format, it informs the user).
- \end{TPlist}">
- DESCRIPTION OF CONTENTS
- STYLE="" SRC="img2.png"
- ALT="\begin{TPlist}{{\it cmuwmtopbm}}
- \item[{{\it atktopbm}}]
- convert Andrew Toolkit ...
- ...{{\it xwdtopnm}}]
- convert X10 or X11 window dump to portable anymap
- \end{TPlist}">
- SEE ALSO
- There are a number of related image-manipulation tools:
- STYLE="" SRC="img3.png"
- ALT="\begin{TPlist}{{\it Fuzzy Pixmap Manipulation}}
- \item[{{\it IM Raster Toolkit}}]...
- ...by {\it
- ftp} as {\it uunet.uu.net: graphics/jpeg/jpegsrc.v4.tar.Z}.
- \end{TPlist}">
- libpbm(3), libpgm(3), libpnm(3), libppm(3), pbm(5), pgm(5), pnm(5),
- ppm(5), rasterfile(1)
- AUTHOR
- Distribution of 10 December 1991. ©1989, 1991 by Jef Poskanzer.
- Feedback and questions are welcome. Please send them to:
- STYLE="" SRC="img4.png"
- ALT="\begin{IPlist}
- \IPitem{{}}
- {\nofill
- jef@netcom.com
- jef@well.sf.ca.us
- apple!well!jef
- \fill}
- \end{IPlist}">
- When sending bug reports, always include the output from running any
- pbmplus program with the -version flag, including descriptions of the
- type of system you are on, the compiler you use, and whether you are
- using Makefiles or Imakefiles.
- When suggesting new formats or features, please include whatever
- documentation you have, and a uuencoded sample. The response time will
- depend upon my schedule and the complexity of the task; if you need it
- right away, or it is a complicated job, you might consider paying me.
- The Usenet newsgroup <I>alt.graphics.pixutils</I> is a forum for
- discussion of image conversion and editing packages. Posting queries
- there may be better than mailing them to me, since it allows other people
- to help provide answers.
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided ``as is'' without express or
- implied warranty. Thus, you may do what you want with this software.
- Build it into your package, steal code from it, whatever. Just be sure
- to let people know where it came from.
- atktopbm126 September 1991
- atktopbm - convert Andrew Toolkit raster object to portable bitmap
- SYNOPSIS
- <B>atktopbm</B>
- [<I>atkfile</I>]
- DESCRIPTION
- Reads an Andrew Toolkit raster object as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtoatk(1), pbm(5)
- AUTHOR
- ©1991 by Bill Janssen.
- bioradtopgm128 June 1993
- bioradtopgm - convert a Biorad confocal file into a portable graymap
- SYNOPSIS
- <B>bioradtopgm</B>
- [<B>-image#</B>]
- [<I>imagedata</I>]
- DESCRIPTION
- Reads a Biorad confocal file as input.
- Produces a portable graymap as output.
- If the resulting image is upside down, run it through
- <B>pnmflip -tb .</B>
- OPTIONS
- STYLE="" SRC="img5.png"
- ALT="\begin{TPlist}{{\bf -image\char93 }}
- \item[{{\bf -image\char93 }}]
- A Biorad imag...
- ...umber of images in the input is printed out. No output is produced.
- \end{TPlist}">
- A Biorad image may be in word format. If PbmPlus is not compiled with the
- ``BIGGRAYS'' flag, word files can not be converted. See the Makefile.
- SEE ALSO
- pgm(5), pnmflip(1)
- AUTHORS
- ©1993 by Oliver Trepte (oliver@fysik4.kth.se).
- bmptoppm126 Oct 1992
- bmptoppm – convert a BMP file into a portable pixmap
- SYNOPSIS
- <B>bmptoppm</B>
- [<I>bmpfile</I>]
- DESCRIPTION
- Reads a Microsoft Windows or OS/2 BMP file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- ppmtobmp(1),
- ppm(5)
- AUTHOR
- ©1992 by David W. Sanderson.
- brushtopbm128 August 1988
- brushtopbm - convert a doodle brush file into a portable bitmap
- SYNOPSIS
- <B>brushtopbm</B>
- [<I>brushfile</I>]
- DESCRIPTION
- Reads a Xerox doodle brush file as input.
- Produces a portable bitmap as output.
- Note that there is currently no pbmtobrush tool.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- cmuwmtopbm115 April 1989
- cmuwmtopbm - convert a CMU window manager bitmap into a portable bitmap
- SYNOPSIS
- <B>cmuwmtopbm</B>
- [<I>cmuwmfile</I>]
- DESCRIPTION
- Reads a CMU window manager bitmap as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtocmuwm(1), pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- fitstopgm120 September 89
- fitstopgm - convert a FITS file into a portable graymap
- SYNOPSIS
- <B>fitstopgm</B>
- [<B>-image</B>
- <I>N</I>]
- [<I>FITSfile</I>]
- DESCRIPTION
- Reads a FITS file as input.
- Produces a portable graymap as output.
- The results may need to be flipped top for bottom; if so, just
- pipe the output through
- <B>pnmflip -tb.</B>
- OPTIONS
- <B>-image</B>
- option is for FITS files with three axes.
- The assumption is that the third axis is for multiple images,
- and this option lets you select which one you want.
- All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- FITS stands for Flexible Image Transport System. A full description
- can be found in Astronomy & Astrophysics Supplement Series 44 (1981),
- page 363.
- SEE ALSO
- pgmtofits(1), pgm(5), pnmflip(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- fstopgm106 April 89
- fstopgm - convert a Usenix FaceSaver(tm) file into a portable graymap
- SYNOPSIS
- <B>fstopgm</B>
- [<I>fsfile</I>]
- DESCRIPTION
- Reads a Usenix FaceSaver(tm) file as input.
- Produces a portable graymap as output.
- FaceSaver(tm) files sometimes have rectangular pixels.
- While
- <I>fstopgm</I>
- won't re-scale them into square pixels for you,
- it will give you the precise
- <I>pnmscale</I>
- command that will do the job.
- Because of this, reading a FaceSaver(tm) image is a two-step process.
- First you do:
- fstopgm > /dev/null
- This will tell you whether you need to use
- <I>pnmscale.</I>
- Then use one of the following pipelines:
- fstopgm | pgmnorm
- fstopgm | pnmscale -whatever | pgmnorm
- To go to PBM, you want something more like one of these:
- fstopgm | pnmenlarge 3 | pgmnorm | pgmtopbm
- fstopgm | pnmenlarge 3 | pnmscale <whatever> | pgmnorm | pgmtopbm
- You want to enlarge when going to a bitmap because otherwise you lose
- information; but enlarging by more than 3 does not look good.
- FaceSaver is a registered trademark of Metron Computerware Ltd. of
- Oakland, CA.
- SEE ALSO
- pgmtofs(1), pgm(5), pgmnorm(1), pnmenlarge(1), pnmscale(1), pgmtopbm(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- g3topbm102 October 1989
- g3topbm - convert a Group 3 fax file into a portable bitmap
- SYNOPSIS
- <B>g3topbm</B>
- [<B>-kludge</B>]
- [<B>-reversebits</B>]
- [<B>-stretch</B>]
- [<I>g3file</I>]
- DESCRIPTION
- Reads a Group 3 fax file as input.
- Produces a portable bitmap as output.
- OPTIONS
- STYLE="" SRC="img6.png"
- ALT="\begin{TPlist}{{\bf -kludge}}
- \item[{{\bf -kludge}}]
- Tells
- {\it g3topbm}
- to igno...
- ...uplicating each row.
- This is for the low-quality transmission mode.
- \end{TPlist}">
- All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- The standard for Group 3 fax is defined in CCITT Recommendation T.4.
- Probably.
- SEE ALSO
- pbmtog3(1), pbm(5)
- AUTHOR
- ©1989 by Paul Haeberli (paul@manray.sgi.com).
- gemtopbm13 December 1988
- gemtopbm - convert a GEM .img file into a portable bitmap
- SYNOPSIS
- <B>gemtopbm</B>
- [<B>-d</B>]
- <I>gemfile</I>
- DESCRIPTION
- Reads a GEM .img file as input.
- Produces a portable bitmap as output.
- OPTIONS
- STYLE="" SRC="img7.png"
- ALT="\begin{TPlist}{{\bf -d}}
- \item[{{\bf -d}}]
- Produce output describing the contents of the .img file.
- \end{TPlist}">
- Does not support file containing more than one plane.
- Can't read from standard input.
- SEE ALSO
- pbmtogem(1), pbm(5)
- AUTHOR
- ©1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk).
- giftopnm129 September 1993
- giftopnm - convert a GIF file into a portable anymap
- SYNOPSIS
- <B>giftopnm</B>
- [<B>-verbose</B>]
- [<B>-comments</B>]
- [<B>-image</B>
- <I>N</I>]
- [<I>GIFfile</I>]
- DESCRIPTION
- Reads a GIF file for input, and outputs portable anymap.
- OPTIONS
- STYLE="" SRC="img8.png"
- ALT="\begin{TPlist}{{\bf -verbose}}
- \item[{{\bf -verbose}}]
- Produces verbose output a...
- ...lly there is only one image per file, so this option
- is not needed.
- \end{TPlist}">
- All flags can be abbreviated to their shortest unique prefix.
- This does not correctly handle the Plain Text Extension of the GIF89
- standard, since I did not have any example input files containing them.
- SEE ALSO
- ppmtogif(1), ppm(5)
- AUTHOR
- ©1993 by David Koblas (koblas@netcom.com)
- gouldtoppm120 May 1990
- gouldtoppm - convert Gould scanner file into a portable pixmap
- SYNOPSIS
- <B>gouldtoppm</B>
- [<I>gouldfile</I>]
- DESCRIPTION
- Reads a file produced by the Gould scanner as input.
- Produces a portable pixmap as output.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1990 by Stephen Paul Lesniewski.
- hipstopgm124 August 89
- hipstopgm - convert a HIPS file into a portable graymap
- SYNOPSIS
- <B>hipstopgm</B>
- [<I>hipsfile</I>]
- DESCRIPTION
- Reads a HIPS file as input.
- Produces a portable graymap as output.
- If the HIPS file contains more than one frame in sequence, hipstopgm
- will concatenate all the frames vertically.
- HIPS is a format developed at the Human Information Processing
- Laboratory, NYU.
- SEE ALSO
- pgm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- icontopbm131 August 1988
- icontopbm - convert a Sun icon into a portable bitmap
- SYNOPSIS
- <B>icontopbm</B>
- [<I>iconfile</I>]
- DESCRIPTION
- Reads a Sun icon as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtoicon(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- ilbmtoppm120 June 1993
- ilbmtoppm - convert an ILBM file into a portable pixmap
- SYNOPSIS
- <B>ilbmtoppm</B>
- [<B>-verbose</B>]
- [<I>ILBMfile</I>]
- DESCRIPTION
- Reads an IFF ILBM file as input.
- Produces a portable pixmap as output.
- Supported ILBM types are:
- STYLE="" SRC="img9.png"
- ALT="\begin{TPlist}{Normal ILBMs with 1-16 planes.}
- \item[{Normal ILBMs with 1-16 pla...
- ...:}]
- NAME, AUTH, (c), ANNO, DPI
- \item[{Unknown chunks are skipped.}]
- \end{TPlist}">
- OPTIONS
- STYLE="" SRC="img10.png"
- ALT="\begin{TPlist}{{\bf -verbose}}
- \item[{{\bf -verbose}}]
- Give some informaton about the ILBM file.
- \end{TPlist}">
- Probably.
- REFERENCES
- Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
- Addison Wesley, ISBN 0–201–56775–X
- SEE ALSO
- ppm(5), ppmtoilbm(1)
- AUTHORS
- ©1989 by Jef Poskanzer.
- Modified June 1993 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
- imgtoppm105 September 1989
- imgtoppm - convert an Img-whatnot file into a portable pixmap
- SYNOPSIS
- <B>imgtoppm</B>
- [<I>imgfile</I>]
- DESCRIPTION
- Reads an Img-whatnot file as input.
- Produces a portable pixmap as output.
- The Img-whatnot toolkit is available for FTP on venera.isi.edu,
- along with numerous images in this format.
- SEE ALSO
- ppm(5)
- AUTHOR
- Based on a simple conversion program posted to comp.graphics by Ed Falk.
- ©1989 by Jef Poskanzer.
- libpbm3
- libpbm - functions to support portable bitmap programs
- SYNOPSIS
- #include <pbm.h>
- cc ... libpbm.a
- DESCRIPTION - PACKAGE-WIDE ROUTINES
- int pm_keymatch( char* str, char* keyword, int minchars )
- Does a case-insensitive match of
- <B>str</B>
- against
- <B>keyword</B>.
- <B>str</B>
- can be a leading sunstring of
- <B>keyword</B>,
- but at least
- <B>minchars</B>
- must be present.
- int pm_maxvaltobits( int maxval )
- int pm_bitstomaxval( int bits )
- Convert between a maxval and the minimum number of bits required
- to hold it.
- void pm_message( char* fmt, ... )
- <B>printf()</B>
- style routine to write an informational message.
- void pm_error( char* fmt, ... )
- <B>printf()</B>
- style routine to write an error message and abort.
- void pm_usage( char* usage )
- Write a usage message.
- The string should indicate what arguments are to be provided to the program.
- FILE* pm_openr( char* name )
- Open the given file for reading, with appropriate error checking.
- A filename of ``-'' is taken as equivalent to stdin.
- FILE* pm_openw( char* name )
- Open the given file for writing, with appropriate error checking.
- void pm_close( FILE* fp )
- Close the file descriptor, with appropriate error checking.
- int pm_readbigshort( FILE* in, short* sP )
- int pm_writebigshort( FILE* out, short s )
- int pm_readbiglong( FILE* in, long* lP )
- int pm_writebiglong( FILE* out, long l )
- int pm_readlittleshort( FILE* in, short* sP )
- int pm_writelittleshort( FILE* out, short s )
- int pm_readlittlelong( FILE* in, long* lP )
- int pm_writelittlelong( FILE* out, long l )
- Routines to read and write short and long ints in either big- or
- little-endian byte order.
- DESCRIPTION - PBM-SPECIFIC ROUTINES
- typedef ... bit;
- #define PBM_WHITE ...
- #define PBM_BLACK ...
- <B>bit</B>
- should contain only the values of
- <B>PBM_WHITE</B>
- <B>PBM_BLACK</B>.
- #define PBM_FORMAT ...
- #define RPBM_FORMAT ...
- #define PBM_TYPE PBM_FORMAT
- #define PBM_FORMAT_TYPE(f) ...
- For distinguishing different file formats and types.
- void pbm_init( int* argcP, char* argv[] )
- All PBM programs must call this routine.
- bit** pbm_allocarray( int cols, int rows )
- Allocate an array of bits.
- bit* pbm_allocrow( int cols )
- Allocate a row of the given number of bits.
- void pbm_freearray( bit** bits, int rows )
- Free the array allocated with
- <B>pbm_allocarray()</B>
- containing the given number
- of rows.
- void pbm_freerow( bit* bitrow )
- Free a row of bits.
- void pbm_readpbminit( FILE* fp, int* colsP, int* rowsP, int* formatP )
- Read the header from a PBM file, filling in the rows, cols and format
- variables.
- void pbm_readpbmrow( FILE* fp, bit* bitrow, int cols, int format )
- Read a row of bits into the bitrow array.
- Format and cols were filled in by
- <B>pbm_readpbminit()</B>.
- bit** pbm_readpbm( FILE* fp, int* colsP, int* rowsP )
- Read an entire bitmap file into memory, returning the allocated array and
- filling in the rows and cols variables.
- This function combines
- <B>pbm_readpbminit()</B>,
- <B>pbm_allocarray()</B>
- <B>pbm_readpbmrow()</B>.
- char* pm_read_unknown_size( FILE* fp, long* nread )
- Read an entire file or input stream of unknown size to a buffer.
- Allocate memory more memory as needed. The calling routine has
- to free the allocated buffer with
- <B>free()</B>.
- <B>pm_read_unknown_size()</B>
- returns a pointer to the allocated buffer. The
- <B>nread</B>
- argument returns the number of bytes read.
- void pbm_writepbminit( FILE* fp, int cols, int rows, int forceplain )
- Write the header for a portable bitmap file.
- The forceplain flag forces a plain-format file to be written, as opposed
- to a raw-format one.
- void pbm_writepbmrow( FILE* fp, bit* bitrow, int cols, int forceplain )
- Write a row from a portable bitmap.
- void pbm_writepbm( FILE* fp, bit** bits, int cols, int rows, int forceplain )
- Write the header and all data for a portable bitmap.
- This function combines
- <B>pbm_writepbminit()</B>
- <B>pbm_writepbmrow()</B>.
- SEE ALSO
- libpgm(3), libppm(3), libpnm(3)
- AUTHOR
- ©1989, 1991 by Tony Hansen and Jef Poskanzer.
- libpgm3
- libpgm - functions to support portable graymap programs
- SYNOPSIS
- #include <pgm.h>
- cc ... libpgm.a libpbm.a
- DESCRIPTION
- typedef ... gray;
- #define PGM_MAXMAXVAL ...
- extern gray pgm_pbmmaxval;
- <B>gray</B>
- should contain only the values between
- <B>0</B>
- <B>PGM_MAXMAXVAL</B>.
- <B>pgm_pbmmaxval</B>
- is the maxval used when a PGM program reads a PBM file.
- Normally it is 1; however, for some programs, a larger value gives better
- results.
- #define PGM_FORMAT ...
- #define RPGM_FORMAT ...
- #define PGM_TYPE PGM_FORMAT
- int PGM_FORMAT_TYPE( int format )
- For distinguishing different file formats and types.
- void pgm_init( int* argcP, char* argv[] )
- All PGM programs must call this routine.
- gray** pgm_allocarray( int cols, int rows )
- Allocate an array of grays.
- gray* pgm_allocrow( int cols )
- Allocate a row of the given number of grays.
- void pgm_freearray( gray** grays, int rows )
- Free the array allocated with
- <B>pgm_allocarray()</B>
- containing the given number
- of rows.
- void pgm_freerow( gray* grayrow )
- Free a row of grays.
- void pgm_readpgminit( FILE* fp, int* colsP, int* rowsP, gray* maxvalP, int* formatP )
- Read the header from a PGM file, filling in the rows, cols, maxval and format
- variables.
- void pgm_readpgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int format )
- Read a row of grays into the grayrow array.
- Format, cols, and maxval were filled in by
- <B>pgm_readpgminit()</B>.
- gray** pgm_readpgm( FILE* fp, int* colsP, int* rowsP, gray* maxvalP )
- Read an entire graymap file into memory, returning the allocated array and
- filling in the rows, cols and maxval variables.
- This function combines
- <B>pgm_readpgminit()</B>,
- <B>pgm_allocarray()</B>
- <B>pgm_readpgmrow()</B>.
- void pgm_writepgminit( FILE* fp, int cols, int rows, gray maxval, int forceplain )
- Write the header for a portable graymap file.
- The forceplain flag forces a plain-format file to be written, as opposed
- to a raw-format one.
- void pgm_writepgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int forceplain )
- Write a row from a portable graymap.
- void pgm_writepgm( FILE* fp, gray** grays, int cols, int rows, gray maxval, int forceplain )
- Write the header and all data for a portable graymap.
- This function combines
- <B>pgm_writepgminit()</B>
- <B>pgm_writepgmrow()</B>.
- SEE ALSO
- libpbm(3), libppm(3), libpnm(3)
- AUTHOR
- ©1989, 1991 by Tony Hansen and Jef Poskanzer.
- libpnm3
- libpnm - functions to support portable anymap programs
- SYNOPSIS
- #include <pnm.h>
- cc ... libpnm.a libppm.a libpgm.a libpbm.a
- DESCRIPTION
- typedef ... xel;
- typedef ... xelval;
- #define PNM_MAXMAXVAL ...
- extern xelval pnm_pbmmaxval;
- <B>xel</B>
- contains three
- <B>xelval</B>s,
- each of which should contain only the values between
- <B>0</B>
- <B>PNM_MAXMAXVAL</B>.
- <B>pnm_pbmmaxval</B>
- is the maxval used when a PNM program reads a PBM file.
- Normally it is 1; however, for some programs, a larger value gives better
- results.
- xelval PNM_GET1( xel x )
- This macro extracts a single value from an xel, when you know it's
- from a PBM or PGM file.
- When it's from a PPM file, use
- <B>PPM_GETR()</B>,
- <B>PPM_GETG()</B>,
- <B>PPM_GETB()</B>.
- void PNM_ASSIGN1( xel x, xelval v )
- This macro assigns a single value to an xel, when you know it's
- from a PBM or PGM file.
- When it's from a PPM file, use
- <B>PPM_ASSIGN()</B>.
- int PNM_EQUAL( xel x, xel y )
- This macro checks two xels for equality.
- int PNM_FORMAT_TYPE( int format )
- For distinguishing different file types.
- void pnm_init( int* argcP, char* argv[] )
- All PNM programs must call this routine.
- xel** pnm_allocarray( int cols, int rows )
- Allocate an array of xels.
- xel* pnm_allocrow( int cols )
- Allocate a row of the given number of xels.
- void pnm_freearray( xel** xels, int rows )
- Free the array allocated with
- <B>pnm_allocarray()</B>
- containing the given number
- of rows.
- void pnm_freerow( xel* xelrow )
- Free a row of xels.
- void pnm_readpnminit( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
- Read the header from a PNM file, filling in the rows, cols, maxval and format
- variables.
- void pnm_readpnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format )
- Read a row of xels into the xelrow array.
- Format, cols, and maxval were filled in by
- <B>pnm_readpnminit()</B>.
- xel** pnm_readpnm( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
- Read an entire anymap file into memory, returning the allocated array and
- filling in the rows, cols, maxval, and format variables.
- This function combines
- <B>pnm_readpnminit()</B>,
- <B>pnm_allocarray()</B>
- <B>pnm_readpnmrow()</B>.
- Unlike the equivalent functions in PBM, PGM, and PPM, it returns the format
- so you can tell what type the file is.
- void pnm_writepnminit( FILE* fp, int cols, int rows, xelval maxval, int format, int forceplain )
- Write the header for a portable anymap file.
- Unlike the equivalent functions in PBM, PGM, and PPM, you have to specify
- the output type.
- The forceplain flag forces a plain-format file to be written, as opposed
- to a raw-format one.
- void pnm_writepnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format, int forceplain )
- Write a row from a portable anymap.
- void pnm_writepnm( FILE* fp, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain )
- Write the header and all data for a portable anymap.
- This function combines
- <B>pnm_writepnminit()</B>
- <B>pnm_writepnmrow()</B>.
- void pnm_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat )
- Promote a row of xels from one maxval and format to a new set.
- Used when combining multiple anymaps of different types - just
- take the max of the maxvals and the max of the formats, and
- promote them all to that.
- void pnm_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat )
- Promote an entire anymap.
- xel pnm_whitexel( xelval maxval, int format )
- xel pnm_blackxel( xelval maxval, int format )
- Return a white or black xel for the given maxval and format.
- void pnm_invertxel( xel* x, xelval maxval, int format )
- Invert an xel.
- xel pnm_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format )
- Figure out an appropriate background xel based on this row.
- xel pnm_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format )
- Figure out a background xel based on an entire anymap.
- This can do a slightly better job than
- <B>pnm_backgroundxelrow()</B>.
- SEE ALSO
- pbm(3), pgm(3), ppm(3)
- AUTHOR
- ©1989, 1991 by Tony Hansen and Jef Poskanzer.
- libppm3
- libppm - functions to support portable pixmap programs
- SYNOPSIS
- #include <ppm.h>
- cc ... libppm.a libpgm.a libpbm.a
- DESCRIPTION
- typedef ... pixel;
- typedef ... pixval;
- #define PPM_MAXMAXVAL ...
- extern pixval ppm_pbmmaxval;
- <B>pixel</B>
- contains three
- <B>pixval</B>s,
- each of which should contain only the values between
- <B>0</B>
- <B>PPM_MAXMAXVAL</B>.
- <B>ppm_pbmmaxval</B>
- is the maxval used when a PPM program reads a PBM file.
- Normally it is 1; however, for some programs, a larger value gives better
- results.
- #define PPM_FORMAT ...
- #define RPPM_FORMAT ...
- #define PPM_TYPE PPM_FORMAT
- int PPM_FORMAT_TYPE( int format )
- For distinguishing different file formats and types.
- pixval PPM_GETR( pixel p )
- pixval PPM_GETG( pixel p )
- pixval PPM_GETB( pixel p )
- These three macros retrieve the red, green or blue value from the given
- pixel.
- void PPM_ASSIGN( pixel p, pixval red, pixval grn, pixval blu )
- This macro assigns the given red, green and blue values to the pixel.
- int PPM_EQUAL( pixel p, pixel q )
- This macro checks two pixels for equality.
- void PPM_DEPTH( pixel newp, pixel p, pixval oldmaxval, pixval newmaxval )
- This macro scales the colors of pixel
- <B>p</B>
- according the old and new maximum values and assigns the new values to
- <B>newp</B>.
- It is intended to make writing ppmtowhatever easier.
- float PPM_LUMIN( pixel p )
- This macro determines the luminance of the pixel
- <B>p</B>.
- pixel** ppm_allocarray( int cols, int rows )
- Allocate an array of pixels.
- pixel* ppm_allocrow( int cols )
- Allocate a row of the given number of pixels.
- void ppm_freearray( pixel** pixels, int rows )
- Free the array allocated with
- <B>ppm_allocarray()</B>
- containing the given number
- of rows.
- void pbm_freerow( pixel* pixelrow )
- Free a row of pixels.
- void ppm_readppminit( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP, int* formatP )
- Read the header from a PPM file, filling in the rows, cols, maxval and format
- variables.
- void ppm_readppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int format )
- Read a row of pixels into the pixelrow array.
- Format, cols, and maxval were filled in by
- <B>ppm_readppminit()</B>.
- pixel** ppm_readppm( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP )
- Read an entire pixmap file into memory, returning the allocated array and
- filling in the rows, cols and maxval variables.
- This function combines
- <B>ppm_readppminit()</B>,
- <B>ppm_allocarray()</B>
- <B>ppm_readppmrow()</B>.
- void ppm_writeppminit( FILE* fp, int cols, int rows, pixval maxval, int forceplain )
- Write the header for a portable pixmap file.
- The forceplain flag forces a plain-format file to be written, as opposed
- to a raw-format one.
- void ppm_writeppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int forceplain )
- Write a row from a portable pixmap.
- void ppm_writeppm( FILE* fp, pixel** pixels, int cols, int rows, pixval maxval, int forceplain )
- Write the header and all data for a portable pixmap.
- This function combines
- <B>ppm_writeppminit()</B>
- <B>ppm_writeppmrow()</B>.
- pixel ppm_parsecolor( char* colorname, pixval maxval )
- Parses an ASCII color name into a pixel.
- The color can be specified in three ways. One, as a name, assuming
- that a pointer to an X11-style color names file was compiled in. Two,
- as an X11-style hexadecimal number: #rgb, #rrggbb, #rrrgggbbb, or
- #rrrrggggbbbb. Three, as a triplet of decimal floating point numbers
- separated by commas: r.r,g.g,b.b.
- char* ppm_colorname( pixel* colorP, pixval maxval, int hexok )
- Returns a pointer to a string describing the given color.
- If the X11 color names file is available and the color appears in
- it, that name is returned.
- Otherwise, if the hexok flag is true then a hexadecimal colorspec
- is returned; if hexok is false and the X11 color names file is
- available, then the closest matching color is returned;
- otherwise, it's an error.
- SEE ALSO
- pbm(3), pgm(3)
- AUTHOR
- ©1989, 1991 by Tony Hansen and Jef Poskanzer.
- lispmtopgm106 March 1990
- lispmtopgm - convert a Lisp Machine bitmap file into pgm format
- SYNOPSIS
- <B>lispmtopgm</B>
- [<I>lispmfile</I>]
- DESCRIPTION
- Reads a Lisp Machine bitmap as input.
- Produces a portable graymap as output.
- This is the file format written by the tv:write-bit-array-file function on
- TI Explorer and Symbolics lisp machines.
- Multi-plane bitmaps on lisp machines are color; but the lispm image file
- format does not include a color map, so we must treat it as a graymap
- instead. This is unfortunate.
- SEE ALSO
- pgmtolispm(1), pgm(5)
- The Lispm bitmap file format is a bit quirky; Usually the image in the file
- has its width rounded up to the next higher multiple of 32, but not always.
- If the width is not a multiple of 32, we don't deal with it properly, but
- because of the Lispm microcode, such arrays are probably not image data
- anyway.
- Also, the lispm code for saving bitmaps has a bug, in that if you are writing a
- bitmap which is not mod32 across, the file may be up to 7 bits too short! They
- round down instead of up, and we don't handle this bug gracefully.
- No color.
- AUTHOR
- ©1991 by Jamie Zawinski and Jef Poskanzer.
- macptopbm129 March 1989
- macptopbm - convert a MacPaint file into a portable bitmap
- SYNOPSIS
- <B>macptopbm</B>
- [<B>-extraskip</B>
- <I>N</I>]
- [<I>macpfile</I>]
- DESCRIPTION
- Reads a MacPaint file as input.
- Produces a portable bitmap as output.
- OPTIONS
- STYLE="" SRC="img11.png"
- ALT="\begin{TPlist}{{\bf -extraskip}}
- \item[{{\bf -extraskip}}]
- This flag is to get a...
- ...askip}
- 128, and if that still doesn't look right try another value.
- \end{TPlist}">
- All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- picttoppm(1), pbmtomacp(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- The MacPaint-reading code is ©1987 by Patrick J. Naughton
- (naughton@wind.sun.com).
- mgrtopbm124 January 1989
- mgrtopbm - convert a MGR bitmap into a portable bitmap
- SYNOPSIS
- <B>mgrtopbm</B>
- [<I>mgrfile</I>]
- DESCRIPTION
- Reads a MGR bitmap as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtomgr(1), pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- mtvtoppm102 February 1989
- mtvtoppm - convert output from the MTV or PRT ray tracers into a portable pixmap
- SYNOPSIS
- <B>mtvtoppm</B>
- [<I>mtvfile</I>]
- DESCRIPTION
- Reads an input file from Mark VanDeWettering's MTV ray tracer.
- Produces a portable pixmap as output.
- The PRT raytracer also produces this format.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- pbm527 September 1991
- pbm - portable bitmap file format
- DESCRIPTION
- The portable bitmap format is a lowest common denominator monochrome
- file format.
- It was originally designed to make it reasonable to mail bitmaps
- between different types of machines using the typical stupid network
- mailers we have today.
- Now it serves as the common language of a large family of bitmap
- conversion filters.
- The definition is as follows:
- STYLE="" SRC="img12.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- A \lq\lq magic number'' for identifying the file type.
- A ...
- ...omments).
- \IPitem{{-}}
- No line should be longer than 70 characters.
- \end{IPlist}">
- Here is an example of a small bitmap in this format:
- # feep.pbm
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
- 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
- 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
- 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
- 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- Programs that read this format should be as lenient as possible,
- accepting anything that looks remotely like a bitmap.
- There is also a variant on the format, available
- by setting the RAWBITS option at compile time. This variant is
- different in the following ways:
- STYLE="" SRC="img13.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- The \lq\lq magic number'' is \lq\lq P4'' instead of \lq\lq P1''.
- \I...
- ...es are eight times smaller and many times faster to read and write.
- \end{IPlist}">
- SEE ALSO
- atktopbm(1), brushtopbm(1), cmuwmtopbm(1), g3topbm(1),
- gemtopbm(1), icontopbm(1),
- macptopbm(1), mgrtopbm(1), pi3topbm(1), xbmtopbm(1),
- ybmtopbm(1),
- pbmto10x(1), pnmtoascii(1), pbmtoatk(1), pbmtobbnbg(1),
- pbmtocmuwm(1), pbmtoepson(1),
- pbmtog3(1), pbmtogem(1), pbmtogo(1), pbmtoicon(1), pbmtolj(1),
- pbmtomacp(1), pbmtomgr(1), pbmtopi3(1), pbmtoplot(1), pbmtoptx(1),
- pbmtox10bm(1), pbmtoxbm(1), pbmtoybm(1),
- pbmtozinc(1),
- pbmlife(1), pbmmake(1), pbmmask(1), pbmreduce(1),
- pbmtext(1), pbmupc(1),
- pnm(5), pgm(5), ppm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- pbmclean12 Dec 1990
- pbmclean - flip isolated pixels in portable bitmap
- SYNOPSIS
- pbmclean [-connect] [pbmfile]
- DESCRIPTION
- Reads a portable bitmap as input. Outputs a portable bitmap with every
- pixel which has less than <I>connect </I>identical neighbours inverted.
- Pbmclean can be used to clean up ``snow'' on bitmap images.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1990 by Angus Duggan.
- ©1989 by Jef Poskanzer.
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- pbmlife121 February 1991
- pbmlife - apply Conway's rules of Life to a portable bitmap
- SYNOPSIS
- <B>pbmlife</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Applies the rules of Life to it for one generation,
- and produces a portable bitmap as output.
- A white pixel in the image is interpreted as a live beastie, and a
- black pixel as an empty space.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988, 1991 by Jef Poskanzer.
- pbmmake122 February 1989
- pbmmake - create a blank bitmap of a specified size
- SYNOPSIS
- <B>pbmmake</B>
- [<B>-white</B>|<B>-black</B>|<B>-gray</B>
- <I>width height</I>
- DESCRIPTION
- Produces a portable bitmap of the specified width and height.
- The color defaults to white.
- OPTIONS
- In addition to the usual
- <B>-white</B>
- <B>-black</B>,
- this program implements
- <B>-gray</B>.
- This gives a simple 50% gray pattern with 1's and 0's alternating.
- All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pbm(5), ppmmake(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- pbmmask108 August 1989
- pbmmask - create a mask bitmap from a regular bitmap
- SYNOPSIS
- <B>pbmmask</B>
- [<B>-expand</B>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Creates a corresponding mask bitmap and writes it out.
- The color to be interpreted as ``background'' is determined automatically.
- Regardless of which color is background, the mask will be white where
- the background is and black where the figure is.
- This lets you do a masked paste like this, for objects with a black background:
- pbmmask obj > objmask
- pnmpaste < dest -and objmask <x> <y> | pnmpaste -or obj <x> <y>
- For objects with a white background, you can either invert them or
- add a step:
- pbmmask obj > objmask
- pnminvert objmask | pnmpaste -and obj 0 0 > blackback
- pnmpaste < dest -and objmask <x> <y> | pnmpaste -or blackback <x> <y>
- Note that this three-step version works for objects with black backgrounds
- too, if you don't care about the wasted time.
- You can also use masks with graymaps and pixmaps, using the
- <I>pnmarith</I>
- tool. For instance:
- ppmtopgm obj.ppm | pgmtopbm -threshold | pbmmask > objmask.pbm
- pnmarith -multiply dest.ppm objmask.pbm > t1.ppm
- pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm
- pnmarith -add t1.ppm t2.ppm
- An interesting variation on this is to pipe the mask through the
- <I>pnmsmooth</I>
- script before using it. This makes the boundary between the two images less
- sharp.
- STYLE="" SRC="img14.png"
- ALT="\begin{TPlist}{{\bf -expand}}
- \item[{{\bf -expand}}]
- Expands the mask by one pix...
- ...n the
- {\it pbmlife}
- tool into a general cellular automaton tool...)
- \end{TPlist}">
- SEE ALSO
- pnmpaste(1), pnminvert(1), pbm(5), pnmarith(1), pnmsmooth(1)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmpscale12 Dec 1990
- pbmpscale - enlarge a portable bitmap with edge smoothing
- SYNOPSIS
- pbmpscale N [ pbmfile ]
- DESCRIPTION
- Reads a portable bitmap as input, and outputs a portable bitmap
- enlarged N times. Enlargement is done by pixel replication,
- with some additional smoothing of corners and edges.
- SEE ALSO
- pnmenlarge(1), ppmscale(1), pbm(5)
- AUTHOR
- ©1990 by Angus Duggan.
- ©1989 by Jef Poskanzer.
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- NOTES
- pbmpscale works best for enlargements of 2. Enlargements greater than 2
- should be done by as many enlargements of 2 as possible, followed by an
- enlargement by the remaining factor.
- pbmreduce102 August 1989
- pbmreduce - read a portable bitmap and reduce it N times
- SYNOPSIS
- <B>pbmreduce</B>
- [<B>-floyd</B>|<B>-fs</B>|<B>-threshold</B>
- [<B>-value</B>
- <I>val</I>]
- <I>N</I>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Reduces it by a factor of
- <I>N</I>,
- and produces a portable bitmap as output.
- <I>pbmreduce</I>
- duplicates a lot of the functionality of
- <I>pgmtopbm;</I>
- you could do something like
- <B>pnmscale | pgmtopbm,</B>
- <I>pbmreduce</I>
- is a lot faster.
- <I>pbmreduce</I>
- can be used to ``re-halftone'' an image.
- Let's say you have a scanner that only produces black&white, not
- grayscale, and it does a terrible job of halftoning (most b&w scanners
- fit this description).
- One way to fix the halftoning is to scan at the highest possible
- resolution, say 300 dpi, and then reduce by a factor of three or
- so using
- <I>pbmreduce</I>.
- You can even correct the brightness of an image, by using the
- <B>-value</B>
- flag.
- OPTIONS
- By default, the halftoning after the reduction is done via
- boustrophedonic Floyd-Steinberg error diffusion; however, the
- <B>-threshold</B>
- flag can be used to specify simple thresholding. This gives better
- results when reducing line drawings.
- <B>-value</B>
- flag alters the thresholding value for all quantizations.
- It should be a real number between 0 and 1.
- Above 0.5 means darker images; below 0.5 means lighter.
- All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmenlarge(1), pnmscale(1), pgmtopbm(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmtext15 January 1991
- pbmtext - render text into a bitmap
- SYNOPSIS
- <B>pbmtext</B>
- [<B>-font</B>
- <I>fontfile</I>]
- [<I>text</I>]
- DESCRIPTION
- Takes the specified text, either a single line from the command
- line or multiple lines from standard input, and renders it
- into a bitmap.
- OPTIONS
- By default, pbmtext uses a built-in font.
- You can also specify your own font with the
- <B>-font</B>
- flag.
- <I>fontfile</I>
- is a pbm file, created in a very specific way.
- In your window system of choice, display the following text
- in the desired (fixed-width) font:
- M ",/ˆ_[`jpqy| M
- / !"#$%&'()*+ /
- < ,-./01234567 <
- > 89:;<=>?@ABC >
- @ DEFGHIJKLMNO @
- _ PQRSTUVWXYZ[ _
- { ]ˆ_`abcdefg {
- } hijklmnopqrs }
- ˜ tuvwxyz{|}˜ ˜
- M ",/ˆ_[`jpqy| M
- Do a screen grab or window dump of that text, using for instance
- <I>xwd</I>,
- <I>xgrabsc</I>,
- <I>screendump</I>.
- Convert the result into a pbm file.
- If necessary, use
- <I>pnmcut</I>
- to remove everything except the text.
- Finally, run it through
- <I>pnmcrop</I>
- to make sure the edges are right up against the text.
- <I>pbmtext</I>
- can figure out the sizes and spacings from that.
- SEE ALSO
- pbm(5), pnmcut(1), pnmcrop(1)
- AUTHOR
- ©1991 by Jef Poskanzer.
- pbmto10x11 January 1990
- pbmto10x - convert a portable bitmap into Gemini 10X printer graphics
- SYNOPSIS
- <B>pbmto10x</B>
- [<B>-h</B>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a file of Gemini 10X printer graphics as output.
- The 10x's printer codes are alleged to be similar to the Epson codes.
- Note that there is no 10xtopbm tool - this transformation is one way.
- OPTIONS
- The resolution is normally 60H by 72V.
- If the
- <B>-h</B>
- flag is specified, resolution is 120H by 144V.
- You may find it useful to rotate landscape images before printing.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1990 by Ken Yap.
- pbmtoascii120 March 1992
- pbmtoascii - convert a portable bitmap into ASCII graphics
- SYNOPSIS
- <B>pbmtoascii</B>
- [<B>-1x2</B>|<B>-2x4</B>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a somewhat crude ASCII graphic as output.
- Note that there is no asciitopbm tool - this transformation is one-way.
- OPTIONS
- <B>-1x2</B>
- <B>-2x4</B>
- flags give you two alternate ways for the bits to get mapped to characters.
- <B>1x2</B>,
- the default, each character represents a group of 1 bit across by 2 bits down.
- <B>-2x4</B>,
- each character represents 2 bits across by 4 bits down.
- With the 1x2 mode you can see the individual bits, so it's useful for
- previewing small bitmaps on a non-graphics terminal.
- The 2x4 mode lets you display larger bitmaps on a standard 80-column display,
- but it obscures bit-level details.
- 2x4 mode is also good for displaying
- graymaps - ``pnmscale -width 158 | pgmnorm | pgmtopbm -thresh''
- should give good results.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988, 1992 by Jef Poskanzer.
- pbmtoatk126 September 1991
- pbmtoatk - convert portable bitmap to Andrew Toolkit raster object
- SYNOPSIS
- <B>pbmtoatk</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a Andrew Toolkit raster object as output.
- SEE ALSO
- atktopbm(1), pbm(5)
- AUTHOR
- ©1991 by Bill Janssen.
- pbmtobg116 May 1989
- pbmtobg - convert a portable bitmap into BitGraph graphics
- SYNOPSIS
- <B>pbmtobg</B>
- [<I>rasterop</I>]
- [<I>x</I>
- <I>y</I>]
- <I>pbmfile</I>
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces BBN BitGraph terminal Display Pixel Data (DPD) sequence as output.
- The rasterop can be specified on the command line. If this is omitted, 3
- (replace) will be used. A position in (x,y) coordinates can also be
- specified. If both are given, the rasterop comes first. The portable bitmap
- is always taken from the standard input.
- Note that there is no bgtopbm tool.
- SEE ALSO
- pbm(5)
- AUTHOR
- Copyright 1989 by Mike Parker.
- pbmtocmuwm115 April 1989
- pbmtocmuwm - convert a portable bitmap into a CMU window manager bitmap
- SYNOPSIS
- <B>pbmtocmuwm</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a CMU window manager bitmap as output.
- SEE ALSO
- cmuwmtopbm(1), pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- pbmtoepsi11992
- pbmtoepsi - convert a portable bitmap into an encapsulated PostScript
- style preview bitmap
- SYNOPSIS
- <B>pbmtoepsi</B>
- [<B>-bbonly</B>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produce an encapsulated Postscript style bitmap as output. The output
- is not a stand alone postscript file, it is only a preview bitmap,
- which can be included in an encapsulated PostScript file.
- Note that there is no epsitopbm tool - this transformation is one way.
- This utility is a part of the pstoepsi tool by Doug Crabill
- (dgc@cs.purdue.edu).
- OPTIONS
- STYLE="" SRC="img15.png"
- ALT="\begin{TPlist}{{\bf -bbonly}}
- \item[{{\bf -bbonly}}]
- Only create a boundary box, don't fill it with the image.
- \end{TPlist}">
- SEE ALSO
- pbm(5), pnmtops(1), psidtopgm(1)
- AUTHOR
- ©1988 Jef Poskanzer
- modified by Doug Crabill 1992.
- pbmtoepson14 January 1991
- pbmtoepson - convert a portable bitmap into Epson printer graphics
- SYNOPSIS
- <B>pbmtoepson</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a file of Epson printer graphics as output.
- Note that there is no epsontopbm tool - this transformation is one way.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1991 by John Tiller (tiller@galois.msfc.nasa.gov) and Jef Poskanzer.
- pbmtog3102 October 1989
- pbmtog3 - convert a portable bitmap into a Group 3 fax file
- SYNOPSIS
- <B>pbmtog3</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as output.
- Produces a Group 3 fax file as input.
- REFERENCES
- The standard for Group 3 fax is defined in CCITT Recommendation T.4.
- Probably.
- SEE ALSO
- g3topbm(1), pbm(5)
- AUTHOR
- ©1989 by Paul Haeberli (paul@manray.sgi.com).
- pbmtogem111 March 1990
- pbmtogem - convert a portable bitmap into a GEM .img file
- SYNOPSIS
- <B>pbmtogem</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a GEM .img file as output.
- It does not support compression of the data.
- SEE ALSO
- gemtopbm(1), pbm(5)
- AUTHOR
- ©1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.
- pbmtogo124 November 1989
- pbmtogo - convert a portable bitmap into compressed GraphOn graphics
- SYNOPSIS
- <B>pbmtogo</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces 2D compressed GraphOn graphics as output.
- Be sure to set up your GraphOn with the following modes: 8 bits / no parity;
- obeys no XON/XOFF; NULs are accepted. These are all on the Comm menu.
- Also, remember to turn off tty post processing.
- Note that there is no gotopbm tool.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988, 1989 by Jef Poskanzer, Michael Haberler, and Bo Thide'.
- pbmtoicon131 August 1988
- pbmtoicon - convert a portable bitmap into a Sun icon
- SYNOPSIS
- <B>pbmtoicon</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a Sun icon as output.
- SEE ALSO
- icontopbm(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmtolj129 August 1988
- pbmtolj - convert a portable bitmap into HP LaserJet format
- SYNOPSIS
- <B>pbmtolj</B>
- [<B>-resolution</B>
- <I>N</I>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces HP LaserJet data as output.
- Note that there is no ljtopbm tool.
- OPTIONS
- STYLE="" SRC="img16.png"
- ALT="\begin{TPlist}{{\bf -resolution}}
- \item[{{\bf -resolution}}]
- Specifies the resol...
- ...e, in dpi.
- Typical values are 75, 100, 150, 300.
- The default is 75.
- \end{TPlist}">
- All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer and Michael Haberler.
- pbmtoln0317 May 1993
- pbmtoln03 - convert protable bitmap to DEC LN03+ Sixel output
- SYNOPSIS
- <B>pbmtoln03</B>
- [<B>-rltbf</B>]
- <I>pbmfile</I>
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a DEC LN03+ Sixel output file.
- OPTIONS
- STYLE="" SRC="img17.png"
- ALT="\begin{TPlist}{{\bf -l nn}}
- \item[{{\bf -l nn}}]
- Use \lq\lq nn'' as value for left ma...
- ...[{{\bf -f nn}}]
- Use \lq\lq nn'' as value for form length (default 3400).
- \end{TPlist}">
- SEE ALSO
- pbm(5)
- AUTHOR
- Tim Cook, 26 Feb 1992
- pbmtolps12 Dec 1990
- pbmtolps - convert portable bitmap to PostScript
- SYNOPSIS
- pbmtolps [ -dpi n ] [ pbmfile ]
- DESCRIPTION
- Reads a portable bitmap as input, and outputs PostScript.
- The output Postscript uses lines instead of the image operator to
- generate a (device dependent) picture which will be imaged
- much faster.
- The Postscript path length is constrained to be less that 1000
- points so that no limits are overrun on the Apple Laserwriter
- and (presumably) no other printers.
- SEE ALSO
- pgmtops(1), ppmtops(1), pbm(5)
- AUTHOR
- ©George Phillips (phillips@cs.ubc.ca).
- pbmtomacp131 August 1988
- pbmtomacp - convert a portable bitmap into a MacPaint file
- SYNOPSIS
- <B>pbmtomacp</B>
- [<B>-l</B>
- <I>left</I>]
- [<B>-r</B>
- <I>right</I>]
- [<B>-b</B>
- <I>bottom</I>]
- [<B>-t</B>
- <I>top</I>]
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- If no input-file is given, standard input is assumed.
- Produces a MacPaint file as output.
- The generated file is only the data fork of a picture.
- You will need a program such as
- <I>mcvert</I>
- to generate a Macbinary or a BinHex file that contains the necessary
- information to identify the file as a PNTG file to MacOS.
- OPTIONS
- Left, right, bottom & top let you define a square into the pbm file,
- that must be converted.
- Default is the whole file.
- If the file is too large for a MacPaint-file, the bitmap is cut to fit
- from ( left, top ).
- The source code contains comments in a language other than English.
- SEE ALSO
- ppmtopict(1), macptopbm(1), pbm(5), mcvert(1)
- AUTHOR
- ©1988 by Douwe van der Schaaf (…!mcvax!uvapsy!vdschaaf).
- pbmtomgr124 January 1989
- pbmtomgr - convert a portable bitmap into a MGR bitmap
- SYNOPSIS
- <B>pbmtomgr</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a MGR bitmap as output.
- SEE ALSO
- mgrtopbm(1), pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- pbmtopgm12 Dec 1990
- pbmtopgm - convert portable bitmap to portable graymap by averaging areas
- SYNOPSIS
- pbmtopgm <width> <height> [pbmfile]
- DESCRIPTION
- Reads a portable bitmap as input. Outputs a portable graymap created by
- averaging the number of pixels within a sample area of
- <I>width </I>by <I>height </I>around each point. Pbmtopgm is similar to a
- special case of ppmconvol. A ppmsmooth step may be needed after pbmtopgm.
- Pbmtopgm has the effect of anti-aliasing bitmaps which contain distinct
- line features.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1990 by Angus Duggan.
- ©1989 by Jef Poskanzer.
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- NOTES
- Pbmtopgm works best with odd sample width and heights.
- pbmtopi3111 March 1990
- pbmtopi3 - convert a portable bitmap into an Atari Degas .pi3 file
- SYNOPSIS
- <B>pbmtopi3</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces an Atari Degas .pi3 file as output.
- SEE ALSO
- pi3topbm(1), pbm(5), ppmtopi1(1), pi1toppm(1)
- AUTHOR
- ©1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.
- pbmtopk16 August 1990
- pbmtopk - convert a portable bitmap into a packed (PK) format font
- SYNOPSIS
- pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize] [-p num param...]
- [-C codingscheme] [-F family] [-f optfile] [-c num]
- [-W width] [-H height] [-D depth]
- [-I ital] [-h horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile]...
- DESCRIPTION
- Reads portable bitmaps as input, and produces a packed (PK) font file and a
- TFM (TeX font metric) file as output. The resolution parameter indicates the
- resolution of the font, in dots per inch. If the filename ``-'' is used for any
- of the filenames, the standard input stream (or standard output where
- appropriate) will be used.
- OPTIONS
- STYLE="" SRC="img18.png"
- ALT="\begin{IPlist}
- \IPitem{{-s\ designsize}}
- Sets the design size of the font, in Te...
- ...offset of the next character to yoff (in pixels, from the
- top row).
- \end{IPlist}">
- SEE ALSO
- pktopbm(1), pbm(5)
- AUTHOR
- Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk).
- pbmtoplot11 September 1990
- pbmtoplot - convert a portable bitmap into a Unix plot(5) file
- SYNOPSIS
- <B>pbmtoplot</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a Unix
- <I>plot</I>
- file.
- Note that there is no plottopbm tool - this transformation is one-way.
- SEE ALSO
- pbm(5), plot(5)
- AUTHOR
- ©1990 by Arthur David Olson.
- pbmtoptx131 August 1988
- pbmtoptx - convert a portable bitmap into Printronix printer graphics
- SYNOPSIS
- <B>pbmtoptx</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a file of Printronix printer graphics as output.
- Note that there is no ptxtopbm tool - this transformation is one way.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmtox10bm131 August 1988
- pbmtox10bm - convert a portable bitmap into an X10 bitmap
- SYNOPSIS
- <B>pbmtox10bm</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces an X10 bitmap as output.
- This older format is maintained for compatibility.
- Note that there is no x10bmtopbm tool, because
- <I>xbmtopbm</I>
- can read both X11 and X10 bitmaps.
- SEE ALSO
- pbmtoxbm(1), xbmtopbm(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmtoxbm131 August 1988
- pbmtoxbm - convert a portable bitmap into an X11 bitmap
- SYNOPSIS
- <B>pbmtoxbm</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces an X11 bitmap as output.
- SEE ALSO
- pbmtox10bm(1), xbmtopbm(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- pbmtoybm106 March 1990
- pgmtoybm - convert a portable bitmap into a Bennet Yee ``face'' file
- SYNOPSIS
- <B>pbmtoybm</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces as output a file acceptable to the
- <I>face</I>
- <I>xbm</I>
- programs by Bennet Yee (bsy+@cs.cmu.edu).
- SEE ALSO
- ybmtopbm(1), pbm(5), face(1), face(5), xbm(1)
- AUTHOR
- ©1991 by Jamie Zawinski and Jef Poskanzer.
- pbmtozincl02 November 1990
- pbmtozinc - convert a portable bitmap into a Zinc bitmap
- SYNOPSIS
- <B>pbmtozinc</B>
- [<I>pbmfile</I>]
- DESCRIPTION
- Reads a portable bitmap as input.
- Produces a bitmap in the format used by the Zinc Interface Library
- (ZIL) Version 1.0 as output.
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1988 by James Darrell McCauley (jdm5548@diamond.tamu.edu)
- and Jef Poskanzer.
- pbmupc114 March 1989
- pbmupc - create a Universal Product Code bitmap
- SYNOPSIS
- <B>pbmupc</B>
- [<B>-s1</B>|<B>-s2</B>]
- <I>type manufac product</I>
- DESCRIPTION
- Generates a Universal Product Code symbol.
- The three arguments are: a one digit product type, a five digit
- manufacturer code, and a five digit product code.
- For example, ``0 72890 00011'' is the code for Heineken.
- As presently configured,
- <I>pbmupc</I>
- produces a bitmap 230 bits wide and 175 bits high.
- The size can be altered by changing the defines at the beginning of
- the program, or by running the output through
- <I>pnmenlarge</I>
- <I>pnmscale</I>.
- OPTIONS
- <B>-s1</B>
- <B>-s2</B>
- flags select the style of UPC to generate.
- The default,
- <B>-s1</B>,
- looks more or less like this:
- ||||||||||||||||
- ||||||||||||||||
- ||||||||||||||||
- ||||||||||||||||
- 0||12345||67890||5
- The other style,
- <B>-s2</B>,
- puts the product type digit higher up, and
- doesn't display the checksum digit:
- ||||||||||||||||
- ||||||||||||||||
- 0||||||||||||||||
- ||||||||||||||||
- ||12345||67890||
- SEE ALSO
- pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- pcxtoppm19 April 1990
- pcxtoppm - convert a PCX file into a portable pixmap
- SYNOPSIS
- <B>pcxtoppm</B>
- [<I>pcxfile</I>]
- DESCRIPTION
- Reads a PCX file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- ppmtopcx(1), ppm(5)
- AUTHOR
- ©1990 by Michael Davidson.
- pgm512 November 1991
- pgm - portable graymap file format
- DESCRIPTION
- The portable graymap format is a lowest common denominator grayscale
- file format.
- The definition is as follows:
- STYLE="" SRC="img19.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- A \lq\lq magic number'' for identifying the file type.
- A ...
- ...omments).
- \IPitem{{-}}
- No line should be longer than 70 characters.
- \end{IPlist}">
- Here is an example of a small graymap in this format:
- # feep.pgm
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0
- 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0
- 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0
- 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0
- 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- Programs that read this format should be as lenient as possible,
- accepting anything that looks remotely like a graymap.
- There is also a variant on the format, available
- by setting the RAWBITS option at compile time. This variant is
- different in the following ways:
- STYLE="" SRC="img20.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- The \lq\lq magic number'' is \lq\lq P5'' instead of \lq\lq P2''.
- \I...
- ...{-}}
- The files are smaller and many times faster to read and write.
- \end{IPlist}">
- Note that this raw format can only be used for maxvals less than
- or equal to 255.
- If you use the
- <I>pgm</I>
- library and try to write a file with a larger maxval,
- it will automatically fall back on the slower but more general plain
- format.
- SEE ALSO
- fitstopgm(1), fstopgm(1), hipstopgm(1), lispmtopgm(1), psidtopgm(1),
- rawtopgm(1),
- pgmbentley(1), pgmcrater(1), pgmedge(1), pgmenhance(1), pgmhist(1), pgmnorm(1),
- pgmoil(1), pgmramp(1), pgmtexture(1),
- pgmtofits(1), pgmtofs(1), pgmtolispm(1), pgmtopbm(1),
- pnm(5), pbm(5), ppm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- pgmbentley111 January 1991
- pgmbentley - Bentleyize a portable graymap
- SYNOPSIS
- <B>pgmbentley</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Performs The Bentley Effect, and writes a portable graymap as output.
- The Bentley Effect is described in ``Beyond Photography'' by Holzmann,
- chapter 4, photo 4.
- It's a vertical smearing based on brightness.
- SEE ALSO
- pgmoil(1), ppmrelief(1), pgm(5)
- AUTHOR
- ©1990 by Wilson Bent (whb@hoh-2.att.com).
- pgmcrater115 October 1991
- pgmcrater - create cratered terrain by fractal forgery
- SYNOPSIS
- <DIV class="LEFT"><B>pgmcrater</B>
- 'ti 15
- [<B>-number</B>
- <I>n</I>]
- [<B>-height</B>|<B>-ysize</B>
- <I>s</I>]
- [<B>-width</B>|<B>-xsize</B>
- <I>s</I>]
- [<B>-gamma</B>
- <I>g</I>]
- DESCRIPTION
- <B>pgmcrater</B>
- creates a portable graymap which mimics cratered terrain. The graymap
- is created by simulating the impact of a given number of craters with
- random position and size, then rendering the resulting terrain
- elevations based on a light source shining from one side of the
- screen. The size distribution of the craters is based on a power law
- which results in many more small craters than large ones. The number
- of craters of a given size varies as the reciprocal of the area as
- described on pages 31 and 32 of Peitgen and Saupe[1]; cratered bodies
- in the Solar System are observed to obey this relationship. The
- formula used to obtain crater radii governed by this law from a
- uniformly distributed pseudorandom sequence was developed by Rudy
- Rucker.
- </DIV>
- <DIV class="LEFT">High resolution images with large numbers of craters often benefit
- from being piped through
- <B>pnmsmooth</B>.
- The averaging performed by this process eliminates some of the jagged
- pixels and lends a mellow ``telescopic image'' feel to the overall
- picture.
- OPTIONS
- STYLE="" SRC="img21.png"
- ALT="\begin{TPlist}{{\bf -number}{\it\ n}
- \item[{{\bf -number}{\it\ n}
- Causes
- {\...
- ...st, while
- values less than 1 darken the image, increasing contrast.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- <B>-gamma</B>
- option isn't really necessary since you can achieve the same
- effect by piping the output from
- <B>pgmcrater</B>
- through
- <B>pnmgamma</B>.
- However,
- <B>pgmcrater</B>
- performs an internal gamma map anyway in the process of rendering the
- elevation array into a graymap, so there's no additional overhead in
- allowing a user-specified gamma.
- </DIV>
- <DIV class="LEFT">Real craters have two distinct morphologies.
- <B>pgmcrater</B>
- simulates only small craters, which are hemispherical in shape
- (regardless of the incidence angle of the impacting body, as long as the
- velocity is sufficiently high). Large craters, such as Copernicus and
- Tycho on the Moon, have a ``walled plain'' shape with a cross-section more
- like:
- _____/ ____________/____________/ _____
- Larger craters should really use this profile, including the central
- peak, and totally obliterate the pre-existing terrain.
- SEE ALSO
- <B>pgm</B>(5),
- <B>pnmgamma</B>(1),
- <B>pnmsmooth</B>(1)
- STYLE="" SRC="img22.png"
- ALT="\begin{TPlist}{[1]}
- \item[{[1]}]
- Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images,
- New York: Springer Verlag, 1988.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">AUTHOR
- John Walker
- Autodesk SA
- Avenue des Champs-Montants 14b
- CH-2074 MARIN
- Suisse/Schweiz/Svizzera/Svizra/Switzerland
- STYLE="" SRC="img23.png"
- ALT="\begin{TPlist}{Usenet:}
- \item[{Usenet:}]
- kelvin@Autodesk.com
- \item[{Fax:}]
- 038/33 88 15
- \item[{Voice:}]
- 038/33 76 33
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- without any conditions or restrictions. This software is provided ``as
- is'' without express or implied warranty.
- </DIV>
- <DIV class="LEFT"><B>PLUGWARE!</B>
- If you like this kind of stuff, you may also enjoy ``James Gleick's
- Chaos–The Software'' for MS-DOS, available for $59.95 from your
- local software store or directly from Autodesk, Inc., Attn: Science
- Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone:
- (800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext
- 4886. Fax: (415) 289-4718. ``Chaos–The Software'' includes a more
- comprehensive fractal forgery generator which creates
- three-dimensional landscapes as well as clouds and planets, plus five
- more modules which explore other aspects of Chaos. The user guide of
- more than 200 pages includes an introduction by James Gleick and
- detailed explanations by Rudy Rucker of the mathematics and algorithms
- used by each program.
- </DIV>
- <DIV class="LEFT">
- pgmedge104 February 1990
- </DIV>
- <DIV class="LEFT">NAME
- pgmedge - edge-detect a portable graymap
- SYNOPSIS
- <B>pgmedge</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Outlines the edges, and writes a portable graymap as output.
- Piping the result through
- <B>pgmtopbm -threshold</B>
- and playing with the
- threshold value will give a bitmap of the edges.
- </DIV>
- <DIV class="LEFT">The edge detection technique used is to take the Pythagorean sum of
- two Sobel gradient operators at 90 degrees to each other.
- For more details see ``Digital Image Processing'' by Gonzalez and Wintz,
- chapter 7.
- SEE ALSO
- pgmenhance(1), pgmtopbm(1), pgm(5), pbm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmenhance113 January 1989
- </DIV>
- <DIV class="LEFT">NAME
- pgmenhance - edge-enhance a portable graymap
- SYNOPSIS
- <B>pgmenhance</B>
- [<I>-N</I>]
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Enhances the edges, and writes a portable graymap as output.
- </DIV>
- <DIV class="LEFT">The edge enhancing technique is taken from Philip R. Thompson's ``xim''
- program, which in turn took it from section 6 of ``Digital Halftones by
- Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4,
- October 1987, which in turn got it from two 1976 papers by J. F. Jarvis
- <I>et. al.</I>
- OPTIONS
- </DIV>
- <DIV class="LEFT">The optional
- <I>-N</I>
- flag should be a digit from 1 to 9.
- 1 is the lowest level of enhancement, 9 is the highest,
- The default is 9.
- SEE ALSO
- pgmedge(1), pgm(5), pbm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmhist128 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pgmhist - print a histogram of the values in a portable graymap
- SYNOPSIS
- <B>pgmhist</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Prints a histogram of the gray values.
- SEE ALSO
- pgmnorm(1), pgm(5), ppmhist(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmnoise116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- pgmnoise - create a graymap made up of white noise
- SYNOPSIS
- <B>pgmnoise</B>
- <I>width height</I>
- DESCRIPTION
- Creates a portable graymap that is made up of random pixels with
- gray values in the range of 0 to PGM_MAXMAXVAL (depends on the compilation,
- either 255 or 65535). The graymap has a size of width * height pixels.
- SEE ALSO
- pgm(5)
- AUTHOR
- ©1993 by Frank Neumann.
- </DIV>
- <DIV class="LEFT">
- pgmnorm128 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pgmnorm - normalize the contrast in a portable graymap
- SYNOPSIS
- <B>pgmnorm</B>
- [<B>-bpercent</B>
- <I>N</I>
- <B>-bvalue</B>
- <I>N</I>]
- [<B>-wpercent</B>
- <I>N</I>
- <B>-wvalue</B>
- <I>N</I>]
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Normalizes the contrast by forcing the lightest pixels to white, the
- darkest pixels to black, and linearly rescaling the ones in between;
- and produces a portable graymap as output.
- OPTIONS
- </DIV>
- <DIV class="LEFT">By default, the darkest 2 percent of all pixels are mapped to black, and
- the lightest 1 percent are mapped to white.
- You can override these percentages by using the
- <B>-bpercent</B>
- <B>-wpercent</B>
- flags,
- or you can specify the exact pixel values to be mapped by using the
- <B>-bvalue</B>
- <B>-wvalue</B>
- flags.
- Appropriate numbers for the flags can be gotten from the
- <I>pgmhist</I>
- tool.
- If you just want to enhance the contrast, then choose values at elbows in the
- histogram; <I>e.g.</I>, if value 29 represents 3% of the image but value 30
- represents 20%, choose 30 for
- <I>bvalue</I>.
- If you want to lighten the
- image, then set
- <I>bvalue</I>
- to 0 and just fiddle with
- <I>wvalue</I>;
- similarly, to darken the image, set
- <I>wvalue</I>
- to maxval and play with
- <I>bvalue</I>.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pgmhist(1), pgm(5)
- AUTHOR
- Partially based on the fbnorm filter in Michael Mauldin's ``Fuzzy
- Pixmap''
- package.
- </DIV>
- <DIV class="LEFT">©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmoil111 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pgmoil - turn a portable graymap into an oil painting
- SYNOPSIS
- <B>pgmoil</B>
- [<B>-n</B>
- <I>N</I>]
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Does an ``oil transfer'', and writes a portable graymap as output.
- </DIV>
- <DIV class="LEFT">The oil transfer is described in ``Beyond Photography'' by Holzmann,
- chapter 4, photo 7.
- It's a sort of localized smearing.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The optional
- <B>-n</B>
- flag controls the size of the area smeared. The default value is 3.
- Takes a long time to run.
- SEE ALSO
- pgmbentley(1), ppmrelief(1), pgm(5)
- AUTHOR
- ©1990 by Wilson Bent (whb@hoh-2.att.com).
- </DIV>
- <DIV class="LEFT">
- pgmramp124 November 1989
- </DIV>
- <DIV class="LEFT">NAME
- pgmramp - generate a grayscale ramp
- SYNOPSIS
- <B>pgmramp</B>
- <B>-lr</B>|<B>-tb</B>
- <B>-rectangle</B>|<B>-ellipse</B>
- <I>width height</I>
- DESCRIPTION
- Generates a graymap of the specified size containing a black-to-white ramp.
- These ramps are useful for multiplying with other images, using the
- <I>pnmarith</I>
- tool.
- OPTIONS
- STYLE="" SRC="img24.png"
- ALT="\begin{TPlist}{{\bf -lr}}
- \item[{{\bf -lr}}]
- A left to right ramp.
- \item[{{\bf -...
- ...}}]
- A rectangular ramp.
- \item[{{\bf -ellipse}}]
- An elliptical ramp.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmarith(1), pgm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmtexture122 Aug 1991
- </DIV>
- <DIV class="LEFT">NAME
- pgmtexture - calculate textural features on a portable graymap
- SYNOPSIS
- <B>pgmtexture</B>
- [<B>-d</B>
- <I>d</I>]
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input. Calculates textural features
- based on spatial dependence matrices at 0, 45, 90, and 135 degrees for
- a distance
- <I>d</I>
- (default = 1).
- Textural features include:
- STYLE="" SRC="img25.png"
- ALT="\begin{IPlist}
- \IPitem{{}}
- (1) Angular Second Moment,
- (2) Contrast,
- (3...
- ...ures of Correlation, and
- (14) Maximal Correlation Coefficient.
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">Algorithm taken from:
- Haralick, R.M., K. Shanmugam, and I. Dinstein. 1973. Textural features
- for image classification.
- <I>IEEE Transactions on Systems, Man,</I>
- <I>and Cybertinetics,</I>
- SMC-3(6):610-621.
- The program can run incredibly slow for large images (larger than 64 x 64)
- and command line options are limited.
- The method for finding (14) the maximal correlation coefficient, which
- requires finding the second largest eigenvalue of a matrix Q, does not
- always converge.
- REFERENCES
- <I>IEEE Transactions on Systems, Man,</I>
- <I>and Cybertinetics,</I>
- SMC-3(6):610-621.
- SEE ALSO
- pgm(5), pnmcut(1)
- AUTHOR
- ©1991 by Texas Agricultural Experiment Station, employer for
- hire of James Darrell McCauley.
- </DIV>
- <DIV class="LEFT">
- pgmtofits120 September 1989
- </DIV>
- <DIV class="LEFT">NAME
- pgmtofits - convert a portable graymap into FITS format
- SYNOPSIS
- <B>pgmtofits</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Produces a FITS file as output.
- </DIV>
- <DIV class="LEFT">FITS stands for Flexible Image Transport System. A full description
- can be found in Astronomy & Astrophysics Supplement Series 44 (1981),
- page 363.
- SEE ALSO
- fitstopgm(1), pgm(5)
- AUTHOR
- ©1989 by Wilson H. Bent (whb@hoh-2.att.com).
- </DIV>
- <DIV class="LEFT">
- pgmtofs118 May 1990
- </DIV>
- <DIV class="LEFT">NAME
- pgmtofs - convert portable graymap to Usenix FaceSaver(tm) format
- SYNOPSIS
- <B>pgmtofs</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Produces Usenix FaceSaver(tm) format as output.
- </DIV>
- <DIV class="LEFT">FaceSaver is a registered trademark of Metron Computerware Ltd. of
- Oakland, CA.
- SEE ALSO
- fstopgm(1), pgm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmtolispm106 March 1990
- </DIV>
- <DIV class="LEFT">NAME
- pgmtolispm - convert a portable graymap into Lisp Machine format
- SYNOPSIS
- <B>pgmtolispm</B>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Produces a Lisp Machine bitmap as output.
- </DIV>
- <DIV class="LEFT">This is the file format read by the tv:read-bit-array-file function on
- TI Explorer and Symbolics lisp machines.
- </DIV>
- <DIV class="LEFT">Given a pgm (instead of a pbm) a multi-plane image will be output.
- This is probably not useful unless you have a color lisp machine.
- </DIV>
- <DIV class="LEFT">Multi-plane bitmaps on lisp machines are color; but the lispm image file
- format does not include a color map, so we must treat it as a graymap
- instead. This is unfortunate.
- SEE ALSO
- lispmtopgm(1), pgm(5)
- Output width is always rounded up to the nearest multiple of 32; this might
- not always be what you want, but it probably is (arrays which are not
- modulo 32 cannot be passed to the Lispm BITBLT function, and thus cannot
- easily be displayed on the screen).
- </DIV>
- <DIV class="LEFT">No color.
- AUTHOR
- ©1991 by Jamie Zawinski and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmtopbm126 July 1988
- </DIV>
- <DIV class="LEFT">NAME
- pgmtopbm - convert a portable graymap into a portable bitmap
- SYNOPSIS
- <B>pgmtopbm</B>
- [<B>-floyd</B>|<B>-fs</B>|<B>-threshold</B>
- |<B>-dither8</B>|<B>-d8</B>|<B>-cluster3</B>
- |<B>-c3</B>|<B>-cluster4</B>|<B>-c4</B>
- |<B>-cluster8</B>|<B>-c8</B>]
- [<B>-value</B>
- <I>val</I>]
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Produces a portable bitmap as output.
- </DIV>
- <DIV class="LEFT">Note that there is no pbmtopgm converter, because any pgm program can
- read pbm files automagically.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The default quantization method is boustrophedonic Floyd-Steinberg error
- diffusion
- (<B>-floyd</B>
- <B>-fs</B>).
- Also available are simple thresholding
- (<B>-threshold</B>);
- Bayer's ordered dither
- (<B>-dither8</B>)
- with a 16x16 matrix; and three different sizes of 45-degree clustered-dot dither
- (<B>-cluster3</B>,
- <B>-cluster4</B>,
- <B>-cluster8</B>).
- </DIV>
- <DIV class="LEFT">Floyd-Steinberg will almost always give the best looking results; however,
- looking good is not always what you want.
- For instance, thresholding can be used in a pipeline with the
- <I>pnmconvol</I>
- tool, for tasks like edge and peak detection.
- And clustered-dot dithering gives a newspaper-ish look, a useful special effect.
- </DIV>
- <DIV class="LEFT">The
- <B>-value</B>
- flag alters the thresholding value for Floyd-Steinberg and
- simple thresholding.
- It should be a real number between 0 and 1.
- Above 0.5 means darker images; below 0.5 means lighter.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- The only reference you need for this stuff is ``Digital Halftoning'' by
- Robert Ulichney, MIT Press, ISBN 0–262–21009–6.
- SEE ALSO
- pbmreduce(1), pgm(5), pbm(5), pnmconvol(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pgmtoppm111 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pgmtoppm - colorize a portable graymap into a portable pixmap
- SYNOPSIS
- <B>pgmtoppm</B>
- <I>colorspec</I>
- [<I>pgmfile</I>]
- <B>pgmtoppm</B>
- <I>colorspec1</I><B>-</B><I>colorspec2</I>
- [<I>pgmfile</I>]
- <B>pgmtoppm -map</B>
- <I>mapfile</I>
- [<I>pgmfile</I>]
- DESCRIPTION
- Reads a portable graymap as input.
- Colorizes it by multiplying the the gray values by specified color or colors,
- and produces a portable pixmap as output.
- </DIV>
- <DIV class="LEFT">If only one color is specified, black in the pgm file stays black and
- white in the pgm file turns into the specified color in the ppm file.
- If two colors (separated by a dash) are specified, then black gets mapped
- to the first color and white gets mapped to the second.
- </DIV>
- <DIV class="LEFT">The color can be specified in five ways:
- STYLE="" SRC="img26.png"
- ALT="\begin{TPlist}{o}
- \item[{o}]
- A name, assuming
- that a pointer to an X11-style col...
- ...is style was added before MIT came up with the similar rgbi style.)
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">Also, the
- <B>-map</B>
- flag lets you specify an entire colormap to be used.
- The mapfile is just a
- <I>ppm</I>
- file; it can be any shape, all that matters
- is the colors in it and their order.
- In this case, black gets mapped into the first
- color in the map file, and white gets mapped to the last.
- SEE ALSO
- rgb3toppm(1), ppmtopgm(1), ppmtorgb3(1), ppm(5), pgm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pi1toppm119 July 1990
- </DIV>
- <DIV class="LEFT">NAME
- pi1toppm - convert an Atari Degas .pi1 into a portable pixmap
- SYNOPSIS
- <B>pi1toppm</B>
- [<I>pi1file</I>]
- DESCRIPTION
- Reads an Atari Degas .pi1 file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- ppmtopi1(1), ppm(5), pi3topbm(1), pbmtopi3(1)
- AUTHOR
- ©1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pi3topbm111 March 1990
- </DIV>
- <DIV class="LEFT">NAME
- pi3topbm - convert an Atari Degas .pi3 file into a portable bitmap
- SYNOPSIS
- <B>pi3topbm</B>
- [<I>pi3file</I>]
- DESCRIPTION
- Reads an Atari Degas .pi3 file as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtopi3(1), pbm(5), pi1toppm(1), ppmtopi1(1)
- AUTHOR
- ©1988 by David Beckemeyer (bdt!david) and Diomidis D. Spinellis.
- </DIV>
- <DIV class="LEFT">
- picttoppm129 November 1991
- </DIV>
- <DIV class="LEFT">NAME
- picttoppm - convert a Macintosh PICT file into a portable pixmap
- SYNOPSIS
- <B>picttoppm</B>
- [<B>-verbose</B>]
- [<B>-fullres</B>]
- [<B>-noheader</B>]
- [<I>pictfile</I>]
- DESCRIPTION
- Reads a PICT file (version 1 or 2) and outputs a portable pixmap.
- Useful as the first step in converting a scanned image to something
- that can be displayed on Unix.
- OPTIONS
- STYLE="" SRC="img27.png"
- ALT="\begin{TPlist}{{\bf --fullres}}
- \item[{{\bf --fullres}}]
- Force any images in the...
- ...of information that only
- {\it picttoppm}
- hackers really care about.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">BUGS
- The PICT file format is a general drawing format.
- <I>picttoppm</I>
- only supports a small subset of its operations but is still very useful for
- files produced by scanning software. In particular, text added to a
- scanned image will be silently ignored.
- SEE ALSO
- Inside Macintosh volume 5,
- ppmtopict(1),
- ppm(5)
- AUTHOR
- ©1989 George Phillips (phillips@cs.ubc.ca).
- </DIV>
- <DIV class="LEFT">
- pjtoppm114 July 1991
- </DIV>
- <DIV class="LEFT">NAME
- pjtoppm - convert an HP PaintJet file to a portable pixmap
- SYNOPSIS
- <B>pjtoppm</B>
- [<I>paintjet</I>]
- DESCRIPTION
- Reads an HP PaintJet file as input and converts it into a portable pixmap.
- This was a quick hack to save some trees, and it only handles a small
- subset of the paintjet commands.
- In particular, it will only handle
- enough commands to convert most raster image files.
- REFERENCES
- HP PaintJet XL Color Graphics Printer User's Guide
- SEE ALSO
- ppmtopj(1)
- AUTHOR
- ©1991 by Christos Zoulas.
- </DIV>
- <DIV class="LEFT">
- pktopbm16 August 1990
- </DIV>
- <DIV class="LEFT">NAME
- pktopbm - convert packed (PK) format font into portable bitmap(s)
- SYNOPSIS
- pktopbm pkfile[.pk] [-c num] pbmfile ...
- DESCRIPTION
- Reads a packed (PK) font file as input, and produces portable bitmaps as
- output. If the filename ``-'' is used for any
- of the filenames, the standard input stream (or standard output where
- appropriate) will be used.
- OPTIONS
- STYLE="" SRC="img28.png"
- ALT="\begin{IPlist}
- \IPitem{{-c\ num}}
- Sets the character number of the next bitmap written to num.
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pbmtopk(1), pbm(5)
- AUTHOR
- Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk.
- </DIV>
- <DIV class="LEFT">
- pnm527 September 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnm - portable anymap file format
- DESCRIPTION
- <I>pnm</I>
- programs operate on portable bitmaps, graymaps, and pixmaps, produced by the
- <I>pbm, pgm,</I>
- <I>ppm</I>
- segments. There is no file format associated with
- <I>pnm</I>
- itself.
- SEE ALSO
- anytopnm(1), rasttopnm(1), tifftopnm(1), xwdtopnm(1),
- pnmtops(1), pnmtorast(1), pnmtotiff(1), pnmtoxwd(1),
- pnmarith(1), pnmcat(1), pnmconvol(1), pnmcrop(1), pnmcut(1),
- pnmdepth(1), pnmenlarge(1), pnmfile(1), pnmflip(1), pnmgamma(1),
- pnmindex(1), pnminvert(1), pnmmargin(1), pnmnoraw(1), pnmpaste(1),
- pnmrotate(1), pnmscale(1), pnmshear(1), pnmsmooth(1), pnmtile(1),
- ppm(5), pgm(5), pbm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmarith126 August 1993
- </DIV>
- <DIV class="LEFT">NAME
- pnmarith - perform arithmetic on two portable anymaps
- SYNOPSIS
- <B>pnmarith</B>
- <B>-add</B>|<B>-subtract</B>|<B>-multiply</B>|<B>-difference</B>
- <I>pnmfile1 pnmfile2</I>
- DESCRIPTION
- Reads two portable anymaps as input.
- Performs the specified arithmetic operation,
- and produces a portable anymap as output.
- The two input anymaps must be the same width and height.
- </DIV>
- <DIV class="LEFT">The arithmetic is performed between corresponding pixels in the two
- anymaps, as if maxval was 1.0, black was 0.0, and a linear scale in between.
- Results that fall outside of [0..1) are truncated.
- </DIV>
- <DIV class="LEFT">The operator
- <I>-difference</I>
- calculates the absolute value of
- <I>pnmarith -subtract pnmfile1 pnmfile2,</I>
- <I>i.e.</I>, no truncation is done.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pbmmask(1), pnmpaste(1), pnminvert(1), pnm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer..
- Lightly modified by Marcel Wijkstra (wijkstra@fwi.uva.nl).
- </DIV>
- <DIV class="LEFT">
- pnmcat112 March 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmcat - concatenate portable anymaps
- SYNOPSIS
- <B>pnmcat</B>
- [<B>-white</B>|<B>-black</B>]
- <B>-leftright</B>|<B>-lr</B>
- [<B>-jtop</B>|<B>-jbottom</B>]
- <I>pnmfile pnmfile</I>
- <B>pnmcat</B>
- [<B>-white</B>|<B>-black</B>]
- <B>-topbottom</B>|<B>-tb</B>
- [<B>-jleft</B>|<B>-jright</B>]
- <I>pnmfile pnmfile</I>
- DESCRIPTION
- Reads portable anymaps as input.
- Concatenates them either left to right or top to bottom, and produces a
- portable anymap as output.
- OPTIONS
- </DIV>
- <DIV class="LEFT">If the anymaps are not all the same height (left-right) or width (top-bottom),
- the smaller ones have to be justified with the largest.
- By default, they get centered, but you can specify one side or the other
- with one of the -j* flags.
- <B>-topbottom -jleft</B>
- would stack the anymaps on top of each other, flush with the left edge.
- </DIV>
- <DIV class="LEFT">The
- <B>-white</B>
- <B>-black</B>
- flags specify what color to use to fill in the extra space
- when doing this justification.
- If neither is specified, the program makes a guess.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmcomp121 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmcomp - composite two portable anymap files together
- SYNOPSIS
- <B>pnmcomp</B>
- [<I>-invert</I>]
- [<I>-xoff</I>N<I>]</I>
- [<I>-yoff</I>N<I>]</I>
- [<I>-alpha</I>pgmfile<I>]</I>
- overlay
- [<I>pnm-input</I>]
- [<I>pnm-output</I>]
- DESCRIPTION
- Reads in a portable any map image and put a overlay upon it, with optional
- alpha mask. The
- <I>-alpha pgmfile</I>
- allows you to also add an alpha mask file to the compositing process, the
- range of max and min can be swapped by using the
- <I>-invert</I>
- option.
- <I>-xoff</I>
- <I>-yoff</I>
- arguments can be negative, allowing you to shift the overlay off the
- top corner of the screen.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1992 by David Koblas (koblas@mips.com).
- </DIV>
- <DIV class="LEFT">
- pnmconvol113 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmconvol - general MxN convolution on a portable anymap
- SYNOPSIS
- <B>pnmconvol</B>
- <I>convolutionfile</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads two portable anymaps as input.
- Convolves the second using the first,
- and writes a portable anymap as output.
- </DIV>
- <DIV class="LEFT">Convolution means replacing each pixel with a weighted average of the
- nearby pixels. The weights and the area to average are determined by
- the convolution matrix.
- The unsigned numbers in the convolution file are offset by -maxval/2 to
- make signed numbers, and then normalized, so the actual values in the
- convolution file are only relative.
- </DIV>
- <DIV class="LEFT">Here is a sample convolution file;
- it does a simple average of the nine immediate neighbors, resulting
- in a smoothed image:
- P2
- 3 3
- 18
- 10 10 10
- 10 10 10
- 10 10 10
- </DIV>
- <DIV class="LEFT">To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1.
- The possible range of values is from 0 to 18, and after the offset
- that's -9 to 9. The normalization step makes the range -1 to 1, and
- the values get scaled correspondingly so they become 1/9 - exactly what
- you want.
- The equivalent matrix for 5x5 smoothing would have maxval 50 and be
- filled with 26.
- </DIV>
- <DIV class="LEFT">The convolution file will usually be a graymap,
- so that the same convolution gets applied to each color component.
- However, if you want to use a pixmap and do a different convolution to
- different colors, you can certainly do that.
- SEE ALSO
- pnmsmooth(1), pnm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmcrop125 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmcrop - crop a portable anymap
- SYNOPSIS
- <B>pnmcrop</B>
- [<B>-white</B>|<B>-black</B>]
- [<B>-left</B>]
- [<B>-right</B>]
- [<B>-top</B>]
- [<B>-bottom</B>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Removes edges that are the background color,
- and produces a portable anymap as output.
- OPTIONS
- </DIV>
- <DIV class="LEFT">By default, it makes a guess as to what the background color is.
- You can override the default with the
- <B>-white</B>
- <B>-black</B>
- flags.
- </DIV>
- <DIV class="LEFT">The options
- <B>-left, -right, -top</B>
- <B>-bottom</B>
- restrict cropping to the sides specified. The default is to crop all sides of
- the image.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmcut(1), pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmcut121 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmcut - cut a rectangle out of a portable anymap
- SYNOPSIS
- <B>pnmcut</B>
- <I>x y width height</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Extracts the specified rectangle,
- and produces a portable anymap as output.
- <I>x</I>
- <I>y</I>
- can be negative, in which case they are interpreted
- relative to the right and bottom of the anymap, respectively.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmdepth112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmdepth - change the maxval in a portable anymap
- SYNOPSIS
- <B>pnmdepth</B>
- <I>newmaxval</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Scales all the pixel values, and writes out the image with the new maxval.
- Scaling the colors down to a smaller maxval will result in some loss
- of information.
- </DIV>
- <DIV class="LEFT">Be careful of off-by-one errors when choosing the new maxval.
- For instance, if you want the color values to be five bits wide,
- use a maxval of 31, not 32.
- SEE ALSO
- pnm(5), ppmquant(1), ppmdither(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmenlarge126 February 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmenlarge - read a portable anymap and enlarge it N times
- SYNOPSIS
- <B>pnmenlarge</B>
- <I>N</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Replicates its pixels
- <I>N</I>
- times, and produces a portable anymap as output.
- </DIV>
- <DIV class="LEFT"><I>pnmenlarge</I>
- can only enlarge by integer factors.
- The slower but more general
- <I>pnmscale</I>
- can enlarge or reduce by arbitrary
- factors, and
- <I>pbmreduce</I>
- can reduce by integer factors, but only for bitmaps.
- </DIV>
- <DIV class="LEFT">If you enlarge by a factor of 3 or more, you should probably add a
- <I>pnmsmooth</I>
- step; otherwise, you can see the original pixels in the resulting image.
- SEE ALSO
- pbmreduce(1), pnmscale(1), pnmsmooth(1), pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmfile19 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmfile - describe a portable anymap
- SYNOPSIS
- <B>pnmfile</B>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads one or more portable anymaps as input.
- Writes out short descriptions of the image type, size, etc.
- This is mostly for use in shell scripts, so the format is not
- particularly pretty.
- SEE ALSO
- pnm(5), file(1)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmflip125 July 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmflip - perform one or more flip operations on a portable anymap
- SYNOPSIS
- <B>pnmflip</B>
- [<B>-leftright</B>|<B>-lr</B>]
- [<B>-topbottom</B>|<B>-tb</B>]
- [<B>-transpose</B>|<B>-xy</B>]
- [<B>-rotate90</B>|<B>-r90</B>|<B>-ccw</B>
- [<B>-rotate270</B>|<B>-r270</B>|<B>-cw</B>
- [<B>-rotate180</B>|<B>-r180</B>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Performs one or more flip operations, in the order specified, and
- writes out a portable anymap.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The flip operations available are: left for right
- (<B>-leftright</B>
- <B>-lr</B>);
- top for bottom
- (<B>-topbottom</B>
- <B>-tb</B>);
- and transposition
- (<B>-transpose</B>
- <B>-xy</B>).
- In addition, some canned concatenations are available:
- <B>-rotate90</B>
- <B>-ccw</B>
- is equivalent to
- <B>-transpose</B>
- <B>-topbottom</B>;
- <B>-rotate270</B>
- <B>-cw</B>
- is equivalent to
- <B>-transpose</B>
- <B>-leftright</B>;
- <B>-rotate180</B>
- is equivalent to
- <B>-leftright</B>
- <B>-topbottom</B>.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmrotate(1), pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmgamma112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmgamma - perform gamma correction on a portable anymap
- SYNOPSIS
- <B>pnmgamma</B>
- <I>value</I>
- [<I>pnmfile</I>]
- <B>pnmgamma</B>
- <I>redvalue greenvalue bluevalue</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Performs gamma correction,
- and produces a portable anymap as output.
- </DIV>
- <DIV class="LEFT">The arguments specify what gamma value(s) to use.
- A value of 1.0 leaves the image alone, less than one darkens it,
- and greater than one lightens it.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1991 by Bill Davidson and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnminvert108 August 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnminvert - invert a portable anymap
- SYNOPSIS
- <B>pnminvert</B>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Inverts it black for white and produces a portable anymap as output.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmnlfilt15 February 1993
- </DIV>
- <DIV class="LEFT">NAME
- pnmnlfilt - non-linear filters: smooth, alpha trim mean, optimal
- estimation smoothing, edge enhancement.
- SYNOPSIS
- <B>pnmnlfilt</B>
- alpha
- radius
- [<I>pnmfile</I>]
- DESCRIPTION
- This is something of a swiss army knife filter. It has 3 distinct operating
- modes. In all of the modes each pixel in the image is examined and processed
- according to it and its surrounding pixels values. Rather than using the
- 9 pixels in a 3x3 block, 7 hexagonal area samples are taken, the size of
- the hexagons being controlled by the radius parameter. A radius value of
- 0.3333 means that the 7 hexagons exactly fit into the center pixel (<I>i.e.</I>,
- there will be no filtering effect). A radius value of 1.0 means that
- the 7 hexagons exactly fit a 3x3 pixel array.
- Alpha trimmed mean filter. (0.0 <= alpha <= 0.5)
- </DIV>
- <DIV class="LEFT">The value of the center pixel will be
- replaced by the mean of the 7 hexagon values, but the 7 values are
- sorted by size and the top and bottom alpha portion of the 7 are
- excluded from the mean. This implies that an alpha value of 0.0 gives
- the same sort of output as a normal convolution (<I>i.e.</I>, averaging or
- smoothing filter), where radius will determine the ``strength'' of the
- filter. A good value to start from for subtle filtering is alpha = 0.0, radius = 0.55
- For a more blatant effect, try alpha 0.0 and radius 1.0
- </DIV>
- <DIV class="LEFT">An alpha value of 0.5 will cause the median value of the
- 7 hexagons to be used to replace the center pixel value. This sort
- of filter is good for eliminating ``pop'' or single pixel noise from
- an image without spreading the noise out or smudging features on
- the image. Judicious use of the radius parameter will fine tune the
- filtering. Intermediate values of alpha give effects somewhere
- between smoothing and ``pop'' noise reduction. For subtle filtering
- try starting with values of alpha = 0.4, radius = 0.6 For a more blatant
- effect try alpha = 0.5, radius = 1.0
- Optimal estimation smoothing. (1.0 <= alpha <= 2.0)
- </DIV>
- <DIV class="LEFT">This type of filter applies a smoothing filter adaptively over the image.
- For each pixel the variance of the surrounding hexagon values is calculated,
- and the amount of smoothing is made inversely proportional to it. The idea
- is that if the variance is small then it is due to noise in the image, while
- if the variance is large, it is because of ``wanted'' image features. As usual
- the radius parameter controls the effective radius, but it probably advisable to
- leave the radius between 0.8 and 1.0 for the variance calculation to be meaningful.
- The alpha parameter sets the noise threshold, over which less smoothing will be done.
- This means that small values of alpha will give the most subtle filtering effect,
- while large values will tend to smooth all parts of the image. You could start
- with values like alpha = 1.2, radius = 1.0 and try increasing or decreasing the
- alpha parameter to get the desired effect. This type of filter is best for
- filtering out dithering noise in both bitmap and color images.
- Edge enhancement. (-0.1 >= alpha >= -0.9)
- </DIV>
- <DIV class="LEFT">This is the opposite type of filter to the smoothing filter. It enhances
- edges. The alpha parameter controls the amount of edge enhancement, from
- subtle (-0.1) to blatant (-0.9). The radius parameter controls the effective
- radius as usual, but useful values are between 0.5 and 0.9. Try starting
- with values of alpha = 0.3, radius = 0.8
- Combination use.
- </DIV>
- <DIV class="LEFT">The various modes of
- <B>pnmnlfilt</B>
- can be used one after the other to get the desired result. For instance to
- turn a monochrome dithered image into a grayscale image you could try
- one or two passes of the smoothing filter, followed by a pass of the optimal estimation
- filter, then some subtle edge enhancement. Note that using edge enhancement is
- only likely to be useful after one of the non-linear filters (alpha trimmed mean
- or optimal estimation filter), as edge enhancement is the direct opposite of
- smoothing.
- </DIV>
- <DIV class="LEFT">For reducing color quantization noise in images (<I>i.e.</I>, turning .gif files back into
- 24 bit files) you could try a pass of the optimal estimation filter
- (alpha 1.2, radius 1.0), a pass of the median filter (alpha 0.5, radius 0.55),
- and possibly a pass of the edge enhancement filter.
- Several passes of the optimal estimation filter with declining alpha
- values are more effective than a single pass with a large alpha value.
- As usual, there is a tradeoff between filtering effectiveness and loosing
- detail. Experimentation is encouraged.
- References:
- </DIV>
- <DIV class="LEFT">The alpha-trimmed mean filter is
- based on the description in IEEE CG&A May 1990
- Page 23 by Mark E. Lee and Richard A. Redner,
- and has been enhanced to allow continuous alpha adjustment.
- </DIV>
- <DIV class="LEFT">The optimal estimation filter is taken from an article ``Converting Dithered
- Images Back to Gray Scale'' by Allen Stenger, Dr Dobb's Journal, November
- 1992, and this article references ``Digital Image Enhancement and Noise Filtering by
- Use of Local Statistics'', Jong-Sen Lee, IEEE Transactions on Pattern Analysis and
- Machine Intelligence, March 1980.
- </DIV>
- <DIV class="LEFT">The edge enhancement details are from pgmenhance(1),
- which is taken from Philip R. Thompson's ``xim''
- program, which in turn took it from section 6 of ``Digital Halftones by
- Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4,
- October 1987, which in turn got it from two 1976 papers by J. F. Jarvis
- <I>et. al.</I>
- SEE ALSO
- pgmenhance(1), pnmconvol(1), pnm(5)
- Integers and tables may overflow if PPM_MAXMAXVAL is greater than 255.
- AUTHOR
- Graeme W. Gill graeme@labtam.oz.au
- </DIV>
- <DIV class="LEFT">
- pnmnoraw18 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmnoraw - force a portable anymap into plain format
- SYNOPSIS
- <B>pnmnoraw</B>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Writes it out in plain (non-raw) format.
- This is fairly useless if you haven't defined the PBMPLUS_RAWBITS
- compile-time option.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmpad12 Dec 1990
- </DIV>
- <DIV class="LEFT">NAME
- pnmpad - add borders to portable anymap
- SYNOPSIS
- pnmpad [-white|-black] [-l#] [-r#] [-t#] [-b#] [pnmfile]
- DESCRIPTION
- Reads a portable anymap as input. Outputs a portable anymap with extra
- borders of the sizes specified. The colour of the borders can be set to
- black or white (default black).
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pbmmake(1), pnmpaste(1), pbm(5)
- AUTHOR
- ©1990 by Angus Duggan.
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- </DIV>
- <DIV class="LEFT">
- pnmpaste121 February 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmpaste - paste a rectangle into a portable anymap
- SYNOPSIS
- <B>pnmpaste</B>
- [<B>-replace</B>|<B>-or</B>|<B>-and</B>
- |<B>-xor</B>]
- <I>frompnmfile x y</I>
- [<I>intopnmfile</I>]
- DESCRIPTION
- Reads two portable anymaps as input.
- Inserts the first anymap into the second at the specified location,
- and produces a portable anymap the same size as the second as output.
- If the second anymap is not specified, it is read from stdin.
- <I>x</I>
- <I>y</I>
- can be negative, in which case they are interpreted
- relative to the right and bottom of the anymap, respectively.
- </DIV>
- <DIV class="LEFT">This tool is most useful in combination with
- <I>pnmcut</I>.
- For instance, if you want to edit a small segment of a large
- image, and your image editor cannot edit the
- large image, you can cut out the segment you are interested in,
- edit it, and then paste it back in.
- </DIV>
- <DIV class="LEFT">Another useful companion tool is
- <I>pbmmask</I>.
- </DIV>
- <DIV class="LEFT">The optional flag specifies the operation to use when doing the paste.
- The default is
- <B>-replace</B>.
- The other, logical operations are only allowed if both input images
- are bitmaps.
- These operations act as if white is TRUE and black is FALSE.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmcut(1), pnminvert(1), pnmarith(1), pnm(5), pbmmask(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmrotate112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmrotate - rotate a portable anymap by some angle
- SYNOPSIS
- <B>pnmrotate</B>
- [<B>-noantialias</B>]
- <I>angle</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Rotates it by the specified angle
- and produces a portable anymap as output.
- If the input file is in color, the output will be too,
- otherwise it will be grayscale.
- The angle is in degrees (floating point), measured counter-clockwise.
- It can be negative, but it should be between -90 and 90.
- Also, for rotations greater than 45 degrees you may get better results
- if you first use
- <I>pnmflip</I>
- to do a 90 degree rotation and then
- <I>pnmrotate</I>
- less than 45 degrees back the other direction
- </DIV>
- <DIV class="LEFT">The rotation algorithm is Alan Paeth's three-shear method.
- Each shear is implemented by looping over the source pixels and distributing
- fractions to each of the destination pixels.
- This has an ``anti-aliasing'' effect - it avoids jagged edges and similar
- artifacts.
- However, it also means that the original colors or gray levels in the image
- are modified.
- If you need to keep precisely the same set of colors, you can use the
- <B>-noantialias</B>
- flag. This does the shearing by moving pixels without changing their values.
- If you want anti-aliasing and don't care about the precise colors, but
- still need a limited *number* of colors, you can run the result through
- <I>ppmquant</I>.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- ``A Fast Algorithm for General Raster Rotation'' by Alan Paeth,
- Graphics Interface '86, pp. 77-81.
- SEE ALSO
- pnmshear(1), pnmflip(1), pnm(5), ppmquant(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmscale112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmscale - scale a portable anymap
- SYNOPSIS
- <B>pnmscale</B>
- <I>s</I>
- [<I>pnmfile</I>]
- <B>pnmscale</B>
- <B>-xsize</B>|<B>-width</B>|<B>-ysize</B>|
- <B>-height</B>
- <I>s</I>
- [<I>pnmfile</I>]
- <B>pnmscale</B>
- <B>-xscale</B>|<B>-yscale</B>
- <I>s</I>
- [<I>pnmfile</I>]
- <B>pnmscale</B>
- <B>-xscale</B>|<B>-xsize</B>|<B>-width</B>
- <I>s</I>
- <B>-yscale</B>|<B>-ysize</B>|<B>-height</B>
- <I>s</I>
- [<I>pnmfile</I>]
- <B>pnmscale -xysize</B>
- <I>x y</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Scales it by the specified factor or factors and produces a portable
- anymap as output.
- If the input file is in color, the output will be too,
- otherwise it will be grayscale.
- You can both enlarge (scale factor > 1) and reduce (scale factor < 1).
- </DIV>
- <DIV class="LEFT">You can specify one dimension as a pixel size, and the other dimension
- will be scaled correspondingly.
- </DIV>
- <DIV class="LEFT">You can specify one dimension as a scale, and the other dimension
- will not be scaled.
- </DIV>
- <DIV class="LEFT">You can specify different sizes or scales for each axis.
- </DIV>
- <DIV class="LEFT">Or, you can use the special
- <B>-xysize</B>
- flag, which fits the image into
- the specified size without changing the aspect ratio.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- </DIV>
- <DIV class="LEFT">If you enlarge by a factor of 3 or more, you should probably add a
- <I>pnmsmooth</I>
- step; otherwise, you can see the original pixels in the resulting image.
- SEE ALSO
- pbmreduce(1), pnmenlarge(1), pnmsmooth(1), pnm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmshear112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmshear - shear a portable anymap by some angle
- SYNOPSIS
- <B>pnmshear</B>
- [<B>-noantialias</B>]
- <I>angle</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Shears it by the specified angle and produces a portable
- anymap as output.
- If the input file is in color, the output will be too,
- otherwise it will be grayscale.
- The angle is in degrees (floating point), and measures this:
- +——-+ +——-+
- | | |
- | OLD | | NEW
- | | |an
- +——-+ |gle+——-+
- If the angle is negative, it shears the other way:
- +——-+ |-an+——-+
- | | |gl/ /
- | OLD | |e/ NEW /
- | | |/ /
- +——-+ +——-+
- The angle should not get too close to 90 or -90, or the resulting
- anymap will be unreasonably wide.
- </DIV>
- <DIV class="LEFT">The shearing is implemented by looping over the source pixels and distributing
- fractions to each of the destination pixels.
- This has an ``anti-aliasing'' effect - it avoids jagged edges and similar
- artifacts.
- However, it also means that the original colors or gray levels in the image
- are modified.
- If you need to keep precisely the same set of colors, you can use
- <B>-noantialias</B>
- flag. This does the shearing by moving pixels without changing their values.
- If you want anti-aliasing and don't care about the precise colors, but
- still need a limited *number* of colors, you can run the result through
- <I>ppmquant</I>.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmrotate(1), pnmflip(1), pnm(5), ppmquant(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmtile113 May 1989
- </DIV>
- <DIV class="LEFT">NAME
- pnmtile - replicate a portable anymap into a specified size
- SYNOPSIS
- <B>pnmtile</B>
- <I>width height</I>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Replicates it until it is the specified size,
- and produces a portable anymap as output.
- SEE ALSO
- pnm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmtops126 October 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmtops - convert portable anymap to PostScript
- SYNOPSIS
- <B>pnmtops</B>
- [<B>-scale</B>
- <I>s</I>]
- [<B>-turn</B>|<B>-noturn</B>]
- [<B>-rle</B>|<B>-runlength</B>]
- [<B>-dpi</B>
- <I>n</I>]
- [<B>-width</B>
- <I>n</I>]
- [<B>-height</B>
- <I>n</I>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Produces Encapsulated PostScript as output.
- </DIV>
- <DIV class="LEFT">If the input file is in color (PPM), a color PostScript file gets
- written.
- Some PostScript interpreters can't handle color PostScript.
- If you have one of these you will need to run your image through
- <I>ppmtopgm</I>
- first.
- </DIV>
- <DIV class="LEFT">Note that there is no pstopnm
- tool - this transformation is one-way, because a pstopnm tool would
- be a full-fledged PostScript interpreter, which is beyond the scope
- of this package.
- However, see the
- <I>psidtopgm</I>
- tool, which can read grayscale non-runlength PostScript image data.
- Also, if you're willing to install the fairly large GhostScript package,
- it comes with a pstoppm script.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The
- <B>-scale</B>
- flag controls the scale of the result. The default scale is 1,
- which on a 300 dpi printer such as the Apple LaserWriter makes
- the output look about the same size as the input would if it was displayed
- on a typical 72 dpi screen.
- To get one PNM pixel per 300 dpi printer pixel, use ``-scale 0.25''.
- </DIV>
- <DIV class="LEFT">The
- <B>-turn</B>
- <B>-noturn</B>
- flags control whether the image gets turned 90 degrees.
- Normally, if an image is wider than it is tall, it gets turned
- automatically to better fit the page.
- If the
- <B>-turn</B>
- flag is specified, it will be turned no matter what its shape; and if the
- <B>-noturn</B>
- flag is specified, it will
- <I>not</I>
- be turned no matter what its shape.
- </DIV>
- <DIV class="LEFT">The
- <B>-rle</B>
- <B>-runlength</B>
- flag specifies run-length compression. This may save
- time if the host-to-printer link is slow; but normally the printer's processing
- time dominates, so
- <B>-rle</B>
- makes things slower.
- </DIV>
- <DIV class="LEFT">The
- <B>-dpi</B>
- flag lets you specify the dots per inch of your output device.
- The default is 300 dpi.
- In theory PostScript is device-independent and you don't have to
- worry about this, but in practice its raster rendering can have
- unsightly bands if the device pixels and the image pixels aren't
- in sync.
- </DIV>
- <DIV class="LEFT">The
- <B>-width</B>
- <B>-height</B>
- flags let you specify the size of the page.
- The default is 8.5 inches by 11 inches.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnm(5), psidtopgm(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmtorast112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmtorast - convert a portable pixmap into a Sun rasterfile
- SYNOPSIS
- <B>pnmtorast</B>
- [<B>-standard</B>|<B>-rle</B>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a Sun rasterfile as output.
- </DIV>
- <DIV class="LEFT">Color values in Sun rasterfiles are eight bits wide, so
- <I>pnmtorast</I>
- will automatically scale colors to have a maxval of 255.
- An extra
- <I>pnmdepth</I>
- step is not necessary.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The
- <B>-standard</B>
- flag forces the result to be in RT_STANDARD form; the
- <B>-rle</B>
- flag, RT_BYTE_ENCODED, which is smaller but, well, less standard.
- The default is
- <B>-rle</B>.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- rasttopnm(1), pnm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- pnmtosir120 March 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmtosir - convert a portable anymap into a Solitaire format
- SYNOPSIS
- <B>pnmtosir</B>
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Produces a Solitaire Image Recorder format.
- </DIV>
- <DIV class="LEFT">pnmtosir produces an MGI TYPE 17 file for
- <I>pbm</I>
- <I>pgm</I>
- files.
- <I>ppm</I>,
- it writes a MGI TYPE 11 file.
- SEE ALSO
- sirtopnm(1), pnm(5)
- </DIV>
- <DIV class="LEFT">AUTHOR
- ©1991 by Marvin Landis.
- </DIV>
- <DIV class="LEFT">
- pnmtotiff113 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmtotiff - convert a a portable anymap into a TIFF file
- SYNOPSIS
- <B>pnmtotiff</B>
- [<B>-none</B>|<B>-packbits</B>|
- <B>-lzw</B>|<B>-g3</B>|<B>-g4</B>]
- [<B>-2d</B>]
- [<B>-fill</B>]
- [<B>-predictor</B>
- <I>n</I>]
- [<B>-msb2lsb</B>|<B>-lsb2msb</B>]
- [<B>-rowsperstrip</B>
- <I>n</I>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Produces a TIFF file as output.
- OPTIONS
- </DIV>
- <DIV class="LEFT">By default,
- <I>pnmtotiff</I>
- creates a TIFF file with LZW compression.
- This is your best bet most of the time.
- However, some TIFF readers can't deal with it.
- If you want to try another compression scheme or tweak some of the
- other even more obscure output options, there are a number of
- flags to play with.
- </DIV>
- <DIV class="LEFT">The
- <B>-none</B>,
- <B>-packbits</B>,
- <B>-lzw</B>,
- <B>-g3</B>,
- <B>-g4</B>
- options are used to override the default and set the compression
- scheme used in creating the output file. The CCITT Group 3 and Group
- 4 compression algorithms can only be used with bilevel data. The
- <B>-2d</B>
- <B>-fill</B>
- options are meaningful only with Group 3 compression:
- <B>-2d</B>
- requests 2-dimensional encoding, while
- <B>-fill</B>
- requests that each encoded scanline be zero-filled to a byte boundry.
- <B>-predictor</B>
- option is only meaningful with LZW compression: a predictor value of 2
- causes each scanline of the output image to undergo horizontal
- differencing before it is encoded; a value of 1 forces each scanline
- to be encoded without differencing.
- By default,
- <I>pnmtotiff</I>
- creates a TIFF file with msb-to-lsb fill order.
- <B>-msb2lsb</B>
- <B>-lsb2msb</B>
- options are used to override the default and set the fill order used
- in creating the file.
- <B>-rowsperstrip</B>
- option can be used to set the number of rows (scanlines) in each
- strip of data in the output file. By default, the output file has
- the number of rows per strip set to a value that will ensure each
- strip is no more than 8 kilobytes long.
- This program is not self-contained. To use it you must fetch the
- TIFF Software package listed in the OTHER.SYSTEMS file and configure
- PBMPLUS to use libtiff. See PBMPLUS's Makefile for details on this
- configuration.
- SEE ALSO
- tifftopnm(1), pnm(5)
- AUTHOR
- Derived by Jef Poskanzer from ras2tiff.c, which is
- ©1990 by Sun Microsystems, Inc.
- Author: Patrick J. Naughton (naughton@wind.sun.com).
- </DIV>
- <DIV class="LEFT">
- pnmtoxwd124 September 1991
- </DIV>
- <DIV class="LEFT">NAME
- pnmtoxwd - convert a portable anymap into an X11 window dump
- SYNOPSIS
- <B>pnmtoxwd</B>
- [<B>-pseudodepth</B>
- <I>n</I>]
- [<B>-directcolor</B>]
- [<I>pnmfile</I>]
- DESCRIPTION
- Reads a portable anymap as input.
- Produces an X11 window dump as output.
- This window dump can be displayed using the xwud tool.
- </DIV>
- <DIV class="LEFT">Normally, pnmtoxwd produces a StaticGray dump file for
- <I>pbm</I>
- <I>pgm</I>
- files.
- <I>ppm</I>,
- it writes a PseudoColor dump file if there are up
- to 256 colors in the input, and a DirectColor dump file otherwise.
- <B>-directcolor</B>
- flag can be used to force a DirectColor dump.
- And the
- <B>-pseudodepth</B>
- flag can be used to change the depth of PseudoColor dumps from the default
- of 8 bits / 256 colors.
- SEE ALSO
- xwdtopnm(1), pnm(5), xwud(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppm527 September 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppm - portable pixmap file format
- DESCRIPTION
- The portable pixmap format is a lowest common denominator color image
- file format.
- The definition is as follows:
- STYLE="" SRC="img29.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- A \lq\lq magic number'' for identifying the file type.
- A ...
- ...omments).
- \IPitem{{-}}
- No line should be longer than 70 characters.
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">Here is an example of a small pixmap in this format:
- # feep.ppm
- 0 0 0 0 0 0 0 0 0 15 0 15
- 0 0 0 0 15 7 0 0 0 0 0 0
- 0 0 0 0 0 0 0 15 7 0 0 0
- 15 0 15 0 0 0 0 0 0 0 0 0
- </DIV>
- <DIV class="LEFT">Programs that read this format should be as lenient as possible,
- accepting anything that looks remotely like a pixmap.
- </DIV>
- <DIV class="LEFT">There is also a variant on the format, available
- by setting the RAWBITS option at compile time. This variant is
- different in the following ways:
- STYLE="" SRC="img30.png"
- ALT="\begin{IPlist}
- \IPitem{{-}}
- The \lq\lq magic number'' is \lq\lq P6'' instead of \lq\lq P3''.
- \I...
- ...{-}}
- The files are smaller and many times faster to read and write.
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">Note that this raw format can only be used for maxvals less than
- or equal to 255.
- If you use the
- <I>ppm</I>
- library and try to write a file with a larger maxval,
- it will automatically fall back on the slower but more general plain
- format.
- SEE ALSO
- giftoppm(1), gouldtoppm(1), ilbmtoppm(1), imgtoppm(1), mtvtoppm(1),
- pcxtoppm(1), pgmtoppm(1), pi1toppm(1), picttoppm(1), pjtoppm(1), qrttoppm(1),
- rawtoppm(1), rgb3toppm(1), sldtoppm(1), spctoppm(1), sputoppm(1), tgatoppm(1),
- ximtoppm(1), xpmtoppm(1), yuvtoppm(1),
- ppmtoacad(1), ppmtogif(1), ppmtoicr(1), ppmtoilbm(1), ppmtopcx(1), ppmtopgm(1),
- ppmtopi1(1), ppmtopict(1), ppmtopj(1), ppmtopuzz(1), ppmtorgb3(1),
- ppmtosixel(1), ppmtotga(1), ppmtouil(1), ppmtoxpm(1), ppmtoyuv(1),
- ppmdither(1), ppmforge(1), ppmhist(1), ppmmake(1), ppmpat(1), ppmquant(1),
- ppmquantall(1), ppmrelief(1),
- pnm(5), pgm(5), pbm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmbrighten120 Nov 1990
- </DIV>
- <DIV class="LEFT">NAME
- ppmbrighten - change an images Saturation and Value from an HSV map
- SYNOPSIS
- ppmbrighten [-n] [-s <+- saturation>] [-v <+- value>] <ppmfile>
- DESCRIPTION
- Reads a portable pixmap as input.
- Converts the image from RGB space to HSV space and changes
- the Value by <+- value> as a percentage.
- Likewise with the Saturation.
- Doubling the Value would involve
- </DIV>
- <DIV class="LEFT">
- ppmbrighten -v 100
- </DIV>
- <DIV class="LEFT">
- to add 100 percent to the Value.
- </DIV>
- <DIV class="LEFT">The 'n' option normalizes the Value to exist between 0 and 1
- (normalized).
- SEE ALSO
- pgmnorm(1), ppm(5)
- AUTHOR
- ©1990 by Brian Moffet.
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- NOTES
- This program does not change the number of colors.
- </DIV>
- <DIV class="LEFT">
- ppmchange13 December 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmchange - change all pixels of one color to another in a portable pixmap
- SYNOPSIS
- <B>ppmchange</B>
- <I>colorspec1 colorspec2</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Changes all pixels of colorspec1 to colorspec2, leaving all others unchanged.
- </DIV>
- <DIV class="LEFT">The color can be specified in five ways:
- STYLE="" SRC="img31.png"
- ALT="\begin{TPlist}{o}
- \item[{o}]
- A name, assuming
- that a pointer to an X11-style col...
- ...is style was added before MIT came up with the similar rgbi style.)
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pgmtoppm(1), ppm(5)
- AUTHOR
- Wilson H. Bent. Jr. (whb@usc.edu)
- </DIV>
- <DIV class="LEFT">
- ppmdim116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmdim - dim a portable pixmap down to total blackness
- SYNOPSIS
- ppmdim
- <I>dimfactor</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input. Diminishes its brightness by
- the specified dimfactor down to total blackness.
- The dimfactor may be in the range from 0.0 (total blackness,
- deep night, nada, null, nothing) to 1.0 (original picture's
- brightness).
- </DIV>
- <DIV class="LEFT">As
- <I>pnmgamma</I>
- does not do the brightness correction in the way I
- wanted it, this small program was written.
- </DIV>
- <DIV class="LEFT">ppmdim is similar to
- <I>ppmbrighten</I>
- , but not exactly the same.
- SEE ALSO
- ppm(5), ppmflash(1), pnmgamma(1), ppmbrighten(1)
- AUTHOR
- Copyright (C) 1993 by Frank Neumann
- </DIV>
- <DIV class="LEFT">
- ppmdist122 July 1992
- </DIV>
- <DIV class="LEFT">NAME
- ppmdist - simplistic grayscale assignment for machine generated, color images
- SYNOPSIS
- <B>ppmdist</B>
- [<B>-intensity</B>|<B>-frequency</B>]
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input, performs a simplistic grayscale
- assignment intended for use with grayscale or bitmap printers.
- </DIV>
- <DIV class="LEFT">Often conversion from ppm to pgm will yield an image with contrast too
- low for good printer output. The program maximizes contrast between
- the gray levels output.
- </DIV>
- <DIV class="LEFT">A ppm input of n colors is read, and a pgm of n gray levels is written.
- The gray levels take on the values 0..n-1, while maxval takes on n-1.
- </DIV>
- <DIV class="LEFT">The mapping from color to stepped grayscale can be performed in order
- of input pixel intensity, or input pixel frequency (number of repetitions).
- OPTIONS
- STYLE="" SRC="img32.png"
- ALT="\begin{TPlist}{}
- \item[{}]
- {\bf -frequency}
- Sort input colors by the number of t...
- ...ng to evenly
- distributed graylevels of output. This is the default.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">BUGS
- Helpful only for images with a very small number of colors.
- Perhaps should have been an option to ppmtopgm(1).
- SEE ALSO
- ppmtopgm(1), ppmhist(1), ppm(5)
- AUTHOR
- ©1993 by Dan Stromberg.
- </DIV>
- <DIV class="LEFT">
- ppmdither114 July 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmdither - ordered dither for color images
- SYNOPSIS
- <B>ppmdither</B>
- [<B>-dim</B>
- <I>dimension</I>]
- [<B>-red</B>
- <I>shades</I>]
- [<B>-green</B>
- <I>shades</I>]
- [<B>-blue</B>
- <I>shades</I>]
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input, and applies dithering to it to reduce
- the number of colors used down to the specified number of shades for
- each primary.
- The default number of shades is red=5, green=9, blue=5, for
- a total of 225 colors.
- To convert the image to a binary rgb format
- suitable for color printers, use -red 2 -green 2 -blue 2.
- The maximum
- number of colors that can be used is 256 and can be computed as the
- product of the number of red, green and blue shades.
- OPTIONS
- STYLE="" SRC="img33.png"
- ALT="\begin{TPlist}{{\bf -dim}{\it\ dimension}
- \item[{{\bf -dim}{\it\ dimension}
- }]...
- ...\it\ shades}
- The number of blue shades to be used; minimum of 2.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pnmdepth(1), ppmquant(1), ppm(5)
- AUTHOR
- ©1991 by Christos Zoulas.
- </DIV>
- <DIV class="LEFT">
- ppmflash116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmflash - brighten a picture up to complete white-out
- SYNOPSIS
- ppmflash
- <I>flashfactor</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input. Increases its brightness by
- the specified flashfactor up to a total white-out image.
- The flashfactor may be in the range from 0.0 (original picture's
- brightness) to 1.0 (full white-out, The Second After).
- </DIV>
- <DIV class="LEFT">As
- <I>pnmgamma</I>
- does not do the brightness correction in the way I
- wanted it, this small program was written.
- </DIV>
- <DIV class="LEFT">This program is similar to
- <I>ppmbrighten</I>
- , but not exactly the same.
- SEE ALSO
- ppm(5), ppmdim(1), pnmgamma(1), ppmbrighten(1)
- AUTHOR
- Copyright (C) 1993 by Frank Neumann
- </DIV>
- <DIV class="LEFT">
- ppmforge125 October 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmforge - fractal forgeries of clouds, planets, and starry skies
- SYNOPSIS
- </DIV>
- <DIV class="LEFT"><B>ppmforge</B>
- [<B>-clouds</B>]
- 'in +9n
- [<B>-night</B>]
- [<B>-dimension</B>
- <I>dimen</I>]
- [<B>-hour</B>
- <I>hour</I>]
- [<B>-inclination|-tilt</B>
- <I>angle</I>]
- [<B>-mesh</B>
- <I>size</I>]
- [<B>-power</B>
- <I>factor</I>]
- [<B>-glaciers</B>
- <I>level</I>]
- [<B>-ice</B>
- <I>level</I>]
- [<B>-saturation</B>
- <I>sat</I>]
- [<B>-seed</B>
- <I>seed</I>]
- [<B>-stars</B>
- <I>fraction</I>]
- [<B>-xsize|-width</B>
- <I>width</I>]
- [<B>-ysize|-height</B>
- <I>height</I>]
- -4.5em
- DESCRIPTION
- <B>ppmforge</B>
- generates three kinds of ``random fractal forgeries,'' the term coined
- by Richard F. Voss of the IBM Thomas J. Watson Research Center for
- seemingly realistic pictures of natural objects generated by simple
- algorithms embodying randomness and fractal self-similarity. The
- techniques used by
- <B>ppmforge</B>
- are essentially those
- given by Voss[1], particularly the technique of spectral synthesis
- explained in more detail by Dietmar Saupe[2].
- </DIV>
- <DIV class="LEFT">The program generates two varieties of pictures: planets and clouds,
- which are just different renderings of data generated in an identical
- manner, illustrating the unity of the fractal structure of these very
- different objects. A third type of picture, a starry sky, is
- synthesised directly from pseudorandom numbers.
- </DIV>
- <DIV class="LEFT">The generation of planets or clouds begins with the preparation of an
- array of random data in the frequency domain. The size of this
- array, the ``mesh size,'' can be set with the
- <B>-mesh</B>
- option; the larger the mesh the more realistic the pictures but the
- calculation time and memory requirement increases as the square of the
- mesh size. The fractal dimension, which you can specify with the
- <B>-dimension</B>
- option, determines the roughness of the terrain on the planet or the
- scale of detail in the clouds. As the fractal dimension is increased,
- more high frequency components are added into the random mesh.
- </DIV>
- <DIV class="LEFT">Once the mesh is generated, an inverse two dimensional Fourier
- transform is performed upon it. This converts the original random
- frequency domain data into spatial amplitudes. We scale the real
- components that result from the Fourier transform into numbers from 0
- to 1 associated with each point on the mesh. You can further
- modify this number by applying a ``power law scale'' to it with the
- <B>-power</B>
- option. Unity scale
- leaves the numbers unmodified; a power scale of 0.5 takes the square
- root of the numbers in the mesh, while a power scale of 3 replaces the
- numbers in the mesh with their cubes. Power law scaling is best
- envisioned by thinking of the data as representing the elevation of
- terrain; powers less than 1 yield landscapes with vertical scarps that
- look like glacially-carved valleys; powers greater than one make
- fairy-castle spires (which require large mesh sizes and high
- resolution for best results).
- </DIV>
- <DIV class="LEFT">After these calculations, we have a array of the specified size
- containing numbers that range from 0 to 1. The pixmaps are generated as
- follows:
- STYLE="" SRC="img34.png"
- ALT="\begin{TPlist}{{\bf Clouds}}
- \item[{{\bf Clouds}}]
- A colour map is created that ...
- ...om numbers is used to generate stars with a
- user specified density.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">Cloud pictures always contain 256 or fewer colours and may be
- displayed on most colour mapped devices without further processing.
- Planet pictures often contain tens of thousands of colours which
- must be compressed with
- <B>ppmquant</B>
- <B>ppmdither</B>
- before encoding in a colour mapped format. If the display resolution is
- high enough,
- <B>ppmdither</B>
- generally produces better looking planets.
- <B>ppmquant</B>
- tends to create discrete colour bands, particularly in the oceans,
- which are unrealistic and distracting. The number of colours in starry
- sky pictures generated with the
- <B>-night</B>
- option depends on the value specified for
- <B>-saturation</B>.
- Small values limit the colour temperature distribution of the stars
- and reduce the number of colours in the image.
- If the
- <B>-saturation</B>
- is set to 0, none of the stars will be coloured and the resulting
- image will never contain more than 256 colours.
- Night sky pictures with many different star colours often look
- best when colour compressed by
- <B>pnmdepth</B>
- rather than
- <B>ppmquant</B>
- <B>ppmdither</B>.
- <I>newmaxval</I>
- settings of 63, 31, or 15 with
- <B>pnmdepth</B>
- to reduce the number of colours in the picture to 256 or fewer.
- OPTIONS
- STYLE="" SRC="img35.png"
- ALT="\begin{TPlist}{{\bf -clouds}}
- \item[{{\bf -clouds}}]
- Generate clouds. A pixmap o...
- ...exceeds the width, the width will be increased to equal the height.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- </DIV>
- <DIV class="LEFT">The algorithms require the output pixmap to be at least as wide as it
- is high, and the width to be an even number of pixels. These
- constraints are enforced by increasing the size of the requested
- pixmap if necessary.
- </DIV>
- <DIV class="LEFT">You may have to reduce the FFT mesh size on machines with 16 bit
- integers and segmented pointer architectures.
- SEE ALSO
- <B>pnmcut</B>(1),
- <B>pnmdepth</B>(1),
- <B>ppmdither</B>(1),
- <B>ppmquant</B>(1),
- <B>ppm</B>(5)
- STYLE="" SRC="img36.png"
- ALT="\begin{TPlist}{[1] }
- \item[{[1] }]
- Voss, Richard F., \lq\lq Random Fractal Forgeries,...
- ...s., The Science Of Fractal Images,
- New York: Springer Verlag, 1988.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">AUTHOR
- John Walker
- Autodesk SA
- Avenue des Champs-Montants 14b
- CH-2074 MARIN
- Suisse/Schweiz/Svizzera/Svizra/Switzerland
- STYLE="" SRC="img23.png"
- ALT="\begin{TPlist}{Usenet:}
- \item[{Usenet:}]
- kelvin@Autodesk.com
- \item[{Fax:}]
- 038/33 88 15
- \item[{Voice:}]
- 038/33 76 33
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- without any conditions or restrictions. This software is provided ``as
- is'' without express or implied warranty.
- </DIV>
- <DIV class="LEFT"><B>PLUGWARE!</B>
- If you like this kind of stuff, you may also enjoy ``James Gleick's
- Chaos–The Software'' for MS-DOS, available for $59.95 from your
- local software store or directly from Autodesk, Inc., Attn: Science
- Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone:
- (800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext
- 4886. Fax: (415) 289-4718. ``Chaos–The Software'' includes a more
- comprehensive fractal forgery generator which creates
- three-dimensional landscapes as well as clouds and planets, plus five
- more modules which explore other aspects of Chaos. The user guide of
- more than 200 pages includes an introduction by James Gleick and
- detailed explanations by Rudy Rucker of the mathematics and algorithms
- used by each program.
- </DIV>
- <DIV class="LEFT">
- ppmhist103 April 1989
- </DIV>
- <DIV class="LEFT">NAME
- ppmhist - print a histogram of a portable pixmap
- SYNOPSIS
- <B>ppmhist</B>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Generates a histogram of the colors in the pixmap.
- SEE ALSO
- ppm(5), pgmhist(1)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmmake124 September 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmmake - create a pixmap of a specified size and color
- SYNOPSIS
- <B>ppmmake</B>
- <I>color width height</I>
- DESCRIPTION
- Produces a portable pixmap of the specified color, width, and height.
- </DIV>
- <DIV class="LEFT">The color can be specified in five ways:
- STYLE="" SRC="img37.png"
- ALT="\begin{TPlist}{o}
- \item[{o}]
- A name, assuming
- that a pointer to an X11-style col...
- ...is style was added before MIT came up with the similar rgbi style.)
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- ppm(5), pbmmake(1)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmmix116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmmix - blend together two portable pixmaps
- SYNOPSIS
- ppmmix
- <I>fadefactor</I>
- <I>ppmfile1 ppmfile2</I>
- DESCRIPTION
- Reads two portable pixmaps as input. Mixes them together using the
- specified fade factor. The fade factor may be in the range from 0.0
- (only ppmfile1's image data) to 1.0 (only ppmfile2's image data).
- Anything in between gains a smooth blend between the two images.
- </DIV>
- <DIV class="LEFT">The two pixmaps must have the same size.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1993 by Frank Neumann.
- </DIV>
- <DIV class="LEFT">
- ppmntsc116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmntsc - make a portable pixmap look like taken from an American TV
- SYNOPSIS
- ppmntsc
- <I>dimfactor</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input. Dims every other row of image data
- down by the specified dim factor. This factor may be in the range of
- 0.0 (the alternate lines are totally black) to 1.0 (original image).
- </DIV>
- <DIV class="LEFT">This creates an effect similar to what I've once seen in the video
- clip 'You could be mine' by Guns'n'Roses. In the scene I'm talking about you
- can see John Connor on his motorbike, looking up from the water trench (?)
- he's standing in. While the camera pulls back, the image gets 'normal' by
- brightening up the alternate rows of it. I thought this would be an
- interesting effect to try in MPEG. I did not yet check this out, however.
- Try for yourself.
- SEE ALSO
- ppm(5), ppmdim(1)
- AUTHOR
- ©1993 by Frank Neumann
- </DIV>
- <DIV class="LEFT">
- ppmpat104 September 1989
- </DIV>
- <DIV class="LEFT">NAME
- ppmpat - make a pretty pixmap
- SYNOPSIS
- <B>ppmpat</B>
- <B>-gingham2</B>|<B>-g2</B>|<B>-gingham3</B>|
- <B>-g3</B>|<B>-madras</B>|<B>-tartan</B>|
- <B>-poles</B>|<B>-squig</B>|<B>-camo</B>|
- <B>-anticamo</B>
- <I>width height</I>
- DESCRIPTION
- Produces a portable pixmap of the specified width and height,
- with a pattern in it.
- </DIV>
- <DIV class="LEFT">This program is mainly to demonstrate use of the ppmdraw routines, a
- simple but powerful drawing library.
- See the ppmdraw.h include file for more info on using these routines.
- Still, some of the patterns can be rather pretty.
- If you have a color workstation, something like
- <B>ppmpat -squig 300 300 | ppmquant 128</B>
- should generate a nice background.
- OPTIONS
- </DIV>
- <DIV class="LEFT">The different flags specify various different pattern types:
- STYLE="" SRC="img38.png"
- ALT="\begin{TPlist}{{\bf -gingham2}}
- \item[{{\bf -gingham2}}]
- A gingham check pattern...
- ...tra-bright colors.
- May need to be run through
- {\it ppmquant}{\rm .}
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- Some of the patterns are from ``Designer's Guide to Color 3'' by Jeanne Allen.
- SEE ALSO
- pnmtile(1), ppmquant(1), ppm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmquant112 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmquant - quantize the colors in a portable pixmap down to a specified number
- </DIV>
- <DIV class="LEFT">SYNOPSIS
- <B>ppmquant</B>
- [<B>-floyd</B>|<B>-fs</B>]
- <I>ncolors</I>
- [<I>ppmfile</I>]
- <B>ppmquant</B>
- [<B>-floyd</B>|<B>-fs</B>]
- <B>-map</B>
- <I>mapfile</I>
- [<I>ppmfile</I>]
- </DIV>
- <DIV class="LEFT">DESCRIPTION
- Reads a portable pixmap as input.
- Chooses
- <I>ncolors</I>
- colors to best represent the image, maps the existing colors
- to the new ones, and writes a portable pixmap as output.
- </DIV>
- <DIV class="LEFT">The quantization method is Heckbert's ``median cut''.
- </DIV>
- <DIV class="LEFT">Alternately, you can skip the color-choosing step by
- specifying your own set of colors with the
- <B>-map</B>
- flag. The
- <I>mapfile</I>
- is just a
- <I>ppm</I>
- file; it can be any shape, all that matters is the colors in it.
- For instance, to quantize down to the 8-color IBM TTL color set, you
- might use:
- P3
- 8 1
- 255
- 0 0 0
- 255 0 0
- 0 255 0
- 0 0 255
- 255 255 0
- 255 0 255
- 0 255 255
- 255 255 255
- </TT>
- </DIV>
- <DIV class="LEFT">If you want to quantize one pixmap to use the colors in another one,
- just use the second one as the mapfile.
- You don't have to reduce it down to only one pixel of each color,
- just use it as is.
- </DIV>
- <DIV class="LEFT">The
- <B>-floyd</B>/<B>-fs</B>
- flag enables a Floyd-Steinberg error diffusion step.
- Floyd-Steinberg gives vastly better results on images where the unmodified
- quantization has banding or other artifacts, especially when going to a
- small number of colors such as the above IBM set.
- However, it does take substantially more CPU time, so the default is off.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- REFERENCES
- ``Color Image Quantization for Frame Buffer Display'' by Paul Heckbert,
- SIGGRAPH '82 Proceedings, page 297.
- SEE ALSO
- ppmquantall(1), pnmdepth(1), ppmdither(1), ppm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmquantall127 July 1990
- </DIV>
- <DIV class="LEFT">NAME
- ppmquantall - run ppmquant on a bunch of files all at once, so they share a common colormap
- SYNOPSIS
- <B>ppmquantall</B>
- <I>ncolors ppmfile</I>
- DESCRIPTION
- Takes a bunch of portable pixmap as input.
- Chooses
- <I>ncolors</I>
- colors to best represent all of the images, maps the
- existing colors to the new ones, and
- <B>overwrites the input files</B>
- with the new quantized versions.
- </DIV>
- <DIV class="LEFT">Verbose explanation: Let's say you've got a dozen pixmaps that you want
- to display on the screen all at the same time. Your screen can only
- display 256 different colors, but the pixmaps have a total of a thousand
- or so different colors. For a single pixmap you solve this problem with
- <I>ppmquant</I>;
- this script solves it for multiple pixmaps. All it does is
- concatenate them together into one big pixmap, run
- <I>ppmquant</I>
- on that, and then split it up into little pixmaps again.
- </DIV>
- <DIV class="LEFT">(Note that another way to solve this problem is to pre-select a set of
- colors and then use
- <I>ppmquant</I>'s
- <B>-map</B>
- option to separately quantize each pixmap to that set.)
- SEE ALSO
- ppmquant(1), ppm(5)
- It's a csh script.
- Csh scripts are not portable to System V.
- Scripts in general are not portable to non-Unix environments.
- AUTHOR
- Copyright (C) 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- PPMQVGA1local
- </DIV>
- <DIV class="LEFT">'NAME
- ppmqvga - 8 plane quantization
- 'SYNOPSIS
- ppmqvga [ options ] [ input file ]
- 'DESCRIPTION
- <B>ppmqvga</B>
- quantizes PPM files to 8 planes, with optional Floyd-Steinberg dithering.
- Input is a PPM file from the file named, or standard input of no file is
- provided.
- <B>-d</B>
- dither. Apply Floyd-Steinberg dithering to the data
- </DIV>
- <DIV class="LEFT"><B>-q</B>
- quiet. Produces no progress reporting, and no terminal output unless
- and error occurs.
- </DIV>
- <DIV class="LEFT"><B>-v</B>
- verbose. Produces additional output describing the number of colors found,
- and some information on the resulting mapping. May be repeated to generate
- loads of internal table output, but generally only useful once.
- EXAMPLES
- ppmqvga -d my_image.ppm | ppmtogif >my_image.gif
- </DIV>
- <DIV class="LEFT">tgatoppm zombie.tga | ppmqvga | ppmtotif > zombie.tif
- SEE ALSO
- ppmquant
- DIAGNOSTICS
- Error messages if problems, various levels of optional progress reporting.
- LIMITATIONS
- none known.
- AUTHOR
- Original by Lyle Rains (lrains@netcom.com) as ppmq256 and ppmq256fs
- combined, documented, and enhanced by Bill Davidsen (davidsen@crd.ge.com)
- Copyright
- Copyright 1991,1992 by Bill Davidsen, all rights reserved.
- The program and documentation may be freely distributed by anyone in source
- or binary format. Please clearly note any changes.
- </DIV>
- <DIV class="LEFT">
- ppmrelief111 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmrelief - run a Laplacian relief filter on a portable pixmap
- SYNOPSIS
- <B>ppmrelief</B>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Does a Laplacian relief filter, and writes a portable pixmap as output.
- </DIV>
- <DIV class="LEFT">The Laplacian relief filter is described in ``Beyond Photography'' by Holzmann,
- equation 3.19.
- It's a sort of edge-detection.
- SEE ALSO
- pgmbentley(1), pgmoil(1), ppm(5)
- AUTHOR
- ©1990 by Wilson Bent (whb@hoh-2.att.com).
- </DIV>
- <DIV class="LEFT">
- ppmshift116 November 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmshift - shift lines of a portable pixmap left or right by a random amount
- SYNOPSIS
- ppmshift
- <I>shift</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input. Shifts every row of image data to the
- left or right by a certain amount. The 'shift' parameter determines by how
- many pixels a row is to be shifted at most.
- </DIV>
- <DIV class="LEFT">Another one of those effects I intended to use for MPEG tests.
- Unfortunately, this program will not help me here - it creates too random
- patterns to be used for animations. Still, it might give interesting
- results on still images.
- EXAMPLE
- Check this out: Save your favourite model's picture from something like
- alt.binaries.pictures.supermodels (ok, or from any other picture source),
- convert it to ppm, and process it e.g. like this, assuming the picture is
- 800x600 pixels:
- 1<TT> # take the upper half, and leave it like it is
- pnmcut 0 0 800 300 cs.ppm >upper.ppm
- </TT></DIV>
- <DIV class="LEFT"><TT># take the lower half, flip it upside down, dim it and distort it a little
- pnmcut 0 300 800 300 cs.ppm | pnmflip -tb | ppmdim 0.7 |
- ppmshift 10 >lower.ppm
- </TT></DIV>
- <DIV class="LEFT"><TT># and concatenate the two pieces
- pnmcat -tb upper.ppm lower.ppm >newpic.ppm
- The resulting picture looks like the image being reflected on a water
- surface with slight ripples.
- SEE ALSO
- ppm(5), pnmcut(1), pnmflip(1), ppmdim(1), pnmcat(1)
- AUTHOR
- ©1993 by Frank Neumann
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmspread116 November 1993
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmspread - displace a portable pixmap's pixels by a random amount
- SYNOPSIS
- ppmspread
- <I>amount</I>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input. Moves every pixel around a bit
- relative to its original position. amount determines by how many
- pixels a pixel is to be moved around at most.
- </TT></DIV>
- <DIV class="LEFT"><TT>Pictures processed with this filter will seem to be somewhat
- dissolved or unfocussed (although they appear more coarse than
- images processed by something like
- <I>pnmconvol</I>
- SEE ALSO
- ppm(5), pnmconvol(1)
- AUTHOR
- ©1993 by Frank Neumann
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtoacad110 October 1991
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtoacad - convert portable pixmap to AutoCAD database or slide
- SYNOPSIS
- </TT></DIV>
- <DIV class="LEFT"><TT><B>ppmtoacad</B>
- 'in 15n
- </TT>[<TT><B>-dxb</B></TT>][<TT><B>-poly</B></TT>][<TT><B>-background</B>
- <I>colour</I></TT>][<TT><B>-white</B></TT>][<TT><B>-aspect</B>
- <I>ratio</I></TT>][<TT><B>-8</B></TT>][<TT><I>ppmfile</I></TT>]<TT>
- -7.5em
- DESCRIPTION
- Reads a portable pixmap as input. Produces an AutoCADlide file or
- binary database import (.dxb) file as output.
- If no
- <I>ppmfile</I>
- is specified, input is read from standard input.
- OPTIONS
- STYLE="" SRC="img39.png"
- ALT="\begin{TPlist}{{\bf -dxb}}
- \item[{{\bf -dxb}}]
- An AutoCAD binary database import...
- ...-8}}]
- Restricts the colours in the output file to the 8 RGB shades.
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>All flags can be abbreviated to their shortest unique prefix.
- AutoCAD has a fixed palette of 256 colours, distributed along the hue,
- lightness, and saturation axes. Pixmaps which contain many
- nearly-identical colours, or colours not closely approximated by
- AutoCAD's palette, may be poorly rendered.
- </TT></DIV>
- <DIV class="LEFT"><TT><B>ppmtoacad</B>
- works best if the system displaying its output supports the full 256
- colour AutoCAD palette. Monochrome, 8 colour, and 16 colour
- configurations will produce less than optimal results.
- </TT></DIV>
- <DIV class="LEFT"><TT>When creating a .dxb file or a slide file with the
- <B>-poly</B>
- option,
- <B>ppmtoacad</B>
- finds both vertical and horizontal runs of identical pixels and
- consolidates them into rectangular regions to reduce the size of the
- output file. This is effective for images with large areas of
- constant colour but it's no substitute for true raster to vector
- conversion. In particular, thin diagonal lines are not optimised at
- all by this process.
- </TT></DIV>
- <DIV class="LEFT"><TT>Output files can be huge.
- SEE ALSO
- AutoCAD Reference Manual:
- <I>Slide File Format</I>
- <I>Binary Drawing Interchange (DXB) Files</I></TT>,<TT>
- <B>ppm</B></TT>(5)<TT>
- AUTHOR
- John Walker
- Autodesk SA
- Avenue des Champs-Montants 14b
- CH-2074 MARIN
- Suisse/Schweiz/Svizzera/Svizra/Switzerland
- STYLE="" SRC="img23.png"
- ALT="\begin{TPlist}{Usenet:}
- \item[{Usenet:}]
- kelvin@Autodesk.com
- \item[{Fax:}]
- 038/33 88 15
- \item[{Voice:}]
- 038/33 76 33
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- without any conditions or restrictions. This software is provided ``as
- is'' without express or implied warranty.
- </TT></DIV>
- <DIV class="LEFT"><TT>AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtobmp126 Oct 1992
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtobmp – convert a portable pixmap into a BMP file
- SYNOPSIS
- <B>ppmtobmp</B>
- </TT>[<TT><I>–windows</I></TT>][<TT><I>–os2</I></TT>][<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a Microsoft Windows or OS/2 BMP file as output.
- OPTIONS
- STYLE="" SRC="img40.png"
- ALT="\begin{TPlist}{{\bf --windows}}
- \item[{{\bf --windows}}]
- Tells the program to pr...
- ...lls the program to produce an OS/2 BMP file.
- (This is the default.)
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- bmptoppm(1),
- ppm(5)
- AUTHOR
- ©1992 by David W. Sanderson.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtogif130 June 1993
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtogif - convert a portable pixmap into a GIF file
- SYNOPSIS
- <B>ppmtogif</B>
- </TT>[<TT><B>-interlace</B></TT>][<TT><B>-sort</B></TT>][<TT><B>-map</B>
- <I>mapfile ]</I>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a GIF file as output.
- OPTIONS
- STYLE="" SRC="img41.png"
- ALT="\begin{TPlist}{{\bf -interlace}}
- \item[{{\bf -interlace}}]
- Tells the program to ...
- ...ng filter in advance:
- {\it ppmquant}
- -floyd -map
- {\it mapfile}
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- giftoppm(1), ppmquant(1), ppm(5)
- AUTHOR
- Based on GIFENCOD by David Rowley (mgardi@watdcsu.waterloo.edu).
- Lempel-Ziv compression based on ``compress''.
- </TT></DIV>
- <DIV class="LEFT"><TT>©1989 by Jef Poskanzer.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtoicr130 July 1990
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtoicr - convert a portable pixmap into NCSA ICR format
- SYNOPSIS
- <B>ppmtoicr</B>
- </TT>[<TT><B>-windowname</B>
- <I>name</I></TT>][<TT><B>-expand</B>
- <I>expand</I></TT>][<TT><B>-display</B>
- <I>display</I></TT>][<TT><B>-rle</B></TT>][<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap file as input.
- Produces an NCSA Telnet Interactive Color Raster graphic file as output.
- <I>ppmfile</I>
- is not supplied,
- <I>ppmtoicr</I>
- will read from standard input.
- </TT></DIV>
- <DIV class="LEFT"><TT>Interactive Color Raster (ICR) is a protocol for displaying raster
- graphics on workstation screens. The protocol is implemented in NCSA
- Telnet for the Macintosh version 2.3.
- The ICR protocol shares
- characteristics of the Tektronix graphics terminal emulation protocol.
- For example, escape sequences are used to control the display.
- </TT></DIV>
- <DIV class="LEFT"><TT><I>ppmtoicr</I>
- will output the appropriate sequences to create a window of the
- dimensions of the input pixmap,
- create a colormap of up to 256
- colors on the display, then load the picture data into the window.
- </TT></DIV>
- <DIV class="LEFT"><TT>Note that there is no icrtoppm tool - this transformation is one way.
- OPTIONS
- STYLE="" SRC="img42.png"
- ALT="\begin{TPlist}{{\bf -windowname}{\it name}
- \item[{{\bf -windowname}{\it name}
- ...rly always
- result in a quicker display, but may skew the colormap.)
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>EXAMPLES
- To display a
- <I>ppm</I>
- file using the protocol:
- ppmtoicr ppmfile
- This will create a window named
- <I>ppmfile</I>
- on the display with the correct dimensions for
- <I>ppmfile,</I>
- create and download a colormap of up
- to 256 colors, and download the picture into the window. The same effect
- may be achieved by the following sequence:
- ppmtoicr ppmfile > filename
- cat filename
- To display a GIF
- file using the protocol in a window titled after the input file, zoom
- the displayed image by a factor of 2, and
- run-length encode the data:
- giftoppm giffile | ppmtoicr -w giffile -r -e 2
- </TT></DIV>
- <DIV class="LEFT"><TT>The protocol uses frequent
- <I>fflush</I>
- calls to speed up display. If the
- output is saved to a file for later display via
- <I>cat,</I>
- drawing will be
- much slower. In either case, increasing the Blocksize limit on the
- display will speed up transmission substantially.
- SEE ALSO
- <B>ppm(5)</B>
- </TT></DIV>
- <DIV class="LEFT"><TT>
- <I>NCSA Telnet for the Macintosh</I></TT>,<TT>
- University of Illinois at Urbana-Champaign (1989)
- AUTHOR
- ©1990 by Kanthan Pillay (svpillay@Princeton.EDU),
- Princeton University Computing and Information Technology.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtoilbm129 August 1993
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtoilbm - convert a portable pixmap into an ILBM file
- SYNOPSIS
- <B>ppmtoilbm</B>
- </TT>[<TT><B>-maxplanes</B></TT>|<TT><B>-mp</B>
- <I>N</I></TT>][<TT><B>-fixplanes</B></TT>|<TT><B>-fp</B>
- <I>N</I></TT>][<TT><B>-ham6</B></TT>|<TT><B>-ham8</B></TT>][<TT><B>-dcbits</B></TT>|<TT><B>-dcplanes</B></TT>r<TT><B>g</B></TT>b<TT><B>]</B>
- </TT>[<TT><B>-normal</B></TT>|<TT><B>-hamif</B></TT>|<TT><B>-hamforce</B></TT>|<TT><B>-24if</B></TT>|<TT><B>-24force</B></TT>|-dcif<TT><B>|</B></TT>-dcforce<TT><B>|</B></TT>-cmaponly<TT><B>]</B>
- </TT>[<TT><B>-ecs</B></TT>|<TT><B>-aga</B></TT>][<TT><B>-map</B></TT>ppmfile<TT><B>]</B>
- </TT>[<TT><B>ppmfile</B></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces an ILBM file as output.
- Supported ILBM types are:
- STYLE="" SRC="img43.png"
- ALT="\begin{TPlist}{Normal ILBMs with 1-16 planes.}
- \item[{Normal ILBMs with 1-16 pla...
- ...gnored but displayed in verbose mode):}]
- NAME, AUTH, (c), ANNO, DPI
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>OPTIONS
- Options marked with (*) can be prefixed with a ``no'',
- <I>e.g.</I>, ``-nohamif''. All options can be abbreviated to
- their shortest unique prefix.
- STYLE="" SRC="img44.png"
- ALT="\begin{TPlist}{{\bf -maxplanes $\vert$\ -mp n}}
- \item[{{\bf -maxplanes $\vert$\ ...
- ...lormap file: only BMHD and CMAP chunks, no BODY
- chunk, nPlanes = 0.
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>BUGS
- Needs a real colormap selection algorithm for HAM pictures,
- instead of using a grayscale colormap.
- REFERENCES
- Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
- Addison Wesley, ISBN 0–201–56775–X
- SEE ALSO
- ppm(5), ilbmtoppm(1)
- AUTHORS
- ©1989 by Jef Poskanzer.
- Modified August 1993 by Ingo Wilken
- (Ingo.Wilken@informatik.uni-oldenburg.de).
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtomitsu129 Jan 1992
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtomitsu - convert a portable pixmap to a Mitsubishi S340-10 file
- SYNOPSIS
- <B>ppmtomitsu</B>
- </TT>[-sharpness<TT>
- <I>val</I></TT>][<TT><B>-enlarge</B>
- <I>val</I></TT>][<TT><B>-media</B>
- <I>string</I></TT>][<TT><B>-copy</B>
- <I>val</I></TT>][<TT><B>-dpi300</B></TT>][<TT><B>-tiny</B></TT>][<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input and converts it into a format suitable
- to be printed by a Mitsubishi S340-10 printer, or any other Mitsubishi
- color sublimation printer.
- </TT></DIV>
- <DIV class="LEFT"><TT>The Mitsubishi S340-10 Color Sublimation printer supports 24bit color.
- Images of the available sizes take so long to transfer that there is a
- fast method, employing a lookuptable, that ppmtomitsu will use if there
- is a maximum of 256 colors in the pixmap.
- ppmtomitsu will try to position your image to the center of the paper,
- and will rotate your image for you if xsize is larger than ysize.
- If your image is larger than the media allows, ppmtomitsu will quit
- with an error message. (We decided that the media were too expensive
- to have careless users produce misprints.)
- Once data transmission has started, the job can't be stopped in a
- sane way without resetting the printer.
- The printer understands putting together images in the printers memory;
- ppmtomitsu doesn't utilize this as pnmcat etc provide the same functionality
- and let you view the result on-screen, too.
- The S340-10 is the lowest common denominator printer; for higher
- resolution printers there's the dpi300 option. The other printers also
- support higher values for enlarge eg, but I don't think that's essential
- enough to warrant a change in the program.
- STYLE="" SRC="img45.png"
- ALT="\begin{TPlist}{{\bf -sharpness}{\it\ 1-4}
- \item[{{\bf -sharpness}{\it\ 1-4}
- }]...
- ...o use this if your machine starts
- paging a lot without this option.
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>REFERENCES
- Mitsubishi Sublimation Full Color Printer S340-10 Specifications of
- Parallel Interface LSP-F0232F
- SEE ALSO
- ppmquant(1), pnmscale(1), ppm(5)
- We didn't find any - yet. (Besides, they're called features anyway :-)
- If you should find one, my email-adress is below.
- AUTHOR
- ©1992, 93 by S.Petra Zeidler, MPIfR Bonn, Germany.
- (spz@specklec.mpifr-bonn.mpg.de)
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtomap111 August 1993
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtomap - extract all colors from a portable pixmap
- SYNOPSIS
- <B>ppmtomap</B>
- </TT>[<TT><B>-sort</B></TT>][<TT><B>-square</B></TT>][<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a portable pixmap as output, representing a color map of the
- input file. All N different colors found are put in an Nx1 portable
- pixmap.
- This color map file can be used as a mapfile for
- <I>ppmquant</I>
- <I>ppmtogif.</I>
- OPTIONS
- STYLE="" SRC="img46.png"
- ALT="\begin{TPlist}{{\bf -sort}}
- \item[{{\bf -sort}}]
- Produces a portable pixmap with...
- ...) square output file, instead of putting all
- colors on the top row.
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>All flags can be abbreviated to their shortest unique prefix.
- WARNING
- If you want to use the output file as a mapfile for
- <I>ppmtogif,</I>
- you first have to do a
- <I>ppmquant 256,</I>
- since
- <I>ppmtomap</I>
- is not limited to 256 colors (but to 65536).
- SEE ALSO
- ppmtogif(1), ppmquant(1), ppm(5)
- AUTHOR
- Marcel Wijkstra (wijkstra@fwi.uva.nl).
- </TT></DIV>
- <DIV class="LEFT"><TT>©1989 by Jef Poskanzer.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopcx109 April 1990
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopcx - convert a portable pixmap into a PCX file
- SYNOPSIS
- <B>ppmtopcx</B>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a PCX file as output.
- SEE ALSO
- pcxtoppm(1), ppm(5)
- AUTHOR
- ©1990 by Michael Davidson.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopgm123 December 1988
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopgm - convert a portable pixmap into a portable graymap
- SYNOPSIS
- <B>ppmtopgm</B>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a portable graymap as output.
- The quantization formula used is .299 r + .587 g + .114 b.
- </TT></DIV>
- <DIV class="LEFT"><TT>Note that although there is a
- <I>pgmtoppm</I>
- program, it is not necessary
- for simple conversions from
- <I>pgm</I>
- <I>ppm</I></TT>,<TT>
- because any ppm program can
- <I>pgm</I>
- <I>pbm</I>
- ) files automagically.
- <I>pgmtoppm</I>
- is for colorizing a
- <I>pgm</I>
- file. Also, see
- <I>ppmtorgb3</I>
- for a different way of converting color to gray.
- QUOTE
- Cold-hearted orb that rules the night
- Removes the colors from our sight
- Red is gray, and yellow white
- But we decide which is right
- And which is a quantization error.
- SEE ALSO
- pgmtoppm(1), ppmtorgb3(1), rgb3toppm(1), ppm(5), pgm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopi1119 July 1990
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopi1 - convert a portable pixmap into an Atari Degas .pi1 file
- SYNOPSIS
- <B>ppmtopi1</B>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces an Atari Degas .pi1 file as output.
- SEE ALSO
- pi1toppm(1), ppm(5), pbmtopi3(1), pi3topbm(1)
- AUTHOR
- ©1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopict115 April 1990
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopict - convert a portable pixmap into a Macintosh PICT file
- SYNOPSIS
- <B>ppmtopict</B>
- </TT>[<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a Macintosh PICT file as output.
- </TT></DIV>
- <DIV class="LEFT"><TT>The generated file is only the data fork of a picture.
- You will need a program such as
- <I>mcvert</I>
- to generate a Macbinary or a BinHex file that contains the necessary
- information to identify the file as a PICT file to MacOS.
- </TT></DIV>
- <DIV class="LEFT"><TT>Even though PICT supports 2 and 4 bits per pixel,
- <I>ppmtopict</I>
- always generates an 8 bits per pixel file.
- The picture size field is only correct if the output is to a file
- since writing into this field requires seeking backwards on a file.
- However the PICT documentation seems to suggest that this field is
- not critical anyway since it is only the lower 16 bits of the picture size.
- SEE ALSO
- picttoppm(1), ppm(5), mcvert(1)
- AUTHOR
- ©1990 by Ken Yap (ken@cs.rocester.edu).
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopj113 July 1991
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopj - convert a portable pixmap to an HP PaintJet file
- SYNOPSIS
- <B>ppmtopj</B>
- </TT>[-gamma<TT>
- <I>val</I></TT>][<TT><B>-xpos</B>
- <I>val</I></TT>][<TT><B>-ypos</B>
- <I>val</I></TT>][<TT><B>-back</B>
- <B>dark</B></TT>|<TT><B>lite</B></TT>][<TT><B>-rle</B></TT>][<TT><B>-center</B></TT>][<TT><B>-render</B>
- <B>none|snap|bw|dither|diffuse|monodither|monodiffuse|clusterdither|monoclusterdither</B></TT>][<TT><I>ppmfile</I></TT>]<TT>
- DESCRIPTION
- Reads a portable pixmap as input and converts it into a format suitable
- to be printed by an HP PaintJet printer.
- </TT></DIV>
- <DIV class="LEFT"><TT>For best results, the input file should be in 8-color RGB form;
- <I>i.e.</I>, it should have only
- the 8 binary combinations of full-on and full-off primaries.
- You could get this by sending the input file through
- <I>ppmquant -map</I>
- with a map file such as:
- P3
- 8 1
- 255
- 0 0 0 255 0 0 0 255 0 0 0 255
- 255 255 0 255 0 255 0 255 255 255 255 255
- Or else you could use use
- <I>ppmdither -red 2 -green 2 -blue 2.</I>
- OPTIONS
- STYLE="" SRC="img47.png"
- ALT="\begin{TPlist}{{\bf -rle}}
- \item[{{\bf -rle}}]
- Run length encode the image.
- (Thi...
- ...em[{{\bf -ypos}{\it\ pos}
- Move by pos pixels in the y direction.
- \end{TPlist}">
- </TT></DIV>
- <DIV class="LEFT"><TT>REFERENCES
- HP PaintJet XL Color Graphics Printer User's Guide
- SEE ALSO
- pnmdepth(1), ppmquant(1), ppmdither(1), ppm(5)
- Most of the options have not been tested because of the price of the paper.
- AUTHOR
- ©1991 by Christos Zoulas.
- </TT></DIV>
- <DIV class="LEFT"><TT>
- ppmtopjxl114 March 1991
- </TT></DIV>
- <DIV class="LEFT"><TT>NAME
- ppmtopjxl - convert a portable pixmap into an HP PaintJet XL PCL file
- SYNOPSIS
- ppmtopjxl [-nopack] [-gamma
- <I><n></I>
- ] [-presentation] [-dark] [-diffuse] [-cluster] [-dither] [-xshift
- <I><s></I>
- ] [-yshift
- <I><s></I>
- ] [-xshift
- <I><s></I>
- ] [-yshift
- <I><s></I>
- ] [-xsize|-width|-xscale
- <I><s></I>
- ] [-ysize|-height|-yscale
- <I><s></I>
- ] [ppmfile]
- </TT></DIV>
- <DIV class="LEFT"><TT>DESCRIPTION
- Reads a portable pixmap as input.
- Produces a PCL file suitable for printing on an HP PaintJet XL printer as
- output.
- </TT></DIV>
- <DIV class="LEFT"><TT>The generated file is not suitable for printing on a normal PrintJet printer.
- <B>–nopack</B>
- option generates a file which does not use the normal TIFF 4.0 compression
- method. This file might be printable on a normal PaintJet printer (not an XL).
- </TT></DIV>
- <DIV class="LEFT"><TT>The
- <B>–gamma</B>
- option sets the gamma correction for the image. The useful range for the
- PaintJet XL is approximately 0.6 to 1.5.
- </TT></DIV>
- <DIV class="LEFT"><TT>The rendering algorithm used for images can be altered with the
- <B>-dither,</B>
- <B>-cluster,</B>
- <B>-diffuse</B>
- options. These options select ordered dithering, clustered ordered dithering,
- or error diffusion respectively.
- <B>–dark</B>
- option can be used to enhance images with a dark background when they are
- reduced in size.
- <B>–presentation</B>
- option turns on presentation mode, in which two passes are made over the paper
- to increase ink density. This should be used only for images where quality is
- critical.
- </TT></DIV>
- <DIV class="LEFT"><TT>The image can be resized by setting the
- <B>–xsize</B>
- <B>–ysize</B>
- options. The parameter to either of these options is interpreted as the
- number of dots to set the width or height to, but an optional dimension of
- `<B>pt</B></TT>' (points), `<B>dp</B>' (decipoints), `<B>in</B>' (inches), or
- `<B>cm</B>' (centimetres) may be appended.
- If only one dimension is specified, the other will be scaled appropriately.
- </DIV>
- <DIV class="LEFT">The options
- <B>–width</B>
- <B>–height</B>
- are synonyms of
- <B>–xsize</B>
- <B>–ysize.</B>
- </DIV>
- <DIV class="LEFT">The
- <B>–xscale</B>
- <B>–yscale</B>
- options can alternatively be used to scale the image by a simple factor.
- </DIV>
- <DIV class="LEFT">The image can be shifted on the page by using the
- <B>–xshift</B>
- <B>–yshift</B>
- options. These move the image the specified dimensions right and down.
- </DIV>
- <DIV class="LEFT">SEE ALSO
- ppm(5)
- AUTHOR
- Angus Duggan
- </DIV>
- <DIV class="LEFT">
- ppmtopuzz122 August 1990
- </DIV>
- <DIV class="LEFT">NAME
- ppmtopuzz - convert a portable pixmap into an X11 ``puzzle'' file
- SYNOPSIS
- <B>ppmtopuzz</B>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces an X11 ``puzzle'' file as output.
- A ``puzzle'' file is for use with the
- <I>puzzle</I>
- program included with the X11 distribution -
- <I>puzzle</I>'s
- <B>-picture</B>
- flag lets you specify an image file.
- SEE ALSO
- ppm(5), puzzle(1)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmtorgb3110 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmtorgb3 - separate a portable pixmap into three portable graymaps
- SYNOPSIS
- <B>ppmtorgb3</B>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Writes three portable graymaps as output, one each for red, green, and blue.
- </DIV>
- <DIV class="LEFT">The output filenames are constructed by taking the input filename,
- stripping off any extension, and appending ``.red'', ``.grn'', and
- ``.blu''.
- For example, separating lenna.ppm would result in lenna.red, lenna.grn,
- and lenna.blu.
- If the input comes from stdin, the names are noname.red, noname.grn,
- and noname.blu.
- SEE ALSO
- rgb3toppm(1), ppmtopgm(1), pgmtoppm(1), ppm(5), pgm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmtosixel126 April 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmtosixel - convert a portable pixmap into DEC sixel format
- SYNOPSIS
- <B>ppmtosixel</B>
- [<B>-raw</B>]
- [<B>-margin</B>]
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces sixel commands (SIX) as output.
- The output is formatted for color printing, <I>e.g.</I>, for a DEC LJ250 color
- inkjet printer.
- </DIV>
- <DIV class="LEFT">If RGB values from the PPM file do not have maxval=100,
- the RGB values are rescaled.
- A printer control header and a color assignment table begin the SIX file.
- Image data is written in a compressed format by default.
- A printer control footer ends the image file.
- OPTIONS
- STYLE="" SRC="img48.png"
- ALT="\begin{TPlist}{{\bf -raw}}
- \item[{{\bf -raw}}]
- If specified, each pixel will be ...
- ...margin}
- is specified, a 1.5 inch left margin will offset the image.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">PRINTING
- Generally, sixel files must reach the printer unfiltered.
- Use the lpr -x option or cat filename > /dev/tty0?.
- Upon rescaling, truncation of the least significant bits of RGB values
- may result in poor color conversion.
- If the original PPM maxval was greater than 100, rescaling also
- reduces the image depth.
- While the actual RGB values from the ppm file are more or less
- retained, the color palette of the LJ250 may not match the colors
- on your screen.
- This seems to be a printer limitation.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1991 by Rick Vinci.
- </DIV>
- <DIV class="LEFT">
- ppmtotga128 October 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmtotga - convert portable pixmap into a TrueVision Targa file
- SYNOPSIS
- <B>ppmtotga</B>
- [<B>-mono|-cmap|-rgb</B>]
- [<B>-norle</B>]
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a TrueVision Targa file as output.
- OPTIONS
- STYLE="" SRC="img49.png"
- ALT="\begin{TPlist}{{\bf -mono}}
- \item[{{\bf -mono}}]
- Forces Targa file to be of type...
- ... you have a Targa reader which
- can't read run-length encoded files.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix. If no
- file type is specified the most highly constained compatible type is
- used, where monochrome is more constained than colormapped which is in
- turn more constained than unmapped.
- Does not support all possible Targa file types.
- Should really be in PNM, not PPM.
- SEE ALSO
- tgatoppm(1), ppm(5)
- AUTHOR
- ©1989, 1991 by Mark Shand and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ppmtouil131 August 1990
- </DIV>
- <DIV class="LEFT">NAME
- ppmtouil - convert a portable pixmap into a Motif UIL icon file
- SYNOPSIS
- <B>ppmtouil</B>
- [<B>-name</B>
- <I>uilname</I>]
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces a Motif UIL icon file as output.
- </DIV>
- <DIV class="LEFT">If the program was compiled with an rgb database specified, and
- a RGB value from the ppm input matches a RGB value from the database,
- then the corresponding color name mnemonic is printed in the UIL's colormap.
- If no rgb database was compiled in, or if the RGB values don't match,
- then the color
- will be printed with the #RGB, #RRGGBB, #RRRGGGBBB, or #RRRRGGGGBBBB
- hexadecimal format.
- OPTIONS
- STYLE="" SRC="img50.png"
- ALT="\begin{TPlist}{{\bf -name}}
- \item[{{\bf -name}}]
- Allows you to specify the prefi...
- ...ed input), the prefix string will default to
- the string \lq\lq noname''.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- ppm(5)
- AUTHOR
- Converted by Jef Poskanzer from ppmtoxpm.c, which is
- ©1990 by Mark W. Snitily.
- </DIV>
- <DIV class="LEFT">
- ppmtoxpm1Tue Apr 9 1991
- </DIV>
- <DIV class="LEFT">NAME
- ppmtoxpm - convert a portable pixmap into an X11 pixmap
- SYNOPSIS
- ppmtoxpm [-name <xpmname>] [-rgb <rgb-textfile>] [<ppmfile>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces X11 pixmap (version 3) as output which
- can be loaded directly by the XPM library.
- </DIV>
- <DIV class="LEFT">The <B>-nameoption</B> allows one to specify the prefix string which is printed
- in the resulting XPM output. If not specified, will default to the
- filename (without extension) of the <ppmfile> argument.
- If <B>-nameis</B> not specified and <ppmfile>
- is not specified (<I>i.e.</I>, piped input), the prefix string will default to
- the string ``noname''.
- </DIV>
- <DIV class="LEFT">The <B>-rgboption</B> allows one to specify an X11 rgb text file for the
- lookup of color name mnemonics. This rgb text file is typically the
- /usr/lib/X11/rgb.txt of the MIT X11 distribution, but any file using the
- same format may be used. When specified and
- a RGB value from the ppm input matches a RGB value from the <rgb-textfile>,
- then the corresponding color name mnemonic is printed in the XPM's colormap.
- If <B>-rgbis</B> not specified, or if the RGB values don't match, then the color
- will be printed with the #RGB, #RRGGBB, #RRRGGGBBB, or #RRRRGGGGBBBB
- hexadecimal format.
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- </DIV>
- <DIV class="LEFT">For example, to convert the file ``dot'' (found in /usr/include/X11/bitmaps),
- from xbm to xpm one could specify
- STYLE="" SRC="img51.png"
- ALT="\begin{IPlist}
- \IPitem{{}}
- xbmtopbm dot $\vert$\ ppmtoxpm -name dot
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">or, with a rgb text file (in the local directory)
- STYLE="" SRC="img52.png"
- ALT="\begin{IPlist}
- \IPitem{{}}
- xbmtopbm dot $\vert$\ ppmtoxpm -name dot -rgb rgb.txt
- \end{IPlist}">
- </DIV>
- <DIV class="LEFT">BUGS
- An option to match the closest (rather than exact) color name mnemonic
- from the rgb text would be a desirable enhancement.
- </DIV>
- <DIV class="LEFT">Truncation of the least significant bits of a RGB value may result in
- nonexact matches when performing color name mnemonic lookups.
- SEE ALSO
- ppm(5)
- XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr).
- AUTHOR
- ©1990 by Mark W. Snitily.
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
- </DIV>
- <DIV class="LEFT">This tool was developed for Schlumberger Technologies, ATE Division, and
- with their permission is being made available to the public with the above
- copyright notice and permission notice.
- </DIV>
- <DIV class="LEFT">Upgraded to XPM2 by
- Paul Breslaw, Mecasoft SA, Zurich, Switzerland (paul@mecazh.uu.ch)
- Thu Nov 8 16:01:17 1990
- </DIV>
- <DIV class="LEFT">Upgraded to XPM version 3 by
- Arnaud Le Hors (lehors@mirsa.inria.fr)
- Tue Apr 9 1991
- </DIV>
- <DIV class="LEFT">
- ppmtoyuv125 March 91
- </DIV>
- <DIV class="LEFT">NAME
- ppmtoyuv - convert a portable pixmap into an Abekas YUV file
- SYNOPSIS
- <B>ppmtoyuv</B>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces an Abekas YUV file as output.
- SEE ALSO
- yuvtoppm(1), ppm(5)
- AUTHOR
- Marc Boucher (marc@PostImage.COM),
- based on Example Conversion Program, A60/A64 Digital Video Interface
- Manual, page 69.
- </DIV>
- <DIV class="LEFT">©1991 by DHD PostImage Inc.
- </DIV>
- <DIV class="LEFT">©1987 by Abekas Video Systems Inc.
- </DIV>
- <DIV class="LEFT">
- ppmtoyuvsplit19 September 1993
- </DIV>
- <DIV class="LEFT">NAME
- ppmtoyuvsplit - convert a portable pixmap into 3 subsampled raw YUV files
- SYNOPSIS
- <B>ppmtoyuvsplit</B>
- <I>basename</I>
- [<I>ppmfile</I>]
- DESCRIPTION
- Reads a portable pixmap as input.
- Produces 3 raw files basename.Y, basename.U and basename.V as output.
- These files are the subsampled raw YUV representation of the input
- pixmap, as required by the Stanford MPEG codec. The subsampling is done
- by arithmetic mean of 4 pixels colors into one. The YUV values are scaled
- according to CCIR.601, as assumed by MPEG.
- SEE ALSO
- mpeg(1), ppm(5)
- AUTHOR
- ©1993 by Andre Beck. (Andre_Beck@IRS.Inf.TU-Dresden.de).
- </DIV>
- <DIV class="LEFT">Based on ppmtoyuv.c.
- </DIV>
- <DIV class="LEFT">
- psidtopgm102 August 89
- </DIV>
- <DIV class="LEFT">NAME
- psidtopgm - convert PostScript ``image'' data into a portable graymap
- SYNOPSIS
- <B>psidtopgm</B>
- <I>width height bits/sample</I>
- [<I>imagedata</I>]
- DESCRIPTION
- Reads the ``image'' data from a PostScript file as input.
- Produces a portable graymap as output.
- </DIV>
- <DIV class="LEFT">This is a very simple and limited program, and is here only because
- so many people have asked for it.
- To use it you have to
- <B>manually</B>
- extract the readhexstring data portion from your PostScript file, and then
- give the width, height, and bits/sample on the command line.
- Before you attempt this, you should
- <B>at least</B>
- read the description of the ``image'' operator in the PostScript Language
- Reference Manual.
- </DIV>
- <DIV class="LEFT">It would probably not be too hard to write a script that uses this filter
- to read a specific variety of PostScript image, but the variation is too
- great to make a general-purpose reader.
- Unless, of course, you want to write a full-fledged PostScript interpreter...
- SEE ALSO
- pnmtops(1), pgm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- qrttoppm125 August 1989
- </DIV>
- <DIV class="LEFT">NAME
- qrttoppm - convert output from the QRT ray tracer into a portable pixmap
- SYNOPSIS
- <B>qrttoppm</B>
- [<I>qrtfile</I>]
- DESCRIPTION
- Reads a QRT file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- rasttopnm113 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- rasttopnm - convert a Sun rasterfile into a portable anymap
- SYNOPSIS
- <B>rasttopnm</B>
- [<I>rastfile</I>]
- DESCRIPTION
- Reads a Sun rasterfile as input.
- Produces a portable anymap as output.
- The type of the output file depends on the input file - if it's
- black & white, a
- <I>pbm</I>
- file is written, else if it's grayscale a
- <I>pgm</I>
- file, else a
- <I>ppm</I>
- file. The program tells you which type it is writing.
- SEE ALSO
- pnmtorast(1), pnm(5)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- rawtopgm115 June 1993
- </DIV>
- <DIV class="LEFT">NAME
- rawtopgm - convert raw grayscale bytes into a portable graymap
- SYNOPSIS
- <B>rawtopgm</B>
- [<B>-headerskip</B>
- <I>N</I>]
- [<B>-rowskip</B>
- <I>N</I>]
- [<B>-tb</B>|<B>-topbottom</B>]
- [<I>width</I>
- <I>height</I>]
- [<I>imagedata</I>]
- DESCRIPTION
- Reads raw grayscale bytes as input.
- Produces a portable graymap as output.
- The input file is just grayscale bytes.
- If you don't specify the width and height on the command line,
- the program will check the size of the image and try to make
- a quadratic image of it. It is an error to supply a non
- quadratic image without specifying width and height.
- The maxval is assumed to be 255.
- OPTIONS
- STYLE="" SRC="img53.png"
- ALT="\begin{TPlist}{{\bf -headerskip}}
- \item[{{\bf -headerskip}}]
- If the file has a h...
- ...is is equivalent to
- {\bf rawtopgm\ [file]\ $\vert$\ pnmflip\ -tb .}
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">BUGS
- If you don't specify the image width and height, the program will
- try to read the entire image to a memory buffer. If you get a
- message that states that you are out of memory, try to specify the width
- and height on the command line. Also, the -tb option consumes much
- memory.
- SEE ALSO
- pgm(5), rawtoppm(1), pnmflip(1)
- AUTHORS
- ©1989 by Jef Poskanzer.
- Modified June 1993 by Oliver Trepte (oliver@fysik4.kth.se).
- </DIV>
- <DIV class="LEFT">
- rawtoppm106 February 1991
- </DIV>
- <DIV class="LEFT">NAME
- rawtoppm - convert raw RGB bytes into a portable pixmap
- SYNOPSIS
- <B>rawtoppm</B>
- [<B>-headerskip</B>
- <I>N</I>]
- [<B>-rowskip</B>
- <I>N</I>]
- [<B>-rgb</B>|<B>-rbg</B>|<B>-grb</B>
- |<B>-gbr</B>|<B>-brg</B>|<B>-bgr</B>
- [<B>-interpixel</B>|<B>-interrow</B>]
- <I>width height</I>
- [<I>imagedata</I>]
- DESCRIPTION
- Reads raw RGB bytes as input.
- Produces a portable pixmap as output.
- The input file is just RGB bytes.
- You have to specify the width and height on the command line,
- since the program obviously can't get them from the file.
- The maxval is assumed to be 255.
- If the resulting image is upside down, run it through
- <B>pnmflip -tb .</B>
- OPTIONS
- STYLE="" SRC="img54.png"
- ALT="\begin{TPlist}{{\bf -headerskip}}
- \item[{{\bf -headerskip}}]
- If the file has a h...
- ...o a PGM file with rawtopgm, and then combining them
- with rgb3toppm.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- ppm(5), rawtopgm(1), rgb3toppm(1), pnmflip(1)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- rgb3toppm115 February 1990
- </DIV>
- <DIV class="LEFT">NAME
- rgb3toppm - combine three portable graymaps into one portable pixmap
- SYNOPSIS
- <B>rgb3toppm</B>
- <I>redpgmfile greenpgmfile bluepgmfile</I>
- DESCRIPTION
- Reads three portable graymaps as input.
- Combines them and produces one portable pixmap as output.
- SEE ALSO
- ppmtorgb3(1), pgmtoppm(1), ppmtopgm(1), ppm(5), pgm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- sirtopnm120 March 1991
- </DIV>
- <DIV class="LEFT">NAME
- sirtopnm - convert a Solitaire file into a portable anymap
- SYNOPSIS
- <B>sirtopnm</B>
- [<I>sirfile</I>]
- DESCRIPTION
- Reads a Solitaire Image Recorder file as input.
- Produces a portable anymap as output.
- The type of the output file depends on the input file - if it's
- an MGI TYPE 17 file, a
- <I>pgm</I>
- file is written. If it's an MGI TYPE 11 file, a
- <I>ppm</I>
- file is written. The program tells you which type it is writing.
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pnmtosir(1), pnm(5)
- AUTHOR
- ©1991 by Marvin Landis.
- </DIV>
- <DIV class="LEFT">
- sldtoppm110 October 1991
- </DIV>
- <DIV class="LEFT">NAME
- sldtoppm - convert an AutoCAD slide file into a portable pixmap
- SYNOPSIS
- </DIV>
- <DIV class="LEFT"><B>sldtoppm</B>
- 'in 14n
- [<B>-adjust</B>]
- [<B>-dir</B>]
- [<B>-height</B>|<B>-ysize</B>
- <I>s</I>]
- [<B>-info</B>]
- [<B>-lib</B>|<B>-Lib</B>
- <I>name</I>]
- [<B>-scale</B>
- <I>s</I>]
- [<B>-verbose</B>]
- [<B>-width</B>|<B>-xsize</B>
- <I>s</I>]
- [<I>slidefile</I>]
- -7.0em
- DESCRIPTION
- Reads an AutoCADlide file and outputs a portable pixmap.
- If no
- <I>slidefile</I>
- is specified, input is read from standard input.
- The ppmdraw library is used to convert the vector and polygon
- information in the slide file to a pixmap; see the file ppmdraw.h for
- details on this package.
- OPTIONS
- STYLE="" SRC="img55.png"
- ALT="\begin{TPlist}{{\bf -adjust}}
- \item[{{\bf -adjust}}]
- If the display on which the...
- ...ed, the width will be adjusted to preserve the
- pixel aspect ratio.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- Only Level 2 slides are converted. Level 1 format has been obsolete
- since the advent of AutoCAD Release 9 in 1987, and was not portable
- across machine architectures.
- </DIV>
- <DIV class="LEFT">Slide library items with names containing 8 bit (such as ISO) or 16
- bit (Kanji, for example) characters may not be found when chosen with the
- <B>-lib</B>
- option unless
- <B>sldtoppm</B>
- has been built with character set conversion functions appropriate to
- the locale. You can always retrieve slides from libraries regardless
- of the character set by using the
- <B>-Lib</B>
- option and specifying the precise name of library member. Use the
- <B>-dir</B>
- option to list the slides in a library if you're unsure of the
- exact name.
- SEE ALSO
- AutoCAD Reference Manual:
- <I>Slide File Format</I>,
- <B>pnmscale</B>(1),
- <B>ppm</B>(5)
- AUTHOR
- John Walker
- Autodesk SA
- Avenue des Champs-Montants 14b
- CH-2074 MARIN
- Suisse/Schweiz/Svizzera/Svizra/Switzerland
- STYLE="" SRC="img23.png"
- ALT="\begin{TPlist}{Usenet:}
- \item[{Usenet:}]
- kelvin@Autodesk.com
- \item[{Fax:}]
- 038/33 88 15
- \item[{Voice:}]
- 038/33 76 33
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- without any conditions or restrictions. This software is provided ``as
- is'' without express or implied warranty.
- </DIV>
- <DIV class="LEFT">AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.
- </DIV>
- <DIV class="LEFT">
- spctoppm119 July 1990
- </DIV>
- <DIV class="LEFT">NAME
- spctoppm - convert an Atari compressed Spectrum file into a portable pixmap
- SYNOPSIS
- <B>spctoppm</B>
- [<I>spcfile</I>]
- DESCRIPTION
- Reads an Atari compressed Spectrum file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- sputoppm(1), ppm(5)
- AUTHOR
- ©1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- spottopgm1L
- </DIV>
- <DIV class="LEFT">NAME
- spottopgm – convert SPOT satellite images to Portable Greymap format
- SYNTAX
- spottopgm [–1|2|3] [Firstcol Firstline Lastcol Lastline] inputfile
- OPTIONS
- STYLE="" SRC="img56.png"
- ALT="\begin{TPlist}{{\bf --1$\vert$2$\vert$3}}
- \item[{{\bf --1$\vert$2$\vert$3}}]
- Ext...
- ...he default rectangle is the width of the input image by 3000 lines.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">DESCRIPTION
- <I>Spottopgm</I>
- converts the named
- <B>inputfile</B>
- into Portable Greymap format, defaulting to the first color and the whole
- SPOT image unless specified by the options.
- INSTALLATION
- <B>must</B>
- edit the source program and either define BIGENDIAN or LITTLEENDIAN,
- and fix the typedefs for uint32t, uint16t and uint8t appropriately.
- Currently
- <I>spottopgm</I>
- doesn't determine the length of the input file; this would involve two
- passes over the input file. It defaults to 3000 lines instead.
- </DIV>
- <DIV class="LEFT"><I>Spottopgm</I>
- could extract a three-color image (ppm), but I didn't feel like making the
- program more complicated than it is now. Besides, there is no one-to-one
- correspondence between red, green, blue and infra-red, visible and
- ultra-violet.
- </DIV>
- <DIV class="LEFT">I've only had a limited number of SPOT images to play with, and therefore
- wouldn't guarantee that this will work on any other images.
- AUTHOR
- Warren Toomey wkt@csadfa.cs.adfa.oz.au
- SEE ALSO
- The rest of the Pbmplus suite.
- </DIV>
- <DIV class="LEFT">
- sputoppm119 July 1990
- </DIV>
- <DIV class="LEFT">NAME
- sputoppm - convert an Atari uncompressed Spectrum file into a portable pixmap
- SYNOPSIS
- <B>sputoppm</B>
- [<I>spufile</I>]
- DESCRIPTION
- Reads an Atari uncompressed Spectrum file as input.
- Produces a portable pixmap as output.
- SEE ALSO
- spctoppm(1), ppm(5)
- AUTHOR
- ©1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- tgatoppm126 August 1989
- </DIV>
- <DIV class="LEFT">NAME
- tgatoppm - convert TrueVision Targa file into a portable pixmap
- SYNOPSIS
- <B>tgatoppm</B>
- [<B>-debug</B>]
- [<I>tgafile</I>]
- DESCRIPTION
- Reads a TrueVision Targa file as input.
- Produces a portable pixmap as output.
- OPTIONS
- STYLE="" SRC="img57.png"
- ALT="\begin{TPlist}{{\bf -debug}}
- \item[{{\bf -debug}}]
- Causes the header information to be dumped to stderr.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- Should really be in PNM, not PPM.
- SEE ALSO
- ppmtotga(1), ppm(5)
- AUTHOR
- Partially based on tga2rast, version 1.0, by Ian J. MacPhedran.
- </DIV>
- <DIV class="LEFT">©1989 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- tifftopnm113 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- tifftopnm - convert a TIFF file into a portable anymap
- SYNOPSIS
- <B>tifftopnm</B>
- [<B>-headerdump</B>]
- tifffile
- DESCRIPTION
- Reads a TIFF file as input.
- Produces a portable anymap as output.
- The type of the output file depends on the input file - if it's
- black & white, a
- <I>pbm</I>
- file is written, else if it's grayscale a
- <I>pgm</I>
- file, else a
- <I>ppm</I>
- file. The program tells you which type it is writing.
- OPTIONS
- STYLE="" SRC="img58.png"
- ALT="\begin{TPlist}{{\bf -headerdump}}
- \item[{{\bf -headerdump}}]
- Dump TIFF file info...
- ...rmation may be useful
- in debugging TIFF file conversion problems.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">All flags can be abbreviated to their shortest unique prefix.
- SEE ALSO
- pnmtotiff(1), pnm(5)
- This program is not self-contained. To use it you must fetch the
- TIFF Software package listed in the OTHER.SYSTEMS file and configure
- PBMPLUS to use libtiff. See PBMPLUS's Makefile for details on this
- configuration.
- AUTHOR
- Derived by Jef Poskanzer from tif2ras.c, which is
- ©1990 by Sun Microsystems, Inc.
- Author: Patrick J. Naughton (naughton@wind.sun.com).
- </DIV>
- <DIV class="LEFT">
- xbmtopbm131 August 1988
- </DIV>
- <DIV class="LEFT">NAME
- xbmtopbm - convert an X11 or X10 bitmap into a portable bitmap
- SYNOPSIS
- <B>xbmtopbm</B>
- [<I>bitmapfile</I>]
- DESCRIPTION
- Reads an X11 or X10 bitmap as input.
- Produces a portable bitmap as output.
- SEE ALSO
- pbmtoxbm(1), pbmtox10bm(1), pbm(5)
- AUTHOR
- ©1988 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ximtoppm125 March 1990
- </DIV>
- <DIV class="LEFT">NAME
- ximtoppm - convert an Xim file into a portable pixmap
- SYNOPSIS
- <B>ximtoppm</B>
- [<I>ximfile</I>]
- DESCRIPTION
- Reads an Xim file as input.
- Produces a portable pixmap as output.
- The Xim toolkit is included in the contrib tree of the X.V11R4 release.
- SEE ALSO
- ppm(5)
- AUTHOR
- ©1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- xpmtoppm116 August 1990
- </DIV>
- <DIV class="LEFT">NAME
- xpmtoppm - convert an X11 pixmap into a portable pixmap
- SYNOPSIS
- <B>xpmtoppm</B>
- [<I>xpmfile</I>]
- DESCRIPTION
- Reads an X11 pixmap (XPM version 1 or 3) as input.
- Produces a portable pixmap as output.
- KNOWN BUGS
- The support to XPM version 3 is limited. Comments can only be single lines
- and there must be for every pixel a default colorname for a color type visual.
- SEE ALSO
- ppmtoxpm(1), ppm(5)
- XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr).
- AUTHOR
- ©1991 by Jef Poskanzer.
- Upgraded to support XPM version 3 by Arnaud Le Hors
- (lehors@mirsa.inria.fr) Tue Apr 9 1991.
- </DIV>
- <DIV class="LEFT">
- xwdtopnm111 January 1991
- </DIV>
- <DIV class="LEFT">NAME
- xwdtopnm - convert a X11 or X10 window dump file into a portable anymap
- SYNOPSIS
- <B>xwdtopnm</B>
- [<I>xwdfile</I>]
- DESCRIPTION
- Reads a X11 or X10 window dump file as input.
- Produces a portable anymap as output.
- The type of the output file depends on the input file - if it's
- black & white, a
- <I>pbm</I>
- file is written, else if it's grayscale a
- <I>pgm</I>
- file, else a
- <I>ppm</I>
- file. The program tells you which type it is writing.
- </DIV>
- <DIV class="LEFT">Using this program, you can convert anything on an X workstation's screen
- into an anymap.
- Just display whatever you're interested in, do an xwd, run it through
- xwdtopnm, and then use pnmcut to select the part you want.
- I haven't tested this tool with very many configurations, so there are
- probably bugs.
- Please let me know if you find any.
- SEE ALSO
- pnmtoxwd(1), pnm(5), xwd(1)
- AUTHOR
- ©1989, 1991 by Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- ybmtopbm106 March 1990
- </DIV>
- <DIV class="LEFT">NAME
- ybmtopbm - convert a Bennet Yee ``face'' file into a portable bitmap
- SYNOPSIS
- <B>ybmtopbm</B>
- [<I>facefile</I>]
- DESCRIPTION
- Reads a file acceptable to the
- <I>face</I>
- <I>xbm</I>
- programs by Bennet Yee (bsy+@cs.cmu.edu).
- Writes a portable bitmap as output.
- SEE ALSO
- pbmtoybm(1), pbm(5), face(1), face(5), xbm(1)
- AUTHOR
- ©1991 by Jamie Zawinski and Jef Poskanzer.
- </DIV>
- <DIV class="LEFT">
- yuvsplittoppm126 August 93
- </DIV>
- <DIV class="LEFT">NAME
- yuvplittoppm - convert a Y- an U- and a V-file into a portable pixmap.
- SYNOPSIS
- <B>yuvsplittoppm</B>
- <I>basename width height</I>
- [-ccir601]
- DESCRIPTION
- Reads three files, containing the YUV components, as input.
- These files are
- <I>basename</I>
- <I>basename</I>
- <I>basename</I>
- Produces a portable pixmap on stdout.
- </DIV>
- <DIV class="LEFT">Since the YUV files are raw files, the dimensions
- <I>width</I>
- <I>height</I>
- must be specified on the command line.
- OPTIONS
- STYLE="" SRC="img59.png"
- ALT="\begin{TPlist}{{\bf -ccir601}}
- \item[{{\bf -ccir601}}]
- Assumes that the YUV trip...
- ...CIR 601 (MPEG) standard. Else, the JFIF (JPEG) standard is assumed.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- ppmtoyuvsplit(1), yuvtoppm(1), ppm(5)
- AUTHOR
- Marcel Wijkstra (wijkstra@fwi.uva.nl), based on <I>ppmtoyuvsplit.</I>
- </DIV>
- <DIV class="LEFT">
- yuvtoppm125 March 91
- </DIV>
- <DIV class="LEFT">NAME
- yuvtoppm - convert Abekas YUV bytes into a portable pixmap
- SYNOPSIS
- <B>yuvtoppm</B>
- <I>width height</I>
- [<I>imagedata</I>]
- DESCRIPTION
- Reads raw Abekas YUV bytes as input.
- Produces a portable pixmap as output.
- The input file is just YUV bytes.
- You have to specify the width and height on the command line,
- since the program obviously can't get them from the file.
- The maxval is assumed to be 255.
- SEE ALSO
- ppmtoyuv(1), ppm(5)
- AUTHOR
- Marc Boucher (marc@PostImage.COM),
- based on Example Conversion Program, A60/A64 Digital Video Interface
- Manual, page 69.
- </DIV>
- <DIV class="LEFT">©1991 by DHD PostImage Inc.
- </DIV>
- <DIV class="LEFT">©1987 by Abekas Video Systems Inc.
- </DIV>
- <DIV class="LEFT">
- zeisstopnm115 June 1993
- </DIV>
- <DIV class="LEFT">NAME
- zeisstopnm - convert a Zeiss confocal file into a portable anymap
- SYNOPSIS
- <B>zeisstopnm</B>
- [<I>-pgm</I>
- <I>-ppm</I>]
- [<I>zeissfile</I>]
- DESCRIPTION
- Reads a Zeiss confocal file as input.
- Produces a portable anymap as output.
- The type of the output file depends on the input file -
- if it's grayscale a
- <I>pgm</I>
- file, else a
- <I>ppm</I>
- file will be produced.
- The program tells you which type it is writing.
- OPTIONS
- STYLE="" SRC="img60.png"
- ALT="\begin{TPlist}{{\bf -pgm}}
- \item[{{\bf -pgm}}]
- Force the output to be a
- {\it pgm}
- file.
- \item[{{\bf -ppm}}]
- Force the output to be a
- {\it ppm}
- file.
- \end{TPlist}">
- </DIV>
- <DIV class="LEFT">SEE ALSO
- pnm(5)
- AUTHOR
- ©1993 by Oliver Trepte (oliver@fysik4.kth.se).
- </DIV>
- </BODY>
- </HTML>
-