Our experimental rigs and equipment are always kludged together, combining software and hardware from many different manufacturers with our custom-built equipment and software. In an effort to make all of these devices work together, we have developed the following general scheme for data flow on our rigs.  Sometimes for practical reasons we deviate from this scheme, but understanding this general scheme will help in understanding the role of various hardware and software products within our system.

There are 5 basic stages:
  1. Stimulus controllers provide stimulation (visual, optical, etc); these stimuli are specified either a priori or are based on the results of prior responses.
  2. Responses, status indicators, and other signals are acquired, online measurements are computed, and new stimuli are generated if necessary
  3. Related responses and records are combined and added to a database
  4. Offline analyses are run; results are added back to their related records in the database [Documentation] [Examples 1 2 3 4]
  5. Figures, tables, and reports are generated from the results in the database [see Documentation in step 4, Example 4 in step 4]