johnston@george.lbl.gov (Bill Johnston) (01/10/91)
Archive-name: graphics/pixutils/scry/1991-01-09 Archive: csam.lbl.gov:/pub/Scry.1.2.README [128.3.254.6] Original-posting-by: johnston@george.lbl.gov (Bill Johnston) Original-subject: Re: SOURCE CODE AVAILABLE SOFTWARE: BERKELEY SCRY SCIENCE ANIMATION SYS Reposted-by: emv@ox.com (Edward Vielmetti) Since Alexander-James Annala has referenced Scry, let me say that the next version of Scry (1.2) should be available shortly. The README for the new distribution follows. Questions should be addressed to David Robertson. Bill Johnston (wejohnston@lbl.gov) David Robertson (davidr@george.lbl.gov) ================================================================== Scry A Distributed Image Handling System Version 1.2 An Imaging Technologies Project of the Information & Computing Sciences Division Lawrence Berkeley Laboratory 1 Cyclotron Road Berkeley, California 94720 Scry is a distributed image handling system that provides image transport and compression on local and wide area networks, image view- ing on workstations, recording on video equipment, and storage on disk. The system can be distributed among workstations, between supercomputers and workstations, and between supercomputers, worksta- tions and video animation controllers. The system is most commonly used to produce video based movie displays of images resulting from visualization of time dependent data, complex 3D data sets, and image processing operations. Both the clients and servers run on a variety of systems that provide UNIX-like C run-time environments, and 4BSD sockets. Programs have been written using the Scry client library for diverse applications including an image processing system (HIPS), a color image manipulation system (URT/RLE), and graphics systems (Dore' and AVS). Scry clients have been tested under Unix and UNICOS, and should be easy to port to CTSS with the Sun Remote Procedure Call (RPC) library, and VMS with public domain portable Sun RPC modified to use the Multinet socket library. The next revision of Scry will han- dle reading in an image a scan line at a time for use by smaller- memory clients such as PC's. The system has been used to make numerous movies for Lawrence Berkeley Laboratory scientists. Scry has led directly to new insights from scientific data because of the ease with which the system gen- erates movies due to a simple software interface, the ubiquitous avai- lability of video technology, and to the rapid turnaround between gen- erating and viewing movie ``clips''. The image is generated by a client process (typically the user application). The image display servers, that is the systems that receive the image, can be either a window based workstation, such as a Sun color workstation using X Windows and the XView toolkit, or a PC- based animation controller using MS-DOS with PC-NFS or Excelan socket libraries. All of the image servers present the same interface to the client programs. A typical use of the X workstation-based server, for example, is to have a graphics window which displays the images as they come in from a remote site, while storing the compressed form of the image on disk for later video recording or preview. The PC server is used to convert images to video format and then display and record them, either on tape or video-optical disk. Note on this Distribution: This distribution consists of the source code and documentation needed to build both the Scry servers and clients. The development of Scry is supported by the U.S. Department of Energy, Energy Research Division, under contract DE-AC03-76SF00098. This is the second revision of the original Scry distribution. Based on feedback from Scry users, a number of changes have been made. The workstation-based server and Anima movie previewer now have both X Windows (XView) and Sunview implementations. The Anima file compres- sion format has been changed to the one used by Sun's IFF (Image File Format) in storing image sequences. This compression format produces more compact Anima files (a conversion utility is provided to change an Anima file from the old to the new format). Consistent with the decision to make Scry 1.2 concentrate specifically on software easing the use of image compression, transmission, viewing, and recording, the 3D rendering and 2D minimal GKS client modules have been dropped from this release. Routines have been written for interfacing AVS and Dore' (3D rendering). (These will be provided in the appropriate user-contributed portion of those commercial software packages.) The image format has been generalized from the original TARGA-16 512w x 400h images. Raw 8-, 16-, 24-, and 32-bit images are accepted, and client programs to use Scry to handle RLE, HIPS, and Sun raster- files are provided. If the depth of the image (color resolution) is different from that required by the server, an appropriate transforma- tion is performed either on the client or the server. If the width or height of the image is greater than that of the server, the image is truncated to the server's spatial resolution. Dealing with additional image formats would not be difficult; mainly requiring adding several Scry calls to a program that reads in that particular format image file. Specific support has been added for transmitting images to TARGA M8 and ATVista equipped PC's, and for transmitting to servers which have the X visual format 8-bit PseudoColor. The compression schemes available have also been modified. Frame-to-frame differencing has been dropped. Images that compress well using this technique usually have large amounts of same-color areas, and the Unix function ``compress'', along with the Color Cell Compression (CCC) algorithm of Campbell et al. [SIGGRAPH 1986], usu- ally perform almost as well on such images. There will, of course, be sequences where frame-to-frame differencing makes a big difference, but it was felt that the gain in simplified and modular code was worth eliminating this feature. A new color quantization algorithm replaces the old one. The new code is borrowed from Paul Raveling's IMG code, version 1.3. This algorithm quantizes to 6 bits each of R, G, B for color map entries. Scry's current implementation of the CCC algorithm uses this new quantization, and run-length coding has been added as a final step. The code was also simplified by eliminating the UDP transmission option. (Non-uniform UDP packet size made the code more complex.) Images are now transmitted only with TCP/IP. The PC server implementation now works with both the Excelan and Sun PC-NFS socket libraries (and therefore with all of the Ethernet boards supported by PC-NFS). The marching cubes implementation is no longer included with Scry. It will be provided in a separate tar file, march.tar.Z, in the same directory as the Scry tar file. For those interested in video, a simple movie scripting facility for both the Panasonic TQ2026F videodisk and Sony LVR-5000 videodisks is included. The clients run under UNIX and UNICOS. The X Windows-based server and Anima animation previewer should run on a variety of works- tations; they have been tested on Sun 3's and 4's. Scry will be available by anonymous ftp (login: ``anonymous'', password: user e-mail address) starting on December 20 from csam.lbl.gov (128.3.254.6) in pub/scry.tar.Z (a compressed tar file, so don't forget to set binary mode in ftp). Once on your machine, run uncompress on scry.tar.Z, and extract the files using ``tar xvf scry.tar scry'' In addition to the tar file, scry.trouble (in the same directory on csam.lbl.gov) contains hints on dealing with problems people have encountered, and bug fixes as they become available. We invite your comments and suggestions about this code. For further information contact: Bill Johnston, (wejohnston@lbl.gov, ...ucbvax!csam.lbl.gov!johnston) or David Robertson (dwrobertson@lbl.gov, ...ucbvax!csam.lbl.gov!davidr) Imaging Technologies Group MS 50B/2239 Lawrence Berkeley Laboratory 1 Cyclotron Road Berkeley, CA 94720 -- Bill Johnston, Imaging Technologies Group Information and Computing Sciences Division Lawrence Berkeley Laboratory wejohnston@lbl.gov (...ucbvax!csam.lbl.gov!johnston)