home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netpbma.zip / README < prev    next >
Text File  |  1994-02-28  |  19KB  |  410 lines

  1.                            N E T P B M
  2.                      Release 7 December 1993
  3.  
  4. Netpbm is a toolkit for conversion of images between a variety of
  5. different formats, as well as to allow a few basic image operations.
  6. The package is intended to be portable to many platforms. It has been
  7. tested under UNIX (BSD and SYSV, e.g. SGI, Sun4, Sun386i, DEC and
  8. Apollo DN 3500), VMS and Amiga OS. There are also compiler directives
  9. in it for MS-DOS.
  10.  
  11. You'll find the latest release of Netpbm at the following sites:
  12. * wuarchive.wustl.edu (128.252.135.4),
  13.   directory /graphics/graphics/packages/NetPBM
  14. * ikaros.fysik4.kth.se (130.237.35.2), directory /pub/netpbm.
  15. * ftp.informatik.uni-oldenburg.de (134.106.1.9). This site also carries
  16.   binaries for the Amiga.
  17. * peipa.essex.ac.uk (155.245.115.161), directory ipa/src/manip
  18. * ftp.rahul.net (192.160.13.1), directory /pub/davidsen/source
  19. * ftp.cs.ubc.ca, directory /ftp/archive/netpbm
  20.  
  21. You'll also find a mirror site at the BBS:
  22. * sixhub.tmr.com, phone +1 518 3468033, in the "source" area.
  23.  
  24. Netpbm is based on the widely spread Pbmplus package (release: 10 Dec 91).
  25. On top of that, a lot of improvements and additions have been made. After
  26. the latest release of Pbmplus, a lot of additional filters have been
  27. circulating on the net. The aim of Netpbm was, to collect these and to turn
  28. them into a package. This work has been performed by a group of program-
  29. mers all over the world. If *you* have some code to add, please contact us,
  30. and we will incorporate it. There is a mailing list for discussions about
  31. Netpbm. You post a message to the list by writing to "netpbm@fysik4.kth.se".
  32. If you want to be on the list, send a mail with the message "subscribe netpbm"
  33. to "majordomo@fysik4.kth.se". If you want to report a bug, please send
  34. your report to netpbm@fysik4.kth.se, and to the author of Pbmplus,
  35. jef@netcom.com.
  36.  
  37.  
  38. Please note, that this is not an official Pbmplus release. The code in
  39. this release is merely a collection of code from various sources around
  40. the world. Not all of the new code parts follow the high standard of
  41. programming of Pbmplus. We have tried to make the code portable to as
  42. many systems as possible, but we haven't cleaned up all routines. We hope
  43. that this release will help the many users of Pbmplus to upgrade their
  44. code all in one piece, instead of having to hunt down different code
  45. fragments at different sites around the world. We also hope, that our
  46. effort will help the author of Pbmplus, Jef Poskanzer, to make a new
  47. official release soon.
  48.  
  49. The file Netpbm lists all new featues and functions in netpbm.
  50.  
  51. Below this line follows the original README file from Pbmplus.
  52.  
  53. ***************************************************************
  54.  
  55.  
  56.                   Extended Portable Bitmap Toolkit
  57.                       Distribution of 10dec91
  58.                    Previous distribution 30oct91
  59.  
  60.  
  61. PBMPLUS is a toolkit for converting various image formats to and from
  62. portable formats, and therefore to and from each other.  The idea is,
  63. if you want to convert among N image formats, you only need 2*N
  64. conversion filters, instead of the N^2 you would need if you wrote each
  65. one separately.
  66.  
  67. In addition to the converters, the package includes some simple tools
  68. for manipulating the portable formats.
  69.  
  70. The package is broken up into four parts.  First is PBM, for bitmaps (1
  71. bit per pixel).  Then there is PGM, for grayscale images.  Next is PPM,
  72. for full-color images.  Last, there is PNM, which does content-independent
  73. manipulations on any of the three internal formats, and also handles
  74. external formats that have multiple types.
  75.  
  76. The parts are upwards compatible: PGM reads both PGM and PBM files and
  77. writes PGM; PPM reads all three and writes PPM; and PNM reads all three
  78. and writes, usually, the same type as it read.  Whenever PNM makes an
  79. exception and "promotes" a file to a higher format, it lets you know.
  80.  
  81.  
  82. INSTALLATION
  83.  
  84.     Unpack the files.
  85.     If you have the TIFF library (./libtiff) and are going to use it, copy the
  86.       appropriate Makefile into place, read the comments in libtiff/README,
  87.       and edit libtiff/tiffconf.h or the Makefile to reflect your compiler and
  88.       options.
  89.     Decide whether you want to use Imakefiles or Makefiles.  If you want
  90.       to use Makefiles:
  91.  
  92.     Edit the top-level Makefile, find each line with the string
  93.       "CONFIGURE", and follow the directions for setting configuration
  94.       options.
  95.     Likewise edit pbmplus.h.
  96.     If you are using gnu make, you have to edit *all* the Makefiles
  97.       and remove all the imake stuff at the ends, otherwise gnu make
  98.       will overwrite the Makefiles.
  99.     Make.
  100.     When you're happy that things compiled ok, make install.
  101.     
  102.     If you want to use Imakefiles:
  103.  
  104.     Edit Pbmplus.tmpl, find each line with the string "CONFIGURE",
  105.       and follow the directions for setting configuration options.
  106.     Likewise edit pbmplus.h.
  107.     Save the original Makefiles, in case you later want to switch back
  108.       to using them.
  109.     The usual X11 sequence of xmkmf, make Makefiles, make depend, then
  110.       make should work. If you have the TIFF libraries, the second step
  111.       should be "make SUBDIRS='./pbm ./pgm ./ppm ./pnm' Makefiles".
  112.     When you're happy that things compiled ok, make install and
  113.       make install.man.
  114.  
  115. After installing the manual pages, you may want to create the "whatis"
  116. file by doing a catman -w -M <directory>, or whatever the equivalent is
  117. on your system.
  118.  
  119.  
  120. SUPPORT
  121.  
  122. I've tested this stuff under SysV and BSD, on Sun 3's 4's and 386's and
  123. Sequents and Vaxen and HPs, with cc and gcc.  Nevertheless, I'm sure bugs
  124. remain, and portability to systems like Amigas and IBM compatibles is
  125. an interesting question.  Feedback is welcome; send bug reports,
  126. enhancements, etc. to this address:
  127.  
  128.     jef@well.sf.ca.us
  129.     apple!well!jef
  130.  
  131. When sending bug reports, always include the output from running any
  132. PBMPLUS program with the -version flag.  Also include the type of
  133. system you are on, what compiler you used, and whether you are using
  134. Makefiles or Imakefiles.  I try to respond to bug reports and enhancements
  135. promptly; say, within a week.
  136.  
  137. Also, if there is a new format or feature you would like to have added
  138. to the package, feel free to drop me a line.  If it's a format, include
  139. whatever documentation you have, and if possible a uuencoded sample.
  140. My response time will depend on how busy I am, and how easy the job
  141. looks.  If you need it right away, or it's a complicated job, you might
  142. consider paying me; lately, that's how a lot of work on the package has
  143. gotten done.
  144.  
  145. Finally, if you have access to Usenet, there's a newsgroup called
  146. alt.graphics.pixutils which is specifically for discussion of image
  147. conversion and editing packages such as PBMPLUS.  Posting stuff there
  148. is even better than mailing it to me, since it lets other people help
  149. out with the answers.
  150.  
  151.  
  152. HOW TO FIND THE RIGHT CONVERTER
  153.  
  154. Some people get confused by all the different names.  If you want to
  155. convert a pbm file to a Sun raster file, is it pbmtorast, pgmtorast,
  156. ppmtorast, or pnmtorast?  In this case some of the confusion might be
  157. because previous versions of the package did in fact have both
  158. pbmtorast and ppmtorast.  But mostly it's just too many different
  159. things to hold in your short term memory.  Fine, so don't even try to
  160. remember what's what.  That's what computers are for.  Unix, at least
  161. BSD Unix, has this great indexing feature on the "man" program.  You
  162. say "man -k <keyword>" and it gives you all the one-line descriptions
  163. with that keyword in them.  All the PBMPLUS man pages have nice useful
  164. one-line descriptions, that mention all the relevant keywords.  Try it,
  165. you'll like it.
  166.  
  167.  
  168. COPYRIGHTS
  169.  
  170. All the software in this package, whether by me or by a contributer,
  171. has a copyright similar to this one:
  172.  
  173.     Permission to use, copy, modify, and distribute this software and its
  174.     documentation for any purpose and without fee is hereby granted, provided
  175.     that the above copyright notice appear in all copies and that both that
  176.     copyright notice and this permission notice appear in supporting
  177.     documentation.  This software is provided "as is" without express or
  178.     implied warranty.
  179.  
  180. Many people get confused by this legalese, especially the part about
  181. "without fee".  Does this mean you can't charge for any product that
  182. uses PBMPLUS?  No.  All it means is that you don't have to pay me.
  183. You can do what you want with this software.  Build it into your
  184. package, steal code from it, whatever.  Just be sure to let people
  185. know where it came from.
  186.  
  187.  
  188. CONTENTS
  189.  
  190. Files in pbmplus.shar:
  191.  
  192.     README        this
  193.     CHANGES        list of changes between the various versions of PBM
  194.     TODO        list of things still to be done
  195.     FORMATS        list of the formats supported
  196.     OTHER.SYSTEMS    list of other free image-processing software
  197.     Makefile        guess
  198.     Imakefile        for X11-type installations
  199.     Imakefile.tiff    for X11-type installations
  200.     Pbmplus.tmpl    for X11-type installations
  201.     pbmplus.h        header file for PBM, PGM, PPM, and PNM
  202.  
  203.     compat.csh        csh script for compatibility with old versions
  204.     compat.ksh        ksh script for compatibility with old versions
  205.     magic        additions for /etc/magic to recognize some image formats
  206.  
  207. Files in pbm.shar?:
  208.  
  209.     Makefile        guess
  210.     Imakefile        for X11-type installations
  211.  
  212.     atktopbm.c        convert Andrew Toolkit raster object to portable bitmap
  213.     brushtopbm.c    convert Xerox doodle brushes to portable bitmap
  214.     cmuwmtopbm.c    convert CMU window manager format to portable bitmap
  215.     g3topbm.c        convert Group 3 FAX to portable bitmap
  216.     icontopbm.c        convert Sun icon to portable bitmap
  217.     gemtopbm.c        convert GEM .img format to portable bitmap
  218.     macptopbm.c        convert MacPaint to portable bitmap
  219.     mgrtopbm.c        convert MGR format to portable bitmap
  220.     pi3topbm.c        convert Atari Degas .pi3 to portable bitmap
  221.     xbmtopbm.c        convert X10 or X11 bitmap to portable bitmap
  222.     ybmtopbm.c        convert Bennet Yee "face" file into portable bitmap
  223.  
  224.     pbmto10x.c        convert portable bitmap to Gemini 10x printer graphics
  225.     pbmtoascii.c    convert portable bitmap to ASCII graphic form
  226.     pbmtoatk.c        convert portable bitmap to Andrew Toolkit raster object
  227.     pbmtobbnbg.c    convert portable bitmap to BBN BitGraph graphics
  228.     pbmtocmuwm.c    convert portable bitmap to CMU window manager format
  229.     pbmtoepson.c    convert portable bitmap to Epson printer graphics
  230.     pbmtog3.c        convert portable bitmap to Group 3 FAX
  231.     pbmtogem.c        convert portable bitmap into GEM .img file
  232.     pbmtogo.c        convert portable bitmap to GraphOn graphics
  233.     pbmtoicon.c        convert portable bitmap to Sun icon
  234.     pbmtolj.c        convert portable bitmap to HP LaserJet graphics
  235.     pbmtomacp.c        convert portable bitmap to MacPaint
  236.     pbmtomgr.c        convert portable bitmap to MGR format
  237.     pbmtopi3.c        convert portable bitmap to Atari Degas .pi3
  238.     pbmtoplot.c        convert portable bitmap into Unix plot(5) file
  239.     pbmtoptx.c        convert portable bitmap to Printronix graphics
  240.     pbmtoxbm.c        convert portable bitmap to X11 bitmap
  241.     pbmtox10bm.c    convert portable bitmap to X10 bitmap
  242.     pbmtoybm.c        convert portable bitmap into Bennet Yee "face" file
  243.     pbmtozinc.c        convert portable bitmap to Zinc Interface Library icon
  244.  
  245.     pbmlife.c        apply Conway's rules of Life to a portable bitmap
  246.     pbmmake.c        create a blank bitmap of a specified size
  247.     pbmmask.c        create a mask bitmap from a regular bitmap
  248.     pbmreduce.c        reduce a portable bitmap N times, using Floyd-Steinberg
  249.     pbmtext.c        render text into a bitmap
  250.     pbmupc.c        create a Universal Product Code bitmap
  251.  
  252.     libpbm[1-5].c    a few utility routines
  253.     pbmmerge.c        merge wrapper routine
  254.     pbm.h        header file for libpbm
  255.     pbmfont.h        header file for font routines in libpbm
  256.     libpbm.h        internal header file for libpbm
  257.     g3.h        definitions for Group 3 FAX
  258.     macp.h        definitions for MacPaint files
  259.     bitreverse.h    useful include file
  260.     *.1            manual entries for all of the tools
  261.     pbm.5        manual entry for the pbm format
  262.     libpbm.3        manual entry for the pbm library
  263.  
  264. Files in pgm.shar?:
  265.  
  266.     Makefile        guess
  267.     Imakefile        for X11-type installations
  268.  
  269.     fitstopgm.c        convert FITS format to portable graymap
  270.     fstopgm.c        convert Usenix FaceSaver(tm) format to portable graymap
  271.     hipstopgm.c        convert HIPS format to portable graymap
  272.     lispmtopgm.c    convert a Lisp Machine bitmap file into pgm format
  273.     psidtopgm.c        convert PostScript "image" data to portable graymap
  274.     rawtopgm.c        convert raw grayscale bytes to portable graymap
  275.  
  276.     pgmtofits.c        convert portable graymap to FITS format
  277.     pgmtofs.c        convert portable graymap to Usenix FaceSaver(tm) format
  278.     pgmtolispm.c    convert a portable graymap into Lisp Machine format
  279.     pgmtopbm.c        convert portable graymap to portable bitmap
  280.  
  281.     pgmbentley.c    Bentleyize a portable graymap
  282.     pgmcrater.c        create cratered terrain by fractal forgery
  283.     pgmedge.c        edge-detect a portable graymap
  284.     pgmenhance.c    edge-enhance a portable graymap
  285.     pgmhist.c        print a histogram of the values in a portable graymap
  286.     pgmnorm.c        normalize contrast in a portable graymap
  287.     pgmoil.c        turn a portable graymap into an oil painting
  288.     pgmramp.c        generate a grayscale ramp
  289.     pgmtexture.c    calculate textural features on a portable graymap
  290.  
  291.     libpgm[1-3].c    a few utility routines
  292.     pgmmerge.c        merge wrapper routine
  293.     pgm.h        header file for libpgm
  294.     libpgm.h        internal header file for libpgm
  295.     dithers.h        useful include file
  296.     *.1            manual entries for all of the tools
  297.     pgm.5        manual entry for the pgm format
  298.     libpgm.3        manual entry for the pgm library
  299.  
  300. Files in ppm.shar?:
  301.  
  302.     Makefile        guess
  303.     Imakefile        for X11-type installations
  304.  
  305.     giftoppm.c        convert GIF to portable pixmap
  306.     gouldtoppm.c    convert Gould scanner file to portable pixmap
  307.     ilbmtoppm.c        convert IFF ILBM to portable pixmap
  308.     imgtoppm.c        convert Img-whatnot to portable pixmap
  309.     mtvtoppm.c        convert MTV ray-tracer output to portable pixmap
  310.     pcxtoppm.c        convert PC Paintbrush format to portable pixmap
  311.     pgmtoppm.c        colorize a portable graymap into a portable pixmap
  312.     pi1toppm.c        convert Atari Degas .pi1 to portable pixmap
  313.     picttoppm.c        convert Macintosh PICT to portable pixmap
  314.     pjtoppm.c        convert HP PaintJet file to portable pixmap
  315.     qrttoppm.c        convert QRT ray-tracer output to portable pixmap
  316.     rawtoppm.c        convert raw RGB bytes to portable pixmap
  317.     rgb3toppm.c        combine three portable graymaps into one portable pixmap
  318.     sldtoppm.c        convert an AutoCAD slide file into a portable pixmap
  319.     spctoppm.c        convert Atari compressed Spectrum to portable pixmap
  320.     sputoppm.c        convert Atari uncompressed Spectrum to portable pixmap
  321.     tgatoppm.c        convert TrueVision Targa file to portable pixmap
  322.     ximtoppm.c        convert Xim to portable pixmap
  323.     xpmtoppm.c        convert XPM format to portable pixmap
  324.     yuvtoppm.c        convert Abekas YUV format to portable pixmap
  325.  
  326.     ppmtoacad.c        convert portable pixmap to AutoCAD database or slide
  327.     ppmtogif.c        convert portable pixmap to GIF
  328.     ppmtoicr.c        convert portable pixmap to NCSA ICR graphics
  329.     ppmtoilbm.c        convert portable pixmap to IFF ILBM
  330.     ppmtopcx.c        convert portable pixmap to PC Paintbrush format
  331.     ppmtopgm.c        convert portable pixmap to portable graymap
  332.     ppmtopi1.c        convert portable pixmap to Atari Degas .pi1
  333.     ppmtopict.c        convert portable pixmap to Macintosh PICT
  334.     ppmtopj.c        convert portable pixmap to HP PaintJet file
  335.     ppmtopuzz.c        convert portable pixmap to X11 "puzzle" file
  336.     ppmtorgb3.c        separate a portable pixmap into three portable graymaps
  337.     ppmtosixel.c    convert portable pixmap to DEC sixel format
  338.     ppmtotga.c        convert portable pixmap to TrueVision Targa file
  339.     ppmtouil.c        convert portable pixmap to Motif UIL icon file
  340.     ppmtoxpm.c        convert portable pixmap to XPM format
  341.     ppmtoyuv.c        convert portable pixmap to Abekas YUV format
  342.  
  343.     ppmdither.c        ordered dither for color images
  344.     ppmforge.c        fractal forgeries of clouds, planets, and starry skies
  345.     ppmhist.c        print a histogram of a portable pixmap
  346.     ppmmake.c        create a pixmap of a specified size and color
  347.     ppmpat.c        create a pretty pixmap
  348.     ppmquant.c        quantize colors down to a specified number
  349.     ppmquantall        script to run ppmquant on a set of pixmaps
  350.     ppmrelief.c        run a Laplacian Relief filter on a portable pixmap
  351.  
  352.     libppm[1-5].c    a few utility routines
  353.     ppmmerge.c        merge wrapper routine
  354.     ppm.h        header file for libppm
  355.     ppmcmap.h        header file for colormap routines in libppm
  356.     ppmdraw.h        header file for simple drawing routines in libppm
  357.     libppm.h        internal header file for libppm
  358.     autocad.h        definitions for AutoCAD files
  359.     tga.h        definitions for TrueVision Targa files
  360.     xim.h        definitions for Xim files
  361.     *.1            manual entries for all of the tools
  362.     ppm.5        manual entry for the ppm format
  363.     libppm.3        manual entry for the ppm library
  364.  
  365. Files in pnm.shar?:
  366.  
  367.     Makefile        guess
  368.     Imakefile        for X11-type installations
  369.  
  370.     anytopnm        script to attempt to convert any format to P?M
  371.     rasttopnm.c        convert Sun raster file to portable anymap
  372.     tifftopnm.c        convert TIFF file to portable anymap
  373.     xwdtopnm.c        convert X10 or X11 window dump to portable anymap
  374.  
  375.     pnmtops.c        convert portable anymap to PostScript
  376.     pnmtorast.c        convert portable anymap to Sun raster file
  377.     pnmtotiff.c        convert portable anymap to TIFF file
  378.     pnmtoxwd.c        convert portable anymap to X11 window dump
  379.  
  380.     pnmarith.c        perform arithmetic on two portable anymaps
  381.     pnmcat.c        concatenate portable anymaps
  382.     pnmconvol.c        general MxN convolution on a portable anymap
  383.     pnmcrop.c        crop all like-colored borders off a portable anymap
  384.     pnmcut.c        select a rectangular region from a portable anymap
  385.     pnmdepth.c        change the maxval in a portable anymap
  386.     pnmenlarge.c    enlarge a portable anymap N times
  387.     pnmfile.c        describe a portable anymap
  388.     pnmflip.c        perform one or more flip operations on a portable anymap
  389.     pnmgamma.c        perform gamma correction on a portable anymap
  390.     pnmindex        script to build a visual index of a bunch of anymaps
  391.     pnminvert.c        invert a portable anymap
  392.     pnmmargin        script to add a margin to a portable anymap
  393.     pnmnoraw.c        force a portable anymap into ASCII format
  394.     pnmpaste.c        paste a rectangle into a portable anymap
  395.     pnmrotate.c        rotate a portable anymap
  396.     pnmscale.c        scale a portable anymap
  397.     pnmshear.c        shear a portable anymap
  398.     pnmsmooth        script that uses pnmconvol to smooth a anymap
  399.     pnmtile.c        replicate a portable anymap into a specified size
  400.  
  401.     libpnm[1-4].c    a few utility routines
  402.     pnmmerge.c        merge wrapper routine
  403.     pnm.h        header file for libpnm
  404.     rast.h        definitions for Sun raster files
  405.     x10wd.h        definitions for X10 window dumps
  406.     x11wd.h        definitions for X11 window dumps
  407.     *.1            manual entries for all of the tools
  408.     pnm.5        manual entry for the pnm format
  409.     libpnm.3        manual entry for the pnm library
  410.