File Exchange

image thumbnail

Psychtoolbox-3

version 3.0.17.6 (162 MB) by Medical Incubator Tuebingen
Psychophysics Toolbox Version 3 (PTB-3) is a free set of Matlab and GNU Octave functions for vision and neuroscience research.

88 Downloads

Updated 19 Dec 2020

From GitHub

View Version History

View license on GitHub

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 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 and movie recording, utilizing the GStreamer multi-media framework.
• 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.
• Drawing of 3D stimuli via direct low level OpenGL commands and via a high level 3D engine.
• Stereoscopic presentation, supporting different stereoscopic display techniques, including support for some head tracked VR headsets, e.g., from Oculus VR.
• 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.
• 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 some 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 only - touchscreens. Different common response button boxes and eye trackers are also supported, as well as auditory response collection.

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. 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, 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.

Comments and Ratings (2)

Hakan Bugra Erentug

亮然 黄

MATLAB Release Compatibility
Created with R2014b
Compatible with R2014b to R2020a
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/BrightSideDisplay

Psychtoolbox/PsychHardware/BrightSideDisplay/BSRuntimeLibs

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/EyelinkDemos

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/EyelinkShortDemos

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/GazeContingentDemos

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo/AntiSaccade

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo/ELCustomCalibration

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo/EyelinkFixationWindow

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo/change

Psychtoolbox/PsychHardware/EyelinkToolbox/EyelinkDemos/SR-ResearchDemo/pursuit

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