home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / graphics / 13478 < prev    next >
Encoding:
Internet Message Format  |  1993-01-06  |  24.5 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!cs.utexas.edu!swrinde!network.ucsd.edu!dudley!nadeau
  2. From: nadeau@sdsc.edu (Dave Nadeau,,45062)
  3. Newsgroups: comp.graphics
  4. Subject: SDSC Image Tools and PBM Plus
  5. Date: 6 Jan 1993 23:18:05 GMT
  6. Organization: San Diego Supercomputer Center @UCSD.
  7. Lines: 528
  8. Distribution: world
  9. Message-ID: <1ifpbdINN2ov@network.ucsd.edu>
  10. Reply-To: nadeau@sdsc.edu
  11. NNTP-Posting-Host: dudley.sdsc.edu
  12.  
  13.  
  14. In response to the SDSC Image Tools release posting, Jeff Hanson wrote:
  15.  
  16.     >>While I agree completely about the usefulness of source and would love
  17.     >>to have for these tools in particular, do not pass up the opportunity
  18.     >>to have the best single program conversion tool, imconv.
  19.  
  20. To which Steve Lamont replied:
  21.  
  22.     >Don't forget pbmplus *is* available in source code and does 99 percent
  23.     >of what imconv does (and often does it faster!).  It's available with
  24.     >the X11 distribution in the contrib directory or from your favorite
  25.     >FTP site (wuarchive.uwstl.edu comes to mind).
  26.  
  27.  
  28. As the authors of the SDSC Image Tools, we feel we must respond to this
  29. posting to help clear up any misconceptions.  The SDSC Image Tools differ
  30. in significant ways from the PBMPlus package.  The following rather long
  31. message details some of these ways.
  32.  
  33.  
  34.         Differences between the SDSC Image Tools and PBMPlus
  35.         ----------------------------------------------------
  36.  
  37.  
  38. 1.  The SDSC Image Tools were designed as a C function library rather than
  39.     a set of independent tools, such as the PBMPlus package.  Using a function
  40.     library, image manipulation algorithms are encapsulated into generic
  41.     functions maintained in a central location.  Tool programmers are able to
  42.     quickly write new tools by simply calling library routines.  Tool source
  43.     is kept small and succinct.  If bugs are found in the underlying
  44.     library's image algorithm, the bug is fixed in one place and all tools
  45.     using that routine are relinked.  No tool source modification is required.
  46.  
  47.     In a non-library-oriented package, such as PBMPlus, new tools are written
  48.     by copying image manipulation code from prior tools.  If the original code
  49.     has a bug in it, so does the new tool.  Fixing such a bug requires searching
  50.     through all tools looking for copies of the original algorithm, updating
  51.     that source, recompiling and relinking.  The hassles of such an approach
  52.     are the prime reasons we have function libraries of any kind, such as the
  53.     standard C library, the math library, and so on.  One algorithm.  One copy
  54.     of the code.  One place to go to fix bugs.
  55.  
  56.     This library approach allows programmers to create new high-functionality
  57.     tools quickly, without a great deal of coding.  For instance, the
  58.     SDSC Image Tool "imfill" fills an image or portion of an image with a
  59.     solid color or a horizontal or vertical gradation.  "imfill" calls
  60.     "ImVfbFill( )" to do the actual filling.  The same image filling
  61.     algorithm, with all its gradation and multi-field filling intelligence,
  62.     can be used again in other tools.  "imrotate", for instance, rotates an
  63.     image and stores the result into a new file.  It uses "ImVfbFill( )" to
  64.     fill in the rotated image's empty corners with a color or gradation
  65.     selected by command-line arguments.  "imshear" also uses "ImVfbFill( )" to
  66.     fill in the sheared image's empty corners.  And so on.  There is no
  67.     duplication of fill code.  To accomplish this same task using PBMPlus,
  68.     the programmer would have to clone code multiple times, cloning bugs as
  69.     well.
  70.  
  71. 2.  All SDSC Image Tools can read and write all of our supported image
  72.     file formats.  This is another direct result of encapsulating file format
  73.     handling within generic library functions.
  74.  
  75.     For instance, to read a Sun rasterfile, program this (with additional error
  76.     checking, of course):
  77.  
  78.         FILE     *fp;
  79.         TagTable *table;
  80.  
  81.         fp    = fopen( filename, "r" );
  82.         table = TagTableAlloc( );
  83.         ImFileFRead( fp, "ras", NULL, table );
  84.  
  85.     To read an SGI RGB file instead, change "ras" to "rgb" in the call to
  86.     "ImFileFRead( )".  Or maybe you don't know what kind of file it is, so
  87.     let the SDSC Image Tools figure it out for you by replacing "ras" with
  88.     a call to "ImFileQFormat( )" (query file format):
  89.  
  90.         FILE     *fp;
  91.         TagTable *table;
  92.  
  93.         fp    = fopen( filename, "r" );
  94.         table = TagTableAlloc( );
  95.         ImFileFRead( fp, ImFileQFormat( fp, filename ), NULL, table );
  96.  
  97.     With PBMPlus, however, "pbm" tools only read PBM bitmaps, "pgm" tools only
  98.     read PGM grayscale images, and "ppm" tools only read PPM RGB images.
  99.     Fortunately, a combined set of "pnm" tools have been added that can
  100.     read PBM, PGM, or PPM files.  This would be more cool, however, if there
  101.     were actually "pnm" tools for all functionality available in the older
  102.     "pbm", "pgm", and "ppm" tools.  However, some functionality only exists
  103.     in "ppm" but not in "pnm", and so on.
  104.  
  105.     Furthermore, PBMPlus tools that actually do something to images only work
  106.     on PBMPlus file formats.  If you want to read any other kind of image, you
  107.     first have to convert into one of the PBMPlus formats.  Then if you want
  108.     a result in another format, such as for transfer to a Mac or PC, or use
  109.     as a texture map in a ray tracer, you have to convert back out of the
  110.     PBMPlus formats into what you really wanted in the first place.
  111.  
  112.     All SDSC Image Tools read and write all supported image file formats.
  113.     "imrotate" reads and writes all formats.  "imshear" reads and writes all
  114.     formats.  "imfill" reads and writes all formats.  And so on.  The user is
  115.     never required to convert into and out of an unwanted intermediate file
  116.     format.  Work is always done in the domain the user wants to work in, not
  117.     in one the tools force them to work in.
  118.  
  119. 3.  Another natural result of developing the SDSC Image Tools as a C function
  120.     library is the ease with which image file handling can be added to existing
  121.     tools.  Non-SDSC users have built AVS and Explorer modules using the
  122.     SDSC Image Tools library, added image handling support to existing tools,
  123.     written windowing system user interfaces for the tools, and so on.
  124.  
  125.     At SDSC, we have implemented a generic lpr-based print filter system that
  126.     drives a number of computer graphics output devices from any of the
  127.     supported image file formats.  For instance, users of the system can queue
  128.     images to be printed to slides on a film recorder using:
  129.  
  130.         vpr -Pslides title.rgb frames*.pix credits{1,2,3,4}.ras
  131.  
  132.     There are no hardcopy device-specific file formats.  There is no need to
  133.     convert your SGI RGB image to quirky device protocol streams, then
  134.     transfer the file over to the specific host that drives the printer, then
  135.     invoke printer-specific software to print your image.  Instead, vpr handles
  136.     it all.  Images are transferred via lpr to the remote host that drives
  137.     the printer.  The lpr daemon invokes a device-specific print filter that
  138.     reads in the images, using the Image Tools library, adjusts image colors
  139.     appropriately for the device, again using the Image Tools library, and
  140.     scales the image up or down to the device resolution, once again using
  141.     the Image Tools library.  The final image is written directly to the
  142.     device, with communications protocol handled on the spot.
  143.  
  144.     This kind of integration of image file format I/O into existing tools is not
  145.     possible using the PBMPlus package.  File format code is distributed all
  146.     about into multiple PBMPlus tools.  There is no file format function
  147.     library.
  148.  
  149. 4.  The SDSC Image Tools were designed to support a wide range of image
  150.     storage types:  monochrome, grayscale, color indexed (also called
  151.     pseudocolor), and RGB (also called truecolor), and images of all these
  152.     types that have alpha channels, Z-buffers, and other non-visual pixel
  153.     channels.
  154.  
  155.     The PBMPlus tools, however, only support monochrome, grayscale, and RGB
  156.     images.  Alpha channels are unsupported and silently stripped from input
  157.     files as you convert into the less-functional PBMPlus file formats.  There
  158.     is no support whatsoever for color indexed images, such as those used by
  159.     non-RGB color graphics displays and most color image file formats.  To
  160.     handle a color indexed image, PBMPlus converts it to RGB.  The color table
  161.     is applied to the color indexes and then tossed.  The "indexed-ness" of
  162.     the original image is lost.  This is unacceptable.
  163.  
  164.     Consider a scientific data set that has been rendered by mapping different
  165.     data values to different color indexes with no two data values sharing the
  166.     same color table index.  Data values between 1 and 10, for instance,
  167.     map to color indexes 1 to 10.  The color table is then loaded to
  168.     illustrate a data classification scheme.  Color table entries 1-5 are
  169.     mapped to red, while 6-10 are mapped to blue, and so on.  By simply
  170.     changing the color table the scientist can highlight different data items
  171.     to detect patterns and anomalies.
  172.  
  173.     But if you map this color indexed image and its data classification color
  174.     table to RGB, all color indexes that are red become permanently mapped to
  175.     red in the RGB image.  They can never be reclassified.  Data exploration
  176.     is impossible.  The color "indexed-ness" of the source image has been
  177.     lost and the scientific usefulness of the image has been reduced.
  178.     If you use PBMPlus, you have no choice because PBMPlus does not support
  179.     color indexed images.  The SDSC Image Tools do.
  180.  
  181. 5.  Along a similar vein, the SDSC Image Tools retain as much as possible of
  182.     the original source image's data during file format conversion.  This
  183.     includes non-pixel data like image window names in XWD files, hotspots
  184.     in Mirosoft Windows cursor files, and XOR masks in Microsoft Windows icon
  185.     files.  For instance, the following operation has no loss of data:
  186.  
  187.     imconv input.xwd output.xwd
  188.  
  189.     Everything in the input XWD file will be transferred to the output XWD
  190.     file, window name and all.
  191.  
  192.     Using PBMPlus, however, the intermediate PBMPlus file formats cannot store
  193.     image window names, gamma correction factors, cursor hotspots, or icon XOR
  194.     masks.  All of this data is silently thrown out during file format
  195.     conversion process.  The following operation using PBMPlus loses the
  196.     XWD image window name:
  197.  
  198.     xwdtopnm input.xwd | pnmtoxwd > output.xwd
  199.  
  200.     This loss of data is an artifact of PBMPlus using an intermediate file
  201.     format incapable of holding non-pixel data.  This is, in fact, a tough
  202.     problem.  How do you design an intermediate format that can hold anything,
  203.     so that you don't get any loss of data in format conversion?  HDF is one
  204.     approach to this problem.  It defines tags and values for many of the
  205.     most common image-related attributes, then allows the user to define
  206.     further tags for unanticipated image attributes.  Conversion into and out
  207.     of HDF has a minimum loss of data.
  208.  
  209.     The SDSC Image Tools use a different approach.  Instead of defining an
  210.     intermediate file format, they define an imtermediate memory-only set of
  211.     data structures, called "Tag Tables", "Virtual Frame Buffers", and
  212.     "Color Lookup Tables."  Because they are memory data structures, and not
  213.     file formats, they are considerably more flexible.  They can store
  214.     anything that might be found in an input file.
  215.  
  216.     Format readers parse the input file and drop tags and values into the
  217.     tag table.  Format writers scan the tag table for items relevant for the
  218.     output format and write them out.  The XWD reader, for instance, reads
  219.     in the image window name and drops it into the tag table along with the
  220.     image pixels and color table.  The Sun rasterfile RAS writer scans the
  221.     tag table for images and color tables and writes them out, but it ignores
  222.     the image window name because the RAS format does not support image names.
  223.     The XWD writer, on the other hand, does pick out the image name from the
  224.     tag table and write it out to the output format.  It all depends upon the
  225.     abilities and limitations of the output file format.  The SDSC Image Tools
  226.     do not arbitrarily limit image data to those things that fit into an
  227.     intermediate file format.
  228.  
  229. 6.  The SDSC Image Tools and PBMPlus both support a wide range of image file
  230.     formats.  The following is a list of those formats.  The first column is
  231.     the source or vendor sponsoring the file format and the second column is
  232.     the most common name for the format.  Columns three and four indicate
  233.     whether the format has read (R), write (W), or both (RW) support in the
  234.     PBMPlus or SDSC Image Tools packages.  A blank in these columns means the
  235.     format is not supported in that package.  Formats have been roughly
  236.     grouped by the type of image data they can store.
  237.  
  238.                           Read / Write
  239.                             support
  240.     Source                Format    PBM+    IM Tools
  241.     ------                ------    ----    --------
  242.  
  243.     -- Monochrome-only formats
  244.     Ascii                ascii     W            
  245.     Atari GEM            gem    RW            
  246.     Bennet Yee "face"        ybm    RW            
  247.     BitGraph            bg     W            
  248.     CMU Window Manager        cmuwm    RW            
  249.     EPSON printer            epson     W            
  250.     Gemini 10X printer        10x     W            
  251.     GraphOn                go     W            
  252.     Group 3 FAX            g3    RW            
  253.     LaserJet            lj     W            
  254.     MGR ?                mgr    RW            
  255.     Macintosh Macpaint        macp    RW    RW        
  256.     Microsoft Windows        bmp        RW        
  257.     Mirosoft Windows        cur        RW        
  258.     PBMPlus                pbm    RW    RW        
  259.     PC doodle brush            brush    R            
  260.     Printronix            ptx     W            
  261.     Sun SunView            icon    RW    RW        
  262.     UNIX                plot     W            
  263.     X Window System            x10bm     W            
  264.     X Window System            xbm    RW    RW        
  265.     ZINC ?                zinc     W            
  266.  
  267.  
  268.     -- Grayscale-only formats
  269.     Astronomy guys            fits    RW            
  270.     FaceSaver            fs    RW            
  271.     NYU                hips    R            
  272.     Symbolics             lispm    RW            
  273.     PBMPlus                pgm    RW    RW        
  274.  
  275.  
  276.     -- Color-index only formats
  277.     Microsoft Windows        ico        RW        
  278.     X Window System            puzz     W            
  279.     Motif                uil     W            
  280.  
  281.  
  282.     -- RGB-only formats
  283.     Gould Scanner            gould    R            
  284.     NCSA                icr     W            
  285.     Sun TAAC            iff        RW        
  286.     ??                img    R            
  287.     MTV                mtv    R            
  288.     Atari Degas            pi1    RW            
  289.     Atari Degas            pi3    RW            
  290.     PIXAR                pic        RW        
  291.     Alias                pix        RW        
  292.     PBMPlus                ppm    RW    RW        
  293.     QRT Ray Tracer            qrt    R            
  294.     raw                raw    R            
  295.     SGI                rgb        RW        
  296.     Wavefront            rla        RW        
  297.     Utah Raster Toolkit        rle        RW        
  298.     Atari Spectrum            spct    R            
  299.     Atari Spectrum            spu    R            
  300.     SDSC                synu        RW        
  301.     AVS                x        RW        
  302.     XIM                xim    R            
  303.     X Window System            xpm    RW            
  304.  
  305.  
  306.     -- Mixed formats
  307.     Adobe                eps    RW     W        
  308.     Compuserve Standard        gif    RW    RW        
  309.     NCSA Standard            hdf        RW        
  310.     Amiga                ilbm    RW            
  311.     PC                pcx    RW    RW        
  312.     Macintosh Standard        pict    R    RW        
  313.     Adobe                ps         W        
  314.     Sun                rast    RW    RW        
  315.     Targa                tga    R    RW        
  316.     Aldus Standard            tiff    RW    RW        
  317.     Khoros                viff        RW        
  318.     X Window System            xwd    RW    RW        
  319.  
  320.     ( Please, no flames about the correctness of the above list.  Some
  321.       of these formats are pretty obscure, and have absolutely no
  322.       explanations given in either the PBMPlus code or its man pages. )
  323.  
  324.     PBMPlus support is strongest for monochrome and grayscale file formats
  325.     used on PCs, Ataris, Macs, and other low-end systems.  PBMPlus also
  326.     focuses on smaller software packages (like QRT and MTV), games and
  327.     cute programs (like PUZZ, and FS), and printer device protocol files
  328.     (like PTX and EPSON).
  329.  
  330.     The SDSC Image Tools instead concentrate on high-end systems and high-end
  331.     color formats, such as Alias PIX, Wavefront RLA, Khoros VIFF, NCSA HDF,
  332.     Sun TAAC IFF, PIXAR PIC, AVS X, and SGI RGB.  These file formats dominate
  333.     the high-end workstation graphics world and are those we found ourselves
  334.     most in need of during scientific visualization and animation work.
  335.     PBMPlus supports none of these.
  336.  
  337.     PBMPlus image file format support is also strangely sparse.  Some formats
  338.     can only be read, but not written.  Other formats can only be written,
  339.     but not read.
  340.  
  341.     The SDSC Image Tools support read and write handlers for all supported
  342.     file formats, except PostScript and EPS.  These formats are written
  343.     but not read.  To read PostScript or EPS files properly requires the
  344.     implementation of a full PostScript interpreter and is well beyond
  345.     the scope of this project.
  346.  
  347. 7.  Image file format conversion in the PBMPlus package is done with a
  348.     collection of ** 87 ** separate tools!  To read a Sun Rasterfile, use
  349.     "rasttopbm" or "rasttoppm" or "rasttopnm".  To write it back out again,
  350.     use "pbmtorast" or "ppmtorast" or "pnmtorast".  That's 6 tools for just
  351.     one file format.
  352.  
  353.     The SDSC Image Tools place file format support in the C function library.
  354.     All tools simply call the top level read or write routine in the library.
  355.     That routine then fans out to all the appropriate file format read and
  356.     write handlers.  This lets tools support all formats from a single tool.
  357.  
  358.     The prime tool for image file format conversion in the SDSC Image Tools
  359.     is "imconv", which supports all 30+ formats within 1 tool, not 87.
  360.  
  361. 8.  The SDSC Image Tools are implemented atop a binary I/O package that
  362.     portably handles reading and writing binary data to files, streams, and
  363.     data arrays.  Such a package is absolutely necessary in order to handle
  364.     differences in byte order, word size, floating point format, and structure
  365.     padding.  The use of such a binary I/O package has allowed us to port the
  366.     Image Tools, without any change of higher-level code, to a dozen
  367.     architectures, including Suns, SGIs, DEC hosts, and even our Cray Y-MP.
  368.  
  369.     The PBMPlus package is not implemented with portability in mind.  There
  370.     are numerous instances within the code where byte order or word size
  371.     is assumed.  Such code will not work on a Cray, for instance.
  372.  
  373. 9.  The SDSC Image Tools were designed to have a consistent and intuitive user
  374.     interface.  All tools have -help arguments to display on-line help
  375.     information distilled from the full man pages.  Argument parsing is
  376.     consistent throughout the package.
  377.  
  378.     Man pages exist in the SDSC Image Tools for all command-line tools, all
  379.     function library routines, and all image file formats.  Man pages explain
  380.     tool or routine usage, motivation for usage, algorithms used, and give
  381.     multiple usage examples.  File format man pages explain where the file
  382.     format comes from, where it is typically used, and how we support it.
  383.  
  384.     PBMPlus tools, however, use a mish-mash of command-line argument styles and
  385.     virtually never have on-line help.  Man pages are sparse and almost never
  386.     include usage examples.  The following, for instance, is the entire
  387.     PBMPlus man page for the "icontopbm" converter for the Sun icon file format:
  388.  
  389.     NAME
  390.         icontopbm - convert a Sun icon into a protable bitmap
  391.     SYNOPSIS
  392.         icontopbm [ iconfile ]
  393.     DESCRIPTION
  394.         Reads a Sun icon as input.  Produces a portable bitmap as
  395.         output.
  396.     SEE ALSO
  397.         pbmtoicon(1), pbm(5)
  398.     AUTHOR
  399.         Copyright (C) 1988 by Jef Poskanzer.
  400.  
  401.     The SDSC Image Tools man page on the Sun icon format takes three pages.
  402.     It includes syntax examples for calling "ImFileRead( )" and "ImFileWrite( )"
  403.     to read and write the format, and describes the purpose and typical use
  404.     of Sun icon files.  Here's the first two paragraphs of the DESCRIPTION
  405.     section:
  406.  
  407.     DESCRIPTION
  408.         icon image files are used by Sun Microsystem's SunView  win-
  409.         dow  system,  NeWS window system, OpenWindows NeWS tool set,
  410.         and X11 XView tool set for the storage  of  icons,  cursors,
  411.         fill  patterns,  and  pieces  of widgets (like button check-
  412.         marks).
  413.  
  414.         Sun icon files can be  most  easily  generated  using  Sun's
  415.         iconedit(1)  icon and cursor editor.  The Sun operating sys-
  416.         tem release includes a directory of standard icons, cursors,
  417.         background patterns, and widget pieces in icon format in the
  418.         directory /usr/include/images.  See  the  Sun  documentation
  419.         set  for  details  on  how to use the tools dealing with Sun
  420.         icon files.
  421.  
  422.     The man page goes on to give common file name prefixes for Sun icon files
  423.     and a brief overview of the Sun icon file format itself, including a
  424.     sample icon.  The DOCUMENTATION section of the man page tells you where
  425.     to find out more about the file format, and SEE ALSO points you to
  426.     additional related tools, routines, and file formats, such as the
  427.     Microsoft Windows icon format.
  428.  
  429.  
  430. And so on.  There are significant differences between the SDSC Image Tools
  431. and the PBMPlus package.  Let us return to the net posting that sparked this
  432. discussion:
  433.  
  434.     >Don't forget pbmplus *is* available in source code and does 99 percent
  435.     >of what imconv does (and often does it faster!).  It's available with
  436.     >the X11 distribution in the contrib directory or from your favorite
  437.     >FTP site (wuarchive.uwstl.edu comes to mind).
  438.  
  439. -  PBMPlus clearly does *not* do 99% of what the SDSC Image Tools do.
  440.  
  441. -  PBMPlus is not faster.  It couldn't be.  To do anything in it you first
  442.    have to convert your image file to one of the PBMPlus file formats.  Then,
  443.    after doing your task, you have to convert back out again into the format
  444.    you really want your result in.  At a minimum this requires two extra file
  445.    reads and two extra file writes.
  446.  
  447.    For example, to rotate an 8-bit Sun Rasterfile by 45 degrees, you must do
  448.    the following operations in PBMPlus:
  449.  
  450.     rasttopnm file.ras > file.pnm        -- RAS to PNM
  451.     pnmrotate 45.0 file.pnm > rfile.pnm    -- Rotate by 45
  452.     ppmquant 256 rfile.pnm > r256file.pnm    -- Reduce to 256 colors
  453.     pnmtorast r256file.pnm > rfile.ras    -- PNM to RAS
  454.  
  455.    The "ppmquant" is necessary because the rotated image will have more than
  456.    256 colors (an artifact of the rotation algorithm).  Calling "pnmtorast"
  457.    on an image with more than 256 colors generates an RGB RAS file, not an
  458.    8-bit RAS file suitable for display on a SPARCstation.  So, if we want an
  459.    8-bit RAS file, we first have to quantize the image back down to 256 colors.
  460.  
  461.    This same task may be accomplished using the SDSC Image Tools:
  462.  
  463.     imrotate file.ras -rot 45.0 -outindex rfile.ras
  464.  
  465.    These operations were timed using an 8-bit 512x480 Sun Rasterfile of the
  466.    standard Mandrill.  File I/O was to and from local disk on a Sun
  467.    SPARCstation 2.
  468.  
  469.             Execution Times (in seconds)
  470.             Real    User    Sys
  471.             ----    ----    ---
  472.     PBMPlus        95.9    90.7    3.0
  473.     Image Tools    11.5    10.7    0.5
  474.  
  475.    On this operation, the SDSC Image Tools accomplished the task 8.3 times
  476.    faster than PBMPlus.
  477.  
  478.    Actually, we had to hack the test.  The Mandrill we had was a 24-bit
  479.    Utah Raster toolkit RLE image which we first had to convert to a RAS file,
  480.    because PBMPlus doesn't support RLE files.  After conversion, "rasttopnm"
  481.    complained it was unable to read the file.  This turned out to be because
  482.    we'd converted the file using "imconv", which had, as always, defaulted to
  483.    the best compression possible and generated a compressed RAS file (a
  484.    standard part of the RAS file specification).  However, "rasttopnm" doesn't
  485.    understand compressed RAS files, so we had to convert the RAS file once
  486.    more into something PBMPlus could understand.  This extra hassle and
  487.    compute time was not included in the times reported above.
  488.  
  489. -  Version 2.1 of the SDSC Image Tools are available via anonymous ftp from
  490.    "ftp.sdsc.edu".  Tool source code is included.  Library source code is not.
  491.  
  492. -  Version 2.1 of the SDSC Utilities library, including the binary I/O package,
  493.    argument parsing package, and tag table package are also available via
  494.    anonymous ftp from "ftp.sdsc.edu".  Library source code is not included.
  495.  
  496.  
  497.  
  498. Further information on the SDSC Image Tools may be found in the following:
  499.  
  500.     Nadeau, D.R., "Software Tools for Image Conversion and Printing,"
  501.     Proceedings of the Visions of Supercomputing, Cray Users Group
  502.     Conference, September 1991.
  503.  
  504.     Nadeau, D.R., Elvins, T.T., and Bailey, M.J., "Image Handling in a
  505.     Multi-vendor Environment," Proceedings of the IEEE Visualization '91
  506.     Conference, IEEE Computer Society Press, October 1991.
  507.  
  508.     Nadeau, D.R., Elvins, T.T., "Network Resources in a Scientific
  509.     Computing Environment," Proceedings of the Third Eurographics
  510.     Workshop on Visualization in Scientific Computing, April 1992.
  511.  
  512.     San Diego Supercomputer Center, SDSC Image Tools manual pages,
  513.     Version 2.1, December 1992.
  514.  
  515. Related information may be found in the following:
  516.  
  517.     Elvins, T.T., "A Visualization Computing Environment for a Widely
  518.     Dispersed Scientific Community," State of the Art in Data
  519.     Visualization, ACM SIGGRAPH 90 course notes, Course Number 27, 1990.
  520.  
  521.     Elvins, T.T., Nadeau, D.R., "NetV:  An Experimental Network-based
  522.     Volume Visualization System," Proceedings of the Second IEEE Conference
  523.     on Visualization, October 1991.
  524.  
  525.     Elvins, T.T., Nadeau, D.R., "Scientific Visualization in a Network
  526.     Computing Environment," Proceedings of the EUROGRAPHICS UK 1992
  527.     Conference, 1992.
  528.  
  529.     Nadeau, D.R., Bailey, M.J., "Network Video Device Control,"
  530.     Proceedings of the Third IEEE Conference on Visualization, October 1992.
  531.  
  532. Thank you.
  533.  
  534.  
  535. ---
  536. Dave Nadeau                        nadeau@sdsc.edu
  537. Advanced Scientific Visualization Laboratory        (619) 534-5062
  538. San Diego Supercomputer Center
  539. P.O. Box 85608   San Diego, CA   92186-9784
  540.  
  541.