Psychtoolbox-3

The most advanced toolbox for neuroscience stimulus presentation, response collection and data collection.
12.6K Downloads
Updated 5 Nov 2024
Psychophysics Toolbox Version 3 (or short "PTB") extends MATLAB with functions for research grade neuroscience stimulus presentation and response collection. The PTB core routines provide trustworthy, precise, and efficient functions for stimulus presentation and response collection in different modalities:
- Visual stimulus presentation by use of modern graphics and display hardware via OpenGL and Vulkan hardware acceleration:
• Drawing of complex 2D stimuli, including use of GPU shaders, framebuffer blending and texture mapping for real-time creation of complex dynamic stimuli and procedural stimuli.
• Movie playback, also of HDR WCG movies, and movie recording, utilizing the GStreamer multi-media framework and many optimizations.
• Video capture and live display, including GPU post-processing of live video, also with precisely timed control of professional class IIDC compliant Firewire and USB-Vision machine vision video cameras and synchronized multi-camera setups (Linux only for IIDC cameras). Includes video recording.
• Drawing of 3D stimuli via direct low level OpenGL commands and via a high level 3D engine.
• Stereoscopic presentation, supporting various different stereoscopic display techniques. This includes support for all head tracked VR, AR, MR headsets with OpenXR driver support on Linux and Windows, e.g., HMDs from Meta / Oculus, HTC, Valve, NorthStar, WMR etc.
• Presentation of stimuli with high color/luminance/contrast precision on a wide range of suitable display hardware for bit depths beyond the typical 8 bits per color range, up to 16 bits per color channel with some equipment.
• High Dynamic Range (HDR) stimulus display on Linux, MS-Windows, and with some limitations on macOS 10.15 and later.
• GPU based fast stimulus post-processing to cover many common tasks like color-correction, gamma correction, geometric display distortion correction, vignette/shading correction.
• Precisely timed and time-stamped stimulus presentation, also on multi-display setups.
• Support for variable refresh rate displays (FreeSync, DisplayPort adaptive sync) on modern Linux.
• Support for multiple types of photometers for display calibration.
- Auditory stimulus presentation with low-latency, sub-millisecond precise timing and time-stamping, multi-channel support and convenient live control of some auditory stimulus parameters. Interfacing with the OpenAL API for 3D spatial stimuli.
- Fast low level control of some types of digital and analog input/output hardware for control of stimulation and recording equipment via serial ports, network and USB.
Response collection, sometimes with millisecond accurate time-stamping is provided from keyboards, keypads, mice, game controllers, and other HID input devices, and also - on Linux and Windows - on multitouch touchscreens. Different common response button boxes and eye trackers are also supported, as well as auditory response collection. Also support for eye gaze tracking on some supported VR headsets.
Psychtoolbox also provides functions for precisely timed execution of code, and for control of the realtime scheduling facilities of the operating system.
Ancillary routines support common needs like color space transformations, the QUEST threshold seeking algorithm and some other psychometric routines, file i/o and various convenient helper routines. A large set of demos is included.
Psychtoolbox works best on recent versions of the GNU/Linux operating system, where it takes advantage of some unique features of that operating system (Ubuntu 20.04-LTS or later, Ubuntu 22.04-LTS or later recommended). It also works reasonably well on Microsoft Windows (Windows-10 recommended) and - with substantial limitations due to many operating system flaws and defects - Apple macOS (version 10.15.7 and later recommended), although those systems are often much more restricted in accuracy and reliability of stimulus presentation and response collection.
Different parts of Psychtoolbox are licensed under different OSI compliant Free Software and Open Source licenses, with the majority of routines licensed under the MIT license.

Cite As

Kleiner M, Brainard D, Pelli D (2007) What's new in psychtoolbox-3?, Perception 36(ECVP 2007 Abstract Supplement) 14.

MATLAB Release Compatibility
Created with R2023b
Compatible with R2014b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

PsychSourceGL/Cohorts/FTGLTextRenderer

PsychSourceGL/Source

PsychSourceGL/Source/Experiments

Psychtoolbox

Psychtoolbox/PsychAlpha

Psychtoolbox/PsychAlphaBlending

Psychtoolbox/PsychBasic

Psychtoolbox/PsychCal

Psychtoolbox/PsychCalDemoData

Psychtoolbox/PsychColorimetric

Psychtoolbox/PsychColorimetric/PsychMunsell

Psychtoolbox/PsychColorimetricData

Psychtoolbox/PsychColorimetricData/PsychColorimetricMatFiles

Psychtoolbox/PsychContributed

Psychtoolbox/PsychContributed/AutoBrightness

Psychtoolbox/PsychContributed/Eduloggers

Psychtoolbox/PsychContributed/MacDisplaySettings

Psychtoolbox/PsychContributed/WinTab

Psychtoolbox/PsychDemos

Psychtoolbox/PsychDemos/AlphaImageDemo

Psychtoolbox/PsychDemos/ECVP2013

Psychtoolbox/PsychDemos/GPGPUDemos

Psychtoolbox/PsychDemos/MovieDemos

Psychtoolbox/PsychDemos/OpenEXRImages

Psychtoolbox/PsychDemos/OpenGL4MatlabDemos

Psychtoolbox/PsychDemos/OpenGL4MatlabDemos/MorphDemo

Psychtoolbox/PsychDemos/PsychExampleExperiments

Psychtoolbox/PsychDemos/PsychExampleExperiments/OldNewRecognition

Psychtoolbox/PsychDemos/PsychTutorials

Psychtoolbox/PsychDocumentation

Psychtoolbox/PsychFiles

