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 7.x and Octave 3.2.x on Mac OSX, Linux and Windows.

Psychtoolbox News

Psychtoolbox user survey 2016


So far we got 194 responses in 6 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



Psychtoolbox-3.0.12 final released


Psychtoolbox 3.0.12 final has been branched. This is the final release of 3.0.12. I may or may not backport trivial fixes in M-Files for serious bugs to it for a while, but you can mostly consider it done and unsupported from now on.

3.0.12 was the last version to support:

  • 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”.

Future beta releases will only support/work on:

  • 64-Bit Octave-4 for Windows and OSX.

  • 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 10.11 El Crapitan. Only El Crapitan is tested and somewhat supported in case of trouble.

  • On Linux i will 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.


PTB BETA "Bring in the cat! (+SP5)" released


The new BETA “Bring in the cat!” and its Service Pack 2-5 update was released at 14th May 2016.

As usual, the complete development history can be found in our GitHub repository. The release tag is “PTB_Beta-2016-05-14_V3.0.12”, with the full tree and commit logs under the URL:

Release: https://github.com/Psychtoolbox-3/Psychtoolbox-3/tree/PTB_Beta-2016-05-14_V3.0.12

New features:

  • TurnTableDemo: Fix for compatibility with Matlab R2015b and later.
  • BitsPlusPlus: Add new subfunction ‘UseFE1StereoGoggles’ to automatically drive those CRS goggles.
  • BitsStereoDemo: Make use of modern PTB features like UseFE1StereoGoggles.
  • Some file permission cleanups by Yaroslav.
  • Fixed some typo in ComputeCIEConeFundamentals() help text by git user spitschan.
  • Screen(‘DrawTextures’) speed improvements, only for 64-Bit Screen for Matlab and Octave on Linux for now.
  • Screen, PsychHID for RaspberryPi updated.
  • XOrgConfCreator now can also setup xf86-video-modesetting, the generic video driver for Linux.
  • PsychGPUControl now can deal with Compiz single-x-screen multi-display setups for Ubuntu’s standard “Unity” GUI.
  • rpath fixes for mex files on Octave-3/4 for 64-Bit OSX to make PTB for Octave on OSX work with different Octave versions.
  • VC4 DRI3/Present Mesa 11.2 workaround for Screen() on RaspberryPi.
  • Allow normal users PTB low-level access to modern AMD gpu’s, e.g., the R9 380 Tahiti Pro.
  • Additional performance improvements to Screen(‘AsyncFlipBegin/End/…’) - So far only for 64-Bit Linux.
  • Performance improvements to PsychProPixx.
  • KDE-5 multi-x-screen “pointer gets stuck” workaround for KDE-5 Plasma on KUbuntu 16.04.0-LTS.
  • Minor fixes and improvements to various M-Files.

News Archive