.so KHOROS_HOME/manual/preface/copyright.sec
.bp
.J1 1 "Manual Contents"
.ds LH \fIKhoros Manuals\fP
.ds RH Manual Contents
.nr HM 1.5i
.af PN i
.ds RF \\n(PN
.RP
.P1
\ 
.bp 1
.ps 16
.ce
.B 
MANUAL CONTENTS
.R
.sp 3
.LP
.ps 14
Preface\fP
.sp 2
.LP
.ps 16
\fIVolume I - Khoros User's Manual\fP
.sp 2
.RS
.LP
.ps 14
Chapter  1 - GETTING STARTED
.sp 1
.LP
.ps 14
Chapter  2 - CANTATA
.sp 1
.LP
.ps 14
Chapter  3 - XPRISM2
.sp 1
.LP
.ps 14
Chapter  4 - XPRISM3
.sp 1
.LP
.ps 14
Chapter  5 - EDITIMAGE
.sp 1
.LP
.ps 14
Chapter  6 - ANIMATE
.sp 1
.LP
.ps 14
Chapter  7 - WARPIMAGE
.sp 1
.LP
.ps 14
Chapter  8 - VIEWIMAGE
.sp 1
.LP
.ps 14
Chapter  9 - CONCERT
.sp 1
.LP
.ps 14
Chapter 10 - OTHER PROGRAMS
.RE
.sp 2
.LP
.ps 16
\fIVolume II - Khoros Programmers's Manual\fP
.sp 2
.RS
.LP
.ps 14
Chapter  1 - WRITING PROGRAMS / VIFF FORMAT
.sp 1
.LP
.ps 14
Chapter  2 - USER INTERFACE SPECIFICATION
.sp 1
.LP
.ps 14
Chapter  3 - PREVIEW
.sp 1
.LP
.ps 14
Chapter  4 - COMPOSER
.sp 1
.LP
.ps 14
Chapter  5 - GHOST ROUTINES
.sp 1
.LP
.ps 14
Chapter  6 - CONDUCTOR
.sp 1
.LP
.ps 14
Chapter  7 - EXAMPLES & TROUBLE SHOOTING
.sp 1
.LP
.ps 14
Chapter  8 - KHOROS LIBRARIES
.sp 1
.LP
.ps 14
Chapter  9 - CONFIGURATION MANAGEMENT
.sp 1
.LP
.ps 14
Chapter 10 - INSTALLATION GUIDE
.sp 1
.LP
.ps 14
Chapter 11 - KRAFTSMAN
.RE
.sp 2
.LP
.ps 16
\fIVolume III - Khoros Reference Manual\fP
.sp 2
.RS
.LP
.ps 14
Chapter 1 - MAN (1) PAGES
.sp 1
.LP
.ps 14
Chapter 2 - MAN (3) PAGES
.RE
.sp 2
.LP
.ps 16
\fIAppendices\fP
.sp 2
.RS
.LP
.ps 14
Appendix A - Glossary
.sp 1
.LP
.ps 14
Appendix B - Imake Symbols and Variables
.RE
.sp 1
.br
.ds RH Preface
.bp
.K0 PREFACE
.sp
.NH 1 HISTORY
.sp
.PP
The Khoros system has grown out of an effort to provide a more effective
environment for research in image processing by supporting the rapid
prototyping of imaging applications.
It began in 1987 with the creation of the Vision Lab research group
under Dr. John Rasure.
The first step taken was to identify and assemble a collection of 
fundamental algorithms for image processing.  
In addition, a 2D/3D plotting package and an interactive image
display/editor were written to provide tools for visualizing image data.
The goal was to bring together a library of programs with a consistent, 
easy to use interface.  
.PP
The next step was the search for a more user-friendly interface to the 
growing library, especially as applications became more sophisticated,
drawing on larger numbers of routines in more complicated combinations.
Since the results of image processing programs are typically visual,
it seemed particularly appropriate that the means of obtaining those
results should be visualized also.
Therefore, it was natural to look to the exciting new applications of 
computer graphics, made available with the new generation of less 
expensive, high resolution workstations.
The decision was made to base the graphical component on the X Windows
network-transparent window system.  Dependence on the Athena Widget set
was kept at the lowest level so that it could be later replaced if a 
more suitable alternative was found.
.PP
Several different graphical user interfaces were considered, 
tried, and outgrown, with the best features of each retained for the 
next iteration.
What finally emerged was a hybrid approach.  A data flow graph, similar 
to the block diagrams already familiar to practitioners in the field of 
image/signal processing, is used to access and connect routines from the
processing library.  A graphical user interface is used to acquire 
additional information needed by those routines.
.PP
As the visual interface to the image processing library was evolving, so
were tools to assist in the use of the system.  Complete hand coding
of programs for the image processing library gave way to the use of code 
generators.
Development and maintenence tools were introduced to support the 
creation of command-line and graphical user interfaces to programs.  
A high level user interface specification was defined as the foundation
for defining the user interface to library routines as well as the tools 
themselves.
.PP
The original simple, pipeline concept of 
the visual user interface was then extended to a complete, high-level, 
visual programming language by the addition of control constructs 
and visual hierarchy.
.PP
Meanwhile, other high level application programs were added to the system. 
At the
same time, the image processing library was expanding at a rapid pace, and was
joined by a digital signal processing library and an image file format 
conversion library. The graphics library, the image display library, and the
expression parser matured as was necessitated by the needs of the new high
level applications that required their services.
.PP
That the project ultimately proved successful is, as they say, "history."
Usage of the system has expanded along with the library of algorithms,
with new routines continually being added.  The development of new
routines has always been driven by a specific need.  The applications
of environmental monitoring and medical imaging have been primary contibutors
to the current library which contains over 250 image/signal processing and 
pattern recognition algorithms.
.PP
Because image processing spans a variety of disciplines and generally
demands high computational requirements from a system,
it has provided a good test bed for the development of Khoros.
The ultimate test will come when Khoros finally cuts loose of its domain
specific mooring and takes flight with new and unrelated applications.
This is only possible because the application specific layer has always
been isolated from the interface.  With the creation of a new library of
information processing routines to represent the nodes of the visual
language flow graph, Khoros will provide a powerful, extensible interface
to an entirely new domain.
.sp 3
.NH 1 "KHOROS SYSTEM OVERVIEW"
.sp
.so KHOROS_HOME/doc/composer/KHOROS_system.doc
.sp 3
.NH 1 "ACKNOWLEDGEMENTS"
.sp
.PP
The Khoros system was created through the efforts of:
.in +.5i
.sp
Danielle Argiro
.br
Pascal Adam
.br
Charlie Gage
.br
Ramiro Jordan
.br
Steve Jorgenson
.br
Steve Kubica
.br
Donna Koechner
.br
John Rasure
.br
John Salas
.br
Tom Sauer
.br
Carla Williams
.br
Scott Wilson
.br
Jeremy Worley
.br
Mark Young
.in -.5i
.sp 2
.PP
Important contributions to the Khoros system were made by:
.in +.5i
.sp
.br
Tait Cyrus, Greg Donohoe, Eric Engquist, Stephanie Hallett, 
Don Hush, Richard Krukar, Mike Lang, Shirley Lee, Per Lysne,
Ron E. Neher, and Marcelo Teran.
.br
.in -.5i
.sp 2
.PP
Our sincere thanks are extended to these people provided valuable 
assistance and support:
.in +.5i
.sp
.br
Patrick Arnoul, James Brunt, Robin Corbet, Robert Estes, Dave Forslen,
Jim Gosz, Chuck Hanson, Sakari Jalovaara, Dick Kruger, Philip Kegelmeyer, 
Al McPherson, Emiel Polman, John Salas, Jim White, Mathew Yeates, and
Kurt Zeilenga.
.br
.in -.5i
.sp 2
.PP
Thanks to the following people for doing ports of Khoros to different 
architectures, providing changes to support different architectures,
and/or for providing access to their systems:
.in +.5i
.sp
.br
Rob Armstrong, Dave Brooks, Robert Clark, Andrew J. Cole, Maurizio Davini, 
James Gallagher, Ping-Kang Hsiung, Konstantinos Konstantinides, Laura Lang, 
Reiner Lenz, George Lindholm, Brian Love, Hideo Noro,
Bill Mermagen, Roque Oliveira, Bill Samoyoa, 
Bob Weaver, and Jim White.
.br
.in -.5i
.sp 2
.PP
Valuable legal services were provided by:
.in +.5i
.sp 
.br
Bill Chappell, \fIChappell & Barlow\fP
.br
Al Sopp, \fIUNM Patent Attorney\fP
.sp
.in -.5i
.sp 2
.PP
And special thanks to our extremely tolerant system managers:
.in +.5i
.sp
.br
John Salas, Mark Walker, Tom Konerth, and Richard McCracken
