GGobi Pipeline
==============

The concept of a data pipeline is an old one, and is present in some
form in all interactive and dynamic graphic programmes.  This talk
discusses the pipeline that underlies GGobi and how it is being
extended.  While the pipeline has always been an implicit part of
GGobi, the new design makes it more modular, formally defined and more
flexible.

The pipeline is made up of multiple stages, each encapsulating some
transformation of the data matrix.  The transformations are very
general, and may involve adding new variables (eg. principle
coordinates), removing observations (eg. subsetting), or transforming
data values.  Each pipeline stage must also provide the inverse
operation so that events can travel both up and down the pipeline.
The stages fall into five basic groups: transform, standardise,
convert, project and viewport.

Pipeline stages are designed to be composed in any order, and the
particular structure of a pipeline will define the operation of a
particular interactive/dynamic graphics software.  For example, GGobi
(the application) is a GUI on top of a particular composition of
pipeline stages.

Hadley Wickham
Iowa State University