Presentation (software)

Presentation is a Windows software application for conducting psychological and neurobehavioral experiments, developed by Neurobehavioral Systems Inc. and first released in 2003. It supports auditory and visual stimuli creation and delivery, records responses from nearly any input device and allows control of parallel port, serial port, TCP/IP and Ni-DAQ for communication to and from fMRI devices, response devices, eye trackers and brain imaging equipment. It also supports Microsoft Kinect for Windows. It is temporally accurate to less than a millisecond. Presentation has over 10,000 users worldwide. Presentation supports Unicode via the utf-8 specification.

Users
Presentation is used in universities and their experiments all over the world, such as
 * Centre for Cognitive Neuroimaging
 * Perception, memory and aesthetics of indeterminate art
 * Common ground for spatial cognition? A behavioral and fMRI study of sex differences in mental rotation and spatial working memory
 * Contagious yawning and the brain
 * Stereoscopic Depth and the Occlusion Illusion
 * Neural mechanisms underlying auditory feedback control of speech
 * An Interdisciplinary Study of Visual Indeterminacy

Programming
Presentation uses two proprietary scripting languages to describe and control experiments. It also has a Python module allowing the use of Python to control experiments.

===SDL (Scenario Description Language) === SDL is a simple language used to describe the stimuli and trials which make up an experiment. Compile-time logic can be used to generate and/or randomize stimuli.

PCL (Program Control Language)
PCL is a fully functioning scripting language based loosely on C and Basic. It uses strong type checking to ensure that the intention of the programmer is explicit. Loops, "if" statements and subroutines are supported. It can be used in conjunction with the objects created in SDL, or used alone to create, manipulate and present stimuli. The editor supports code completion.

Python
Presentation has a Python module which allows users to use Python instead of PCL to script their experiments. Anything that can be done in PCL can also be done in Python.