[comp.archives] [comp.graphics.visualization] Re: SOURCE CODE AVAILABLE SOFTWARE: BERKELEY SCRY SCIENCE ANIMATION SYS

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)