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

annala@neuro.usc.edu (A J Annala) (01/05/91)

I have not used the LBL SCRY package extensively.  It is much smaller in size
than any of the other source code available systems described previously.  It
installed quite easily on my SUN system.  As described below, SCRY provides an
excellent example of how to perform compute intensive tasks on supercomputers,
display intermediate results at a workstation, and use an ibm pc to operate a
stand alone insert edit frame by frame animation controller for making movies
of computational fluid dynamics (and other) simulations.  I cannot recommmend
this system positively or negatively -- however, if you are interested in the
generation of video movies on a $10,000 or less investment then you may learn
much from examining this system.

Alexander-James Annala
Neural, Informational & Behavioral Sciences Program
HEDCO Neuroscience Building, Room 534
University of Southern California
Los Angeles, CA 90089-2520

-------------------------------------------------------------------------------

The following is reprinted from the scry software distribution literature:

-------------------------------------------------------------------------------

     Scry is a distributed image handling system  that  pro-
vides both image compression and transport on local and wide
area networks, and a collection of higher level graphics and
scientific  visualization  functions. The system can be dis-
tributed  among  workstations,  between  supercomputers  and
workstations,  and  between supercomputers, workstations and
video animation controllers.  The system  is  most  commonly
used to produce video based movie displays of time dependent
data and complex 3D data sets,  and  to  handle  the  images
resulting from certain image processing operations.

     In the scientific visualization process, the system  is
typically  used in one of two configurations.  In the first,
the supercomputer  application  generates  data  (e.g.  flow
field  vectors)  that  are compressed and sent to a graphics
workstation over a wide area network. The graphics  worksta-
tion  environment  is  used to design and debug the graphics
visualization for a movie.  Finally, the raster images  that
represent  the  frames  of the movie are compressed and sent
over a local area network to the video animation controller.

     Alternatively, the data, and even its representation in
terms  of graphics primitives, may be too voluminous to rea-
sonably transport across a network.  In this case the  visu-
alization,  rendering  and image compression are all done on
the  supercomputer.  The compressed  images  are  then  sent
over a wide area or local area network to a user workstation
at the local site.

     The image servers,  that  is  the  local  systems  that
receive the image, can be either a window based workstation,
such as a Sun color workstation using SunView, or a PC based
animation  controller.  All of the image servers present the
same interface to the client programs. A typical use of  the
Sun  based server, for example, is to have a graphics window
which displays the images as they come in  from  the  remote
supercomputer,  while  storing  the  compressed  form of the
image on disk for later video recording or preview.  In  the
case  of the PC server the images are recorded in video for-
mat, either on tape or video-optical disk.

     Layered on  top  of  the  raster  image  interface  are
several   visualization   algorithms  that  are  of  general
interest.  One of these  is  is  Lorensen's  Marching  Cubes
[SIGGRAPH,  1987].   This  algorithm provide a mechanism for
displaying the level surfaces of a 3D scalar field of  arbi-
trary  complexity. We have used this to explore mathematical
functions   by   displaying   a   sequence    of    surfaces
f(x,y,z)=c1,c2,c3 . . . .  as  a movie, as well as showing a
single level surface evolving in time for applications  such
as  flame-front  propagation studies.  The user interface to
this algorithm entails specification of a 3D grid  of  func-
tion  values,  the  function  value to be displayed, and the
presentation details of color, light source position,  view-
ing position, etc.

     The system has been used to make a number of movies for
Lawrence  Berkeley Laboratory scientists.  Scry led directly
to new insights from scientific data  because  of  the  ease
with  which  the  system  generates  movies  due to a simple
software interface, the  ubiquitous  availability  of  video
technology,  and  to the rapid turnaround between generating
and viewing movie ``clips''.

References:

W. E. Johnston, D. E. Hall,  J.  Huang,  M.  Rible,  and  D.
Robertson.   ``Distributed  Scientific Video Movie-Making''.
Proceedings of the Supercomputing Conference 1988 (The  Com-
puter  Society  of  the IEEE).  Also available as LBL-24996,
University  of  California,  Lawrence  Berkeley  Laboratory,
Berkeley, CA  (1988).

William E. Lorensen and Harvey E. Cline.  Marching Cubes:  A
High  Resolution  3D  Surface Construction Algorithm 4 (July
1987), 163-169.

     Additional references can be found in the man pages.

Note on this Distribution:

     This distribution consists of the source code and docu-
mentation 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 first revision of the original Scry distri-
bution.   It  now  runs  under  UNICOS on Cray's (as well as
under UNIX on Sun's and Vaxen), with exceptions noted in the
man  pages.   The  main  additions  are an implementation of
Lorensen and Cline's marching cube algorithm (for  reference
see  above),  the capability for 3D viewing, and an expanded
Anima.   There  has  been  little  change  to  the  original
material except for Anima.

     Scry   is   available   by   anonymous   ftp    (login:
``anonymous'',   password:   ``guest'')   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).  Be aware that the
compressed file is just  over  1  megabyte.   Once  on  your
machine, run uncompress on scry.tar.Z, and extract the files
using

tar xvf scry.tar scry

     We invite your  comments  and  suggestions  about  this
code.  For further information contact:
Bill Johnston, (wejohnston@lbl.gov, ...ucbvax!lbl-csam.arpa!johnston)
          or

David Robertson (dwrobertson@lbl.gov, ...ucbvax!lbl-csam.arpa!davidr)
Advanced Development Group
MS 50B/3238
Lawrence Berkeley Laboratory
1 Cyclotron Road
Berkeley, CA  94720