THE UTAH RASTER TOOLKIT The Utah Raster toolkit is a collection of programs and C routines for dealing with raster images commonly encountered in computer graphics. It provides the following major functions: * A device and system independent image format for storing images and information about them. Called the RLE format, it uses run length encoding to reduce storage space for most images. * A library of C routines for reading, writing and manipulating images stored in the RLE format. * A collections of programs for manipulating and displaying RLE images. The Format: The device independent RLE file has two parts, the header, which stores information about the image (size, position, channel information, color maps, comments, etc), and the actual image data in a run length encoded format. The RLE format often requires about a third of the available space for most "image synthesis" style images. If the image does not compress well, the RLE format stores it as straight pixel data with little extra overhead. The format was first developed around 1983 at the University of Utah. The Library: C routines are provided for setting up and reading the image header, and for reading and writing the image a scanline at a time. Images can be read or written using two different methods. Using the "row" method, the library performs the RLE encoding and decoding. With the "raw" method, scanlines are constructed directly with RLE opcodes. Additional routines are available for generating dither matrices (e.g., for display programs running on devices with less than 24 bits of color). The Tools: applymap - Apply color map values to pixel values. avg4 - Downfilter an image by 1/4, generating a matte channel if one didn't previously exist crop - Crop an image. dvirle - Convert TeX output into anti-aliased images. fant - Rotate and/or scale in image by an arbitrary (float) value. mcut - Quantize an image from 24 to eight bits using the median cut algorithm. mergechan - Merge several channels from different files into a single RLE file. pyrmask - Blend images using Gaussian pyramids. repos - Change the position in the RLE header. rleClock - Generate an image of a clock. rleaddcom - Add a comment to the RLE file's header. rlebg - Generate a solid or variable background. rlebox - Find the actual non-background area of an image. rlecomp - Digital image compositor. Provides the operations over, atop, in, out, xor, plus, minus and diff on two images. rledither - Floyd-Steinberg to a given color map. rleflip - Rotate an image by 90/180 degree increments. rlehdr - Dump the contents of the RLE header in human readable form. rlehisto - Generate the histogram of an RLE file. rleldmap - Load a color map into an RLE file from a variety of sources. rlemandl - Generate Mandlebrot sets as RLE files. rlenoise - Adds random noise to an image. rlepatch - Overlay several smaller images over a larger one. rleprint - Print all pixel values. rlequant - Variance-based color quantization. rlescale - Generates gray scale and color scale RLE files. rleselect - Select specific images from a file. rlesetbg - Set the background color stored in the RLE header. rleskel - A skeleton application, for rolling your own. rlespiff - Simple contrast enhancement to "spiff up" images. rlesplice - Splice images together horizontally or vertically. rlesplit - Split a file containing several images into several files. rleswap - Swap, copy or delete channels in an RLE file. rlezoom - Enlarge or shrink an image with pixel replication. smush - Perform a simple Gaussian filter on an image. to8 - Convert a 24 bit RGB image to an eight bit dithered one. tobw - Convert 24 bits to 8 bits black and white. unexp - Convert an "exponential" image to a displayable one. unslice - Quickly assemble an image from several horizontal strips Format conversion programs are provided for: - Ascii (line printer pictures) (to) - Cubicomp image format (from) - GIF (to and from) - MacPaint (to and from) - PBMPLUS pgm (from) and ppm (to and from) - PostScript (to) - Sun rasterfiles (to and from) - Targa image format (from) - TIFF (to and from) - Wasatch paint systems (from) - Wavefront 'RLA' format (to and from) - Simple pixel streams (color & B&W) (to and from) Display programs are provided for: get4d - SGI Iris 4D workstation get_orion - Orion displays getap - Apollo workstations getbob - HP Series 300 ("bobcat") running Windows 9000 getcx3d - Chromatics CX1500 display getfb - BRL "libfb" displays getgmr - Grinnell GMR-27 (remember those?) getiris - Iris in raw 24 bit mode. getmac - Macintosh. getmex - Iris running Mex getqcr - Photograph images with the Matrix QCR-Z camera. getren - HP 98721 "Renaissance" display getsun - Suns running Suntools getx10 - Workstations running the X10 window system getx11 - Workstations running X11 - [Note display programs for a particular device are simple to add] All the tools are designed to pipe together, so they can be used as filters on images much like the standard Unix tools filter text. Plus: The raster toolkit also includes Unix man pages for the library and commands, some sample images, and additional documentation. System Requirements: We have successfully ported the Raster Toolkit to a number of Unix systems, including 4.2/4.3bsd (Vax, Sun, etc), Apollo Domain/IX, HP Series 300, SGI Iris, IBM RT and RS6000, Stardent GS-1000, Cray running UNICOS. Display programs are included for several devices. Creating display programs for additional devices is a straightforward task. Distribution: For Internet sites, the toolkit may be obtained via anonymous FTP to the sites listed below, in the file pub/urt-3.0.tar.Z. Some sample images are in the file pub/urt-img.tar.Z, and the file pub/urt-doc.tar.Z contains some (somewhat out-of-date) "papers" describing the toolkit. We are still working out distribution mechanisms for sites not connected to the Internet. We will probably be adding other archive sites; please send mail to one of the addresses below if you don't see a site near you (particularly if you are on the other side of the Atlantic or Pacific). If you would like to offer to be an archive site, please let us know, too. cs.utah.edu (128.110.4.21) weedeater.math.yale.edu (130.132.23.17) freebie.engin.umich.edu (35.2.68.23) Although the Raster Toolkit software is copyrighted, it may be freely re-distributed on a "GNU-like" basis. If you have further questions, please direct them to toolkit-request@cs.utah.edu or urt-request@caen.engin.umich.edu (but not both).