Psychtoolbox/PsychGLImageProcessing

Psychtoolbox/PsychGLImageProcessing/private

Psychtoolbox/PsychGPGPU

Psychtoolbox/PsychGamma

Psychtoolbox/PsychHardware

Psychtoolbox/PsychHardware/BitsPlusToolbox

Psychtoolbox/PsychHardware/BitsPlusToolbox/BitsPlusDemos

Psychtoolbox/PsychHardware/BitsPlusToolbox/BitsPlusTests

Psychtoolbox/PsychHardware/ColorCal2

Psychtoolbox/PsychHardware/Daq

Psychtoolbox/PsychHardware/Daq/Utilities

Psychtoolbox/PsychHardware/DatapixxToolbox

Psychtoolbox/PsychHardware/DatapixxToolbox/DatapixxBasic

Psychtoolbox/PsychHardware/EyelinkToolbox

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkBasic

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkBasic/EyelinkBasicLegacy

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/FixWindowBufferedSamples

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/FixWindowFastSamples

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/GCBufferedEvents

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/GCBufferedEvents/BufferedEndSacEvents

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/GCBufferedEvents/BufferedFixUpdateEvents

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/GazeContingent/GCFastSamples

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/MRI_BlockRecord

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/PursuitTarget

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/SimplePicture

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/SimpleVideo

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemos/StereoPicture

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkOneLiners

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkTests

Psychtoolbox/PsychHardware/FORP

Psychtoolbox/PsychHardware/LinuxDrivers

Psychtoolbox/PsychHardware/LinuxX11ExampleXorgConfs

Psychtoolbox/PsychHardware/PR650Toolbox

Psychtoolbox/PsychHardware/PR655Toolbox

Psychtoolbox/PsychHardware/PR670Toolbox

Psychtoolbox/PsychHardware/PR705Toolbox

Psychtoolbox/PsychHardware/PsychGamepad

Psychtoolbox/PsychHardware/PsychVRToolbox

Psychtoolbox/PsychHardware/iViewXToolbox

Psychtoolbox/PsychHardware/iViewXToolbox/cbase64

Psychtoolbox/PsychHardware/iViewXToolbox/iviewxtests

Psychtoolbox/PsychHardware/iViewXToolbox/tcp_udp_ip

Psychtoolbox/PsychHardware/iViewXToolbox/tcp_udp_ip/tcpip

Psychtoolbox/PsychInitialize

Psychtoolbox/PsychJava

Psychtoolbox/PsychObsolete

Psychtoolbox/PsychOneliners

Psychtoolbox/PsychOpenGL

Psychtoolbox/PsychOpenGL/ExampleCodeForC

Psychtoolbox/PsychOpenGL/MOGL

Psychtoolbox/PsychOpenGL/MOGL/core

Psychtoolbox/PsychOpenGL/MOGL/source

Psychtoolbox/PsychOpenGL/MOGL/source/private

Psychtoolbox/PsychOpenGL/MOGL/wrap

Psychtoolbox/PsychOpenGL/PsychGLEyetracking

Psychtoolbox/PsychOpenGL/PsychGLSLShaders

Psychtoolbox/PsychOptics

Psychtoolbox/PsychPriority

Psychtoolbox/PsychProbability

Psychtoolbox/PsychRadiometric

Psychtoolbox/PsychRadiometric/Obsolete

Psychtoolbox/PsychRadiometric/PsychAnsiZ136MPE

Psychtoolbox/PsychRadiometric/PsychISO2007MPE

Psychtoolbox/PsychRects

Psychtoolbox/PsychSignal

Psychtoolbox/PsychSound

Psychtoolbox/PsychSound/MOAL

Psychtoolbox/PsychSound/MOAL/core

Psychtoolbox/PsychSound/MOAL/source

Psychtoolbox/PsychSound/MOAL/wrap

Psychtoolbox/PsychStairCase

Psychtoolbox/PsychTests

Psychtoolbox/PsychTests/UnitTests

Psychtoolbox/PsychVideoCapture

Psychtoolbox/Psychometric

Psychtoolbox/Quest

managementtools

Version Published Release Notes
3.0.19.16

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.16

3.0.19.15

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.15

3.0.19.14

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.14

3.0.19.13

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.13

3.0.19.12

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.12

3.0.19.11

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.11

3.0.19.10

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.10

3.0.19.9

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.9

3.0.19.8

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.8

3.0.19.7

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.7

3.0.19.6

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.6

3.0.19.5

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.5

3.0.19.4

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.4

3.0.19.3

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.3
See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.3
See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.3
See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.3

3.0.19.2

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.2

3.0.19.1

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.1

3.0.19.0

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.19.0

3.0.18.13

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.13

3.0.18.12

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.12

3.0.18.11

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.11

3.0.18.10

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.10

3.0.18.9

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.9

3.0.18.8

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.8

3.0.18.7

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.7

3.0.18.6

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.6

3.0.18.5

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.5

3.0.18.4

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.4

3.0.18.3

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.3

3.0.18.2

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.2

3.0.18.1

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.1

3.0.18.0

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.18.0

3.0.17.12

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.12

3.0.17.11

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.11

3.0.17.10

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.10

3.0.17.9

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.9

3.0.17.8

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.8

3.0.17.7

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.7

3.0.17.6

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.6

3.0.17.5

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.5

3.0.17.4

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.4

3.0.17.3

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.3

3.0.17.2

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.2

3.0.17.1

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.1

3.0.17.0

See release notes for this release on GitHub: https://github.com/Psychtoolbox-3/Psychtoolbox-3/releases/tag/3.0.17.0

3.0.16.8

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.