Psychtoolbox interfaces between Matlab or Octave and the computer hardware. The PTB core routines provide access to the display frame buffer and color lookup table, reliably synchronize with the vertical screen retrace, support sub-millisecond timing, expose raw OpenGL commands, support video playback and capture as well as low-latency audio, and facilitate the collection of observer responses. Ancillary routines support common needs like color space transformations and the QUEST threshold seeking algorithm.

Psychtoolbox has many active users, an active forum, and is widely cited. PTB-3 is based on the deprecated Psychophysics Toolbox Version 2 with its Matlab C extensions rewritten to be more modular and to use OpenGL on the back end. The current version supports Matlab R2012a+ and Octave 4.0.x on Linux, MacOSX, and Windows.

Psychtoolbox News

Psychtoolbox beta updated


Psychtoolbox 3.0.13 “Boldly go where no one has gone before!” was released at 10th September 2016. As usual, the complete development history can be found in our GitHub repository. The release tag is “PTB_Beta-2016-09-10_V3.0.13”, with the full tree and commit logs under the URL:

Release: https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/PTB_Beta-2016-09-10_V3.0.13

New features and improvements:

  • Initial hybrid graphics laptop support for Linux (prime renderoffload) “help HybridGraphics”. Describes setup to get the majority of hybrid graphics laptops to work between “useable” and “really well” under Linux.

  • PsychLinuxConfiguration: Automate setup of AMD deep color support, e.g., for DisplayPort deep color and HDMI deep color.

  • Some improvements to XOrgConfCreator.

  • Provide basic compatibility with the Windows-10 “Windows subsystem for Linux”. With a X-Server like XMing installed, allows to run some basic “PTB for Linux” functionality in Windows-10’s new Linux emulation layer. However, no sound, no PsychHID functionality/KeyboardQueus/DAQ, very bad timing, visual tearing artifacts. This more for geek cred than for any even remotely research grade use.

  • New demo VideoIPWebcamCaptureDemo.m - Capture streaming video from Android IPWebcam app.

  • GetGamePadIndices: Make as capable as GetKeyboardIndices.

  • CreateProceduralGabor: Add optional ‘validModulationRange’ parameter. Suggested by Taylor Hanayik.

  • DownloadLegacyPsychtoolbox: It’s dead, Jim! Download of legacy toolbox versions < 3.0.10 is currently broken.

  • SeparateAlphaTextureShader.vert.txt: Add additional (dx2,dy2) offsets. This allows for off-center rotation of sampled texture images. A usage example would be the one described in PTB forum message 20926. Shaders are created via MakeTextureDrawShader(‘SeparateAlphaChannel’), cfe. DriftDemo6.m

  • KbWait: reorganized and simplified input checking a bit. KbQueueFlush minor improvements. From Diederick.

  • KbQueueWait now gained forWhat and untilTime, like KbWait. From Diederick.

  • DrawFormattedText’s ‘flipVertical’ fixed for new text renderer. From Diederick.

  • PsychPortaudio: Give better error feedback if trying to open same device multiple times.

  • Daq: Update help texts wrt. USB 1024-LS. Now verified to work well.

  • Minor other stuff here and there.

Psychtoolbox-3.0.13 released


Psychtoolbox 3.0.13 “Set condition 1!” has been released. This is the first release of the 3.0.13 series.

3.0.13 no longer supports:

  • 32-Bit Octave-4 for MS-Windows.
  • 64-Bit Octave-3.8 for OSX.
  • Mac OSX 10.8 “Mountain Lion” and OSX 10.9 “Mavericks”.

It only works on:

  • 64-Bit Octave-4 for Linux, Windows and OSX. 64-Bit Octave 3.8 on Linux.

  • 64-Bit Matlab on all operating systems, R2012a or later is recommended, earlier versions may or may not continue to work, but are no longer tested or supported in case of trouble.

  • OSX 10.10 Yosemite and OSX 10.11 El Crapitan. Only El Crapitan is tested and somewhat supported in case of trouble.

  • On Linux we no longer provide mex files for 32-Bit Octave for Intel machines for direct download from us. However, NeuroDebian / Debian upstream / Ubuntu upstream will continue to provide these mex files in a convenient fashion in their “app-stores”, so this is not really a drawback, just something to be aware of.

  • I will probably allow inclusion of M-Files into future betas which may use object oriented programming (aka classdef) if those files have been shown to work flawlessly on Octave-4 and don’t touch widely used core functionality. Octave-4 has limited support for classdef programming, so not all object oriented code will work. We continue to support Octave-3.8 during the life-time of Ubuntu Linux 14.04-LTS, and Octave-3 does not support classdef programming, so such M-Files should be limited to functionality that isn’t essential to the use of PTB by the majority of users.

Users who wish to stick to Psychtoolbox 3.0.12 because they want to continue use of a future unsupported platform can redownload Psychtoolbox via:

DownloadPsychtoolbox([targetdirectory], ‘Psychtoolbox-3.0.12’);

Obviously keep backup copies before deleting/redownloading. Alternatively simply refrain from ever executing UpdatePsychtoolbox again.

New features and improvements:

  • New function UniqueCell and improvements to SortCell by Diederick Niehorster.

  • Some bug fixes to XOrgConfCreator by zacklb.

  • Some improvements to color functions by David Brainard.

  • Improved RaspberryPi support. Psychtoolbox is pretty ready for the Pi! New mex file RPiGPIOMex to control the Pi’s GPIO pins and a demo RaspberryPiGPIODemo to demonstrate basic GPIO control of the 2 status LED’s on the RPi 2B.

  • Improvements and bug fixes to validation code for high precision display devices like VPixx Datapixx/Viewpixx/Propixx and the Cambridge Research Systems Bits+ and Bits#.

  • Various bug fixes and minor improvements in 313 files.


Psychtoolbox user survey 2016


As of 6th July we got 356 responses in 22 days - Good, but we need more! Keep them coming!!

We are currently conducting a user survey for Psychtoolbox. Please participate, the sooner the better! We need one person per lab to respond, ideally one with sufficient insight into the operation of the lab, the labs needs, and the labs ability to contribute funding to PTB. In other words, the PI of the lab, or maybe a lab manager might be best suitable to fill out the survey.

The outcome of this survey may help to secure some short-term, time-limited bridge funding for Psychtoolbox development, maintenance and support. It will also influence decisions on how to fund future development, as well as priorities in development wrt. supporting new functionality or hardware.

The survey has a mandatory part of six questions, important for funding decisions and PTB’s future, and an optional longer part of optional questions, mostly to determine how you use PTB, what your needs and wishes are, what hardware/software you use.

Click on this link to the survey form if you want to participate



News Archive