home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-2.iso / Unix / graphics / netpbm.19940301.README < prev    next >
Encoding:
Text File  |  1995-02-10  |  20.2 KB  |  456 lines

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