Psychtoolbox-3 Latest News:


Website migrated to GitHub


You are currently looking at the old Psychtoolbox Wiki, which is no longer maintained! Redirect your web browser to
<http://psychtoolbox.org> for the up to date web site!

End of support for various operating system versions


As of 8th April 2014, the end-of-life date of Microsoft Windows XP, the following operating systems are no longer officially supported:

The PTB beta "Goto fail" release, the last release of the v3.0.11 series, was the last PTB release to officially support these operating systems. The next PTB beta will start the v3.0.12 series. The 3.0.12 series is still expected to run reasonably ok on the legacy operating systems mentioned above for a while. However, 3.0.12 will not be tested in any way for compatibility with those os'es, compatibility will not be taken into account during development of new features and any bug reports relating to those legacy os'es will get ignored and closed without further inspection as "wontfix".

Users of those legacy operating systems are advised to either upgrade to modern operating systems, or to stick to the final and completely unsupported "3.0.11" flavor of Psychtoolbox, which can be downloaded via DownloadPsychtoolbox(targetdirectory, 'Psychtoolbox-3.0.11');.

PTB beta "Goto fail" bugfix and minor improvements update


The 3.0.11 branch was updated once more, despite being declared unsupported a while ago. This is mostly because the beta / aka future 3.0.12 branch isn't ready yet and takes longer than i thought.

So some minor improvements in functionality and bug fixes:



PTB beta "Goto fail" release 2014-04-06

Git tag: PTB_Beta-2014-04-06_V3.0.11

Final release of the 3.0.11 series:

PTB beta "Sex, Lies and Video" release 2013-12-30

Git tag: PTB_Beta-2013-12-30_V3.0.11

PTB beta "Deadlock" release 2013-10-17

Git tag: PTB_Beta-2013-10-17_V3.0.11



PTB beta "Flowerpower" release 2013-10-03

Git tag: PTB_Beta-2013-10-3_V3.0.11



PTB beta "Hammertime" release 2013-9-12

Git tag: PTB_Beta-2013-09-12_V3.0.11

Stop! Hammertime! Hammertime contains mostly bug fixes, but also a few neat improvements: Break it down!

MS-Windows - Change of software requirements:

Go with the flow! Psychtoolbox for 32-Bit Matlab on MS-Windows now uses and *requires* the GStreamer SDK from www.gstreamer.com, instead of the rather old GStreamer runtime from the OSSBuilds project. If you want to use multi-media functions, you will need to uninstall your old OSSBuilds GStreamer and install the 32-Bit GStreamer SDK. "help GStreamer" contains updated instructions.
If you want to stick to the old OSSBuilds GStreamer, although it doesn't have any known advantages over the new solution, you can DownloadPsychtoolbox() with flavor 'Psychtoolbox-3.0.11-PreWinGStreamerSDK'. This will download and lock your Psychtoolbox permanently to the "Stadtmusikanten" release from last week, the last PTB to support OSSBuilds GStreamer.

Bug fixes: Just for a minute let's all do the bump, bump, bump!

Improvements and new functions: Fresh new kicks advance!

Go with the funk, it is said
If you can't groove to this
Then you probably are dead
-mario

PTB beta "Stadtmusikanten" release 2013-9-7

Git tag: PTB_Beta-2013-09-07_V3.0.11

The ECVP 2013 edition.

Improvements:
The idea is that a normalized range from 0 - 1 is more natural and nicely independent of the resolution of output devices. Internally the range is still resolved with 256 levels (8 bpc) by default, unless you specifically ask PsychImaging() or Screen('MakeTexture') for floating point framebuffers or textures, or you ask for use of special high precision output devices (e.g., video attenuators, Bits+, Bits#, Datapixx/ViewPixx/ProPixx, HDR displays, 10 Bit displays etc.). We will gradually adapt our demos to use PsychDefaultSetup(2) and normalized color values wherever appropriate, and new demos will be written with these new conventions in mind. Old code will continue to work as in the past, but typing "clear all" will be needed to reset ptb to compatible behaviour after executing scripts at higher featureLevels.

PTB beta "Blue skies and empty brains" release 2013-7-11

Git tag: PTB_Beta-2013-07-11_V3.0.11

This is the start of the version 3.0.11 series.

3.0.11 no longer supports 32-Bit Matlab on OSX, or Apple Quicktime, or OSX versions 10.4 and 10.5. Minimum requirement is now OSX 10.6.8 "Snow Leopard", with GStreamer installed if you want to use movie playback, movie writing, video capture or video recording.

The legacy 3.0.10 branch can be downloaded via DownloadPsychtoolbox with the 'Psychtoolbox-3.0.10' flavor parameter. It will generally not receive any bug fixes or improvements anymore, with rare exceptions at my discretion.

Improvements:

End of life for 32-Bit PTB for OSX, and OSX 10.4, 10.5


Development & Support for the following Psychtoolbox versions is over:

If you want to continue to use Psychtoolbox v3.0.10 on the configurations mentioned above, please either refrain from updating Psychtoolbox, or switch your toolbox to the 3.0.10 final branch by use of the DownloadPsychtoolbox command with the optional flavor parameter set to 'Psychtoolbox-3.0.10'. This will download a fresh copy of Psychtoolbox which will stay compatible to your setup, but will very likely not receive any updates or even bug fixes anymore.

Development of Psychtoolbox version 3.0.11 starts now.

Soon: End of life for 32-Bit PTB for OSX, and OSX 10.4, 10.5


A little reminder that i will end development & support for:

...before end of May 2013. The latest beta release from yesterday may be the last one for those platforms. Maybe i'll do some "service pack" releases to fix post-release bugs common to all platforms or such within the next few days or weeks, but no significant new features or improvements or bug fixes will be added anymore until the quickly approaching end of life. At end of life time, a new unsupported branch will be created for those who want to stick to the old version.

PTB beta "Rainbows, Droids & Compute Hippies!" release 2013-4-20

Git tag: PTB_Beta-2013-04-20_V3.0.10

This release contains a couple of new features and improvements, some rather experimental by now, but also the usual amount of small improvements and bug fixes.

All systems:
A first sketchy implementation of (G)eneral (P)urpose computation on (G)raphics (P)rocessing (U)nits support. We already supported (ab)use of GPUs for other tasks than rendering since the beginning of 2007, with our builtin imaging pipeline and various plugins to accelerate common image processing and stimulus post-processing operations. However, so far all functionality was implemented by reformulating computation tasks as graphics rendering tasks and executing them as a mixture of fixed-function OpenGL rendering and programmable vertex- and fragment-shading via the GLSL OpenGL shading language. This works very well for many visual processing problems, but can become awkward or inefficent for non-graphics compute problems. Technology progressed and nowadays most modern GPUs support GPGPU in a more straightforward and efficient way by use of NVidia's CUDA api (for NVidia GPUs only) and OpenCL for pretty much all GPUs on the market, including NVidia's, so it's time to look into what can be done better with those apis for stimulus creation. This beta release contains basic support for utilizing NVidia CUDA capable gpu's under 64-Bit Matlab by use of a high-level open-source toolbox called "GPUmat", which can be downloaded for Linux and Windows from here: GPUmat toolbox download link
GPUmat allows to implement computational methods in familiar Matlab language, as it extends Matlab with new GPU data types GPUsingle and GPUdouble. If vectors and arrays are created with this datatype, then the data is stored on the GPU and processed in parallel by the GPU. Psychtoolbox initial implementation provides builtin functionality to detect if GPUmat is installed and to initialize it, if so. It also provides an interface for efficient data transfer and synchronization between GPUmat and Screen/OpenGL. Screen's floating point framebuffers, offscreen windows and textures can be efficiently passed to GPUmat as GPUsingle matrices to do computations on them and resulting matrices can be converted back into PTB's representation for post-processing, rendering and display. In this initial release, i focused on getting the high-level setup code right to hopefully allow future painless extensions, and to optimize data transfer between PTB/OpenGL and GPUmat/CUDA.

Benchmarking showed that the current data transfer works with > 90% of the theoretical peak performance of the tested GPU under Linux, with about 30-40% efficiency on Windows, and iirc in the 1-2% range on OSX. Profiling showed that the OSX implementation essentially performs data exchange with the speed of a slow software fallback path and unsurprisingly the deficiency seems to be in the OSX graphics subsystem - another area where the most advanced operating system in the world falls way short of its competitors. This means that if you like to use this functionality, you can gain an almost 100x performance boost for some tasks by running you Mac under Linux instead of OSX.

There are currently three demos in the PsychDemos/GPGPUDemos/ subfolder, all showing fast application of a 2D-FFT and inverse FFT to GPU accelerated image filtering by replacing convolution with a point-wise multiply in frequency space.

Current restrictions: Only 64-Bit Matlab supported, as GPUmat needs object oriented programming support v2 ("classdef" OOP) which is not yet available in stable releases of GNU/Octave. However, octave's classdef support has made quite a bit of progress, so i'm optimistic this will work for stable octave in the not too far future. Only 64-Bit because i'm too lazy to maintain this for 32-Bit as well. There are not technical reasons, just that people should move to 64-Bit if they want to do this style of computing efficiently. Only NVidia CUDA capable gpu's for now, as GPUmat is based on CUDA. The long-term goal would be to primarily support OpenCL, as it is cross-platform, cross-vendor and also supports non-GPU compute accelerators. Only Linux and Windows as of today, because GPUmat is not yet available for OSX. I ported it to 64-Bit OSX, but haven't submitted it upstream for inclusion into the official distro yet, that's a todo.

Setup instructions under "help PsychGPGPU", demos under "help GPGPUDemos".


Wikipedia's definition of XYZ color space

The advantage is that all the color calibration can now get easily integrated into our stimulus post processing pipeline, and of course speed. The demo also shows a new plugin to convert from xyY colorspace to XYZ colorspace. It should be noted that this is only lightly tested. While light testing of a few sample values showed proper behaviour, David Brainard wants to write more exhaustive unit tests at some point in the future. Of course patches for tests are welcome.


Linux:
Included in this release is experimental support for the Google Nexus-7 tablet when run under Ubuntu Linux 13.04 "Rairing Ringtail", 32-Bit ARM edition. This won't work under the normal Android OS on the tablet, but you will need a tablet edition of Ubuntu desktop Linux, either as only operating system, or as dual-boot setup in parallel to your Android OS. Psychtoolbox seems to work reasonably well on the tablet, with a certain amount of tweaking.

What works? GetSecs/WaitSecs with usual precision, realtime scheduling, sound (PsychPortAudio and 3D OpenAL), keyboard and mouse i/o - touch input as mouse input, IOPort and PsychHID stuff is so far untested, but expected to work normally if you have an OTG adapter cable, Screen() and MOGL 3D OpenGL mostly works, ie., all the basics work. What doesn't work is functionality that requires programmable shading support, as we currently only support OpenGL-ES1.1 fixed function rendering, not OpenGL-ES2.0 programmable shading.

Simple installation instructions for Ubuntu Linux on the Nexus-7 under this link.

This would wipe your Android OS and data from your device, so no more "Cut the rope" or "Angry Birds" for you, but all the fun of drifting gabor patches and movie playback.

I chose a dual-boot setup, which preserves Android and its goodness, but requires serious tinkering, and averaging installation instructions over multiple partially incomplete or mutually contradictory howtos, e.g.,

this howto.

Anyway, this is mostly a test setup for now to see how much interest there is in Psychtoolbox for mobile devices and what the challenges are. I chose the Nexus-7 because it is the reference device for porting and testing Ubuntu Linux and it is also rather good price/performance at 200$/Euros.


OSX:


PTB beta "The fun in dysfunction" SP2 release 2013-1-14

Git tag: PTB_Beta-2013-01-14_V3.0.10

This update is dedicated to Aaron Swartz (R.I.P.) and others who fight for freedom of information and the internet.
It contains some improvements to M-Files.

All systems:


PTB beta "The fun in dysfunction" SP1 release 2013-1-8

Git tag: PTB_Beta-2013-01-08_V3.0.10

More fun with dysfunction:


PTB beta "The fun in dysfunction" release 2013-1-4

Git commit id: 89ac3a065cf2d29f6bdc9ee8e90f81e022c710b7 at GitHub
Git tag: PTB_Beta-2013-01-04_V3.0.10

Release Highlights:

All systems:

Linux:

Windows:

OSX:


PTB beta "Dancersizing, Grey & Hopeless" release 2012-11-11

Git commit id: 9b5c690196bb818107414eba2fa96f3be2170dd7 at GitHub
Git tag: PTB_Beta-3.0.10.20121111

This is mostly a bug-fix release, but it also improves GetChar support on some platforms.

Release Highlights:

All systems:

Linux:

OSX:


PTB beta "Death by a thousand paper cuts" release 2012-10-9

Git commit id: 759f023b86fb3632b2a7e3959d60e32c6b9df7e5 at GitHub
Git tag: PTB_Beta-3.0.10.20121009

This is mostly a bug-fix release to deal with various operating system and graphics driver bugs discovered after the last release.

Release Highlights:

All systems:

Windows:

Linux:

OSX:


PTB beta "Broken Windows" release 2012-9-15

Git commit id: fde2c3f5e00dabd27fc83356659f8099c78c585f at GitHub

Most importantly this release adds 64-Bit Matlab support for MS-Windows and removes Octave support and Quicktime support for MS-Windows.

Release Highlights:

Windows:

OSX:

I consider the 32-Bit PTB for OSX now on "live support". I have one machine left for maintaining it. As long as that machine keeps working and is not getting upgraded to 64-Bit, i'll keep the 32-Bit PTB for OSX alive.

Linux:

All systems:

PTB beta "Rotten Apples" release 2012-6-1 (Start of Psychtoolbox 3.0.10)

Git commit id: 92809a33c1ce0e4149ffc91ea91ec0674172e81e at GitHub

"Rotten Apples" starts the new Psychtoolbox Version 3.0.10 series.

The almost only new feature in this release is support for 64-Bit Matlab under Apple MacOSX.

Minimum system requirements for OSX/Apple:

Basic 64 Bit compatibility testing happened on 10.5.8 with Matlab R2010b-SP1, 10.6.8 with R2012a and 10.7.4 with R2012a. Future testing will happen on 10.7.x Lion with R2012a, with very infrequent basic testing on 10.5.8 Leopard with R2010b.

Support for using PTB on OSX on Apple PowerPC computers has been removed. If you want to keep your old PowerPC useable with PTB you'll need to stick to the deprecated and unsupported V 3.0.9 PTB.

On Microsoft Windows, support for Matlab versions older than V7.4 - R2007a has been completely removed. Windows-2000 and earlier is no longer tested for compatibility with PTB.

On other systems, support for Matlab older than 7.4 - R2007a is no longer guaranteed. The mex files would still work, but we will no longer keep M-Files compatible with older Matlab versions.

If you want to use old Matlab versions, stick to the old V3.0.9 PTB, but realize that this version is no longer supported by us in any way.

You won't be able to upgrade to 3.0.10 via UpdatePsychtoolbox. Instead you will need to download a complete fresh copy of PTB via DownloadPsychtoolbox. The updater will provide you with further instructions after a call to UpdatePsychtoolbox. Alternatively you can download a fresh DownloadPsychtoolbox script from our Wiki. A new installer script DownloadLegacyPsychtoolbox allows to downgrade to - or stick with - older PTB's of Version 3.0.9 or earlier if you want to run on ancient hardware or Matlab versions.

PTB revision numbers, as reported by the PsychtoolboxVersion() command for an old PTB installation have no meaning once you've upgraded to V 3.0.10, ie., the mapping of numbers to actual code has changed. This means that the SVN revision number no longer uniquely defines the software you have installed. Instead the combination of version number, e.g., 3.0.10 and revision number does. The reason for this is that we moved our code hosting for the new 3.0.10 series from GoogleCode to GitHub, and our underlying version control system from Subversion to Git.

Psychtoolbox on 64-Bit OSX now requires the free and open-source GStreamer framework for movie playback, movie writing, video capture and video recording - "help GStreamer" for installation instructions. The 32-Bit PTB on OSX will continue to use Apple Quicktime as a default for a limited amount of time - until we have GStreamer support for it as well, after which Quicktime will become optional, with GStreamer as default. I consider Quicktime in maintenance mode from now on. Only critical bugs regarding it will be fixed, but no future enhancements or new features for it are planned

Psychtoolbox on Windows will switch to GStreamer as default with one of the next beta releases, Quicktime will be made optional or possibly completely removed on Windows if maintaining it turns out to be too much work.

Other changes in this beta release:

Intel HD graphics series support will be added for other operating systems and 32-Bit configurations in a future ptb release.

Much deserved credits for the OSX 64-Bit port go to:

Thanks to Prof. Heinrich Buelthoff at the Max Planck Institute for Biological Cybernetics in Tuebingen, Germany, for supporting the work on the 64-Bit port - and most other significant improvements to PTB throughout the last six years, by letting me spend some of my work time on this time intense "hobby".

Thanks to Prof. Keith Schneider at the University of York, Canada, for donating an almost new Apple MacBookPro, thereby allowing to work on a 64-Bit OSX port in a much more pain free manner.

Thanks to Ian Andolina from UCL London for help in initial testing of the 64-Bit port.

Thanks to Linus Torvalds for inventing the wonderful Git version control system and to GitHub for our free Git hosting. Git is a wonderful tool for preventing nervous breakdowns and reducing crying fits and rage against the machine during software development.

Absolutely no thanks to various unknown people working at Apple and Mathworks for reasons too many and too horrifying to mention.

PTB beta release 2012-5-21 (SVN Revision 2580/2591)

For more details, please review the detailed change log.

This beta, nick-named "Conradine", marks the last official Psychtoolbox release in the Version 3.0.9 series. We may or may not fix critical bugs after this release, but most likely we won't.

This is the last release to support MacOSX on Apple PowerPC hardware, the last one to support MS-Windows 2000, and the last to support Matlab versions older than V7.4 aka R2007a.

All systems:

Linux:

PTB beta release 2012-4-1 (SVN Revision 2540)

For more details, please review the detailed change log.

All systems:

Windows & Linux:

OSX & Linux:

Windows:

PTB beta release 2012-2-8 (SVN Revision 2450)

For details, please review the detailed change log.

Highlight:

Screen() now supports frame-sequential stereo presentation on graphics card / graphics driver / operating system combos which don't provide native OpenGL quad-buffered frame-sequential stereo support. In stereomode 1 it detects if native support is available and uses it if possible. Otherwise its own built-in implementation is used. Stereomode 11 always uses the built-in implementation.

Tested and shown to work reasonably well on WinXP, OS/X, Linux with sufficiently fast gpu & cpu under light load. Robustness of this built-in method is highly dependent on speed and timing behaviour of the underlying os and computer / gpu hardware. A native implementation (e.g., NVidia QuadroFX or AMD Fire gpu's) is preferrable if available, but this should be good enough for not too demanding casual stereo presentation.

Bugfixes / Tweaks:

PTB beta release 2012-1-12 (SVN Revision 2434)

For details, please review the detailed change log.

Improvements to Microsoft Kinect driver for all platforms:

PTB beta release 2012-1-7 (SVN Revision 2423)

For details, please review the detailed change log.

All systems:

OS/X:

A new workaround for OS/X 10.7 Lions broken vblank irq timestamping is in place. We fall back to CoreVideo display link timestamping. This doesn't work well at all on 10.4 Tiger, which is why it gets only enabled on 10.7+ systems. All older systems use our proven and robust vblank irq timestamping. Or the even more robust and precise beamposition timestamping if it is supported by the OS or by use of the PsychtoolboxKernelDriver.

Linux:

PTB beta release 2011-12-7 (SVN Revision 2386)

For details, please review the detailed change log.

The only changes in this release are performance improvements for GStreamer movie playback functionality under Linux. We now detect if the video decoder is multi-threading capable and enable multi-threaded decoding, if so. This provides some speedup, e.g., with the multi-threaded H264 decoder of the latest GStreamer versions, e.g., shipping with Ubuntu Linux 11.10. Some bits of additional performance benchmarking code for video playback was added as well.

This is mostly useful for playback of high resolution HD video (1920 x 1080p HD) at unusually high framerates (e.g., 60 fps) on powerful multi-core machines, e.g., 4 - 8 core high-end systems. Users of dual-core systems will probably not notice any difference, as the old Psychtoolbox was already able to saturate two processor cores. Also, for more usual resolutions or framerates, there probably won't be a big benefit.

With this release, the Linux Psychtoolbox will probably significantly outperform both the OS/X and Windows Psychtoolbox for demanding video playback applications.

PTB beta release 2011-11-29 (SVN Revision 2381)

For details, please review the detailed change log.

No new features in this release, just a host of bug fixes, compatibility fixes and workarounds for broken operating systems, device drivers and other hardware.

Misc fixes:

Screen on Linux:

Screen on MacOS/X:

Try to work around broken VBL-IRQ mechanism on OS/X 10.7 Lion. Test by users pending. Either this fixes it, or it is "game over" for VBL-IRQ timestamping on Apple hardware.


PTB beta release 2011-11-6 (SVN Revision 2357)

For details, please review the detailed change log.

With this beta update, we changed our hosting service for Psychtoolbox from Berlios which is operated by the FOKUS institute of the german Fraunhofer society to GoogleCode, operated by Google. This migration was done because Berlios was about to shut down its operations by the end of the year 2011 due to lack of funding. Now it seems that at least Berlios basic services will be able to continue, maintained and funded by a volunteer driven non-profit organization created for the purpose of rescuing this great institution. Unfortunately these news came too late for us.

Migration of existing Psychtoolbox installations from Berlios to Google should happen automatically and mostly transparent for users during regular Psychtoolbox updates and downloads.

Good bye Berlios, and thank you for five years of great service!

Misc improvements, bug fixes, and new functions:

PTB beta release 2011-10-20 (SVN Revision 2337)

For details, please review the detailed change log.

Release highlights:

Misc improvements, bug fixes, and new functions:

Screen

Linux: Large number of improvements by use of XRandR extension:

PTB beta release 2011-08-24 (SVN Revision 2193)


A summary of major improvements, features, bug fixes.
For details, please review the detailed change log .

PsychHID support for Linux and Windows

Screen

Some fixes for text renderer and text renderer plugin, and small improvements.

OpenAL

OpenAL 3D sound support now also implemented for Linux.

Other

PTB beta released 2011-07-04 (SVN Revision 2177)


Significant changes have been added in the past year, though the online documentation has not yet caught up.
For details, please review the detailed change log .

PTB beta released 4.9.2010 (SVN Revision 1783)


This summarizes all new beta features from 6.6.2010 up to 4.9.2010. The list of improvements is likely incomplete as always. For detailed logs, click this link.

This update contains a couple of bug fixes and minor improvements. Most interesting should be the improvements to the Eyelink toolbox by Frans Cornelissen.


PsychPortAudio sound driver

Improvements and bug fixes to Screen and other drawing functions -- The Visuals

Misc stuff

Enjoy!


PTB beta released 6.6.2010 (SVN Revision 1737)


This summarizes all new beta features from 11.1.2010 up to 6.6.2010. The list of improvements is likely incomplete as always. For detailed logs, click this link.

Some users of Microsoft Windows may encounter an error during update or download of the toolbox. On failure, the installer will give you instructions on how to download and install updated copies of the Microsoft Visual C runtime libraries to make Psychtoolbox work again. This is a required upgrade, forced by some changes in Microsofts OS.

These updates introduce various bug fixes and enhancements. Especially the Screen and PsychPortAudio and Datapixx drivers as well as the image processing pipeline and many demos and drawing functions have been improved again.

PsychPortAudio sound driver


Serial port hardware support


Improvements and bug fixes to Screen and other drawing functions -- The Visuals


Misc stuff

Enjoy!


PTB beta "Arrested Development" released 11.01.2010, Mario takes a break from development


Mario takes a break

The first PTB beta update for 2010, codename "Arrested Development" has been released 1 week ago. "Arrested Development" is not only the name of a medical condition, a hip-hop band and a tv series, but also the only item on my todo-list for Psychtoolbox throughout the next few months. I have to get the writeup of my thesis finished and time spent on PTB development & support is a major obstacle to this goal, although a pleasurable one.

I will continue to monitor the forum for serious problem reports but only respond to really urgent and important requests, if you make it really simple for me to help you by preparing your specific questions carefully according to the guidelines we have at the start page of the forum and on our Wiki. In short: "Careless emails do not invite careful responses." -- Other users are of course welcome to help their troubled colleagues.

A good way to help yourself is to look at the various demo scripts in the PsychDemos folder if you need help on how to implement certain things or get examples for coding, to use google to search the forum for previous answers for similar questions, to search the Wiki for information, to actually read and follow the instructions for beginners that our installers print after each single installation and update. It also helps to actually read error messages and warnings and follow the pointers to troubleshooting instructions that they quite often contain, instead of simply copy & pasting them to the forum -- Although copying the output is still better than simply writing "It doesn't work" in the most fuzzy way possible.

I'm not interested in discussing feature requests for the next months, we have a page on our Wiki where you can write those down, together with a contact address, and i'll likely come back to you, once i have time to pick up development again. You are still welcome to submit improved code or new functionality to me or the other developers for inclusion into the toolbox, as long as you're doing most of the work and not me.

I'm also not interested in bug reports for trivial bugs or pure annoyances. If it is trivial enough for you to fix it yourself, fix it and send me the updated files. If it is non-trivial for you to fix, write a bug report and add it to our bug reporting system, <http://developer.berlios.de/bugs/?group_id=5064> or to the proper section of our Wiki.

Reports for really serious bugs will still catch my attention if they are well written and i will do beta updates to fix such bugs should this become neccessary.

Thanks for your sympathy.

New features in "Arrested Development":

These are the new features and improvements of the latest beta. I'll post more details when i have time.

Have fun and good luck,
-mario


Stable is dead! Long live beta!


For the record: The Psychtoolbox flavor formerly known as "stable" is hereby declared officially dead! We have renamed it to unsupported to allow users with an interest in archeology or masochism to download it under that new name. Hopefully the new name leaves no room for interpretation about the level of support or sympathy you could expect from us if you'd continue to use this flavor instead of letting it r.i.p.

We have removed all references to it from the Wiki and current downloader and have no intentions of ever touching it again for any purpose. Actually we didn't touch it for almost 2 years, so this is nothing new. The beta flavor was always more current, reliable and bug free than stable ever was.

Psychtoolbox beta updates up to and including the update from 2009-02-18 (SVN Revision 1245)


These updates introduce support for the USTC RTBox button response box, the PR-655 colorimeter, and various bug fixes and enhancements. Especially the IOPort and PsychPortAudio drivers have been improved again.

Online documenation updated

Our tireless "master of online documentation" Tobias Wolf has updated the online documentation of all PTB functions on the Wiki, so it corresponds to the state of PTB - Beta as of 21st february 2009.

New PsychRTBox driver for RTBox USB Response button box by Xiangrui Li et al.

This new driver (see PsychRTBoxDemo for demonstration of most basic functions) allows to interface with the "USTC RTBox Reaction Time Box", a response button box for button response collection from subjects with exact button press- or release timestamping. In addition to four response buttons, the box also provides a photo-diode input (including a photo-diode) and a single BNC trigger input for reception and timestamping of external trigger signals and visual stimulus onset. The driver allows to control all features of the box and to retrieve exact timestamps in the regular Psychtoolbox GetSecs time format, so the timestamps are directly comparable to timestamps returned by Screen('Flip'), PsychPortAudio, KbCheck, KbWait, GetSecs, WaitSecs, IOPort etc., which greatly simplifies calculation of reaction times and other time related events. Most aspects of the driver and especially its timing precision have been extensively tested under a variety of Macintosh computers and PC's under Microsoft Windows XP, Linux and MacOS/X 10.4.x and 10.5.x., so far with good results.

PsychPortAudio sound driver

Colorimeter support

IOPort Serial port hardware support

The new IOPort driver has been refined in a few areas. The driver is still much work in progress, with a few useful features missing. However, it should be already a far superior replacement for all old serial port drivers like PsychSerial, SerialComm and Matlabs serial objects for most purposes.

Improvements and bug fixes to Screen and other drawing functions -- The Visuals

There are still a few unresolvable serious bugs in OS/X 10.5.6, especially prominent with NVidia 8000 series hardware for which no workaround exists. E.g., multi-display operation (stereo setups) seems to be highly unreliable and dysfunctional. Frame sequential stereo on NVidia 8000 series hardware seems to be seriously broken in 10.5.5 (and maybe 10.5.6, untested). Only Apple engineering will be able to fix this.

New or enhanced demos

Test scripts in PsychTests

Misc other stuff


New download location for Portaudio driver with ASIO support

The special patched portaudio_x86.dll audio low-level driver with compiled-in support for Steinberg's ASIO sound interface for use on Microsoft Windows systems with our PsychPortAudio driver has a new home on our Wiki. You no longer need to request the driver from Mario Kleiner via e-mail. Instead, simply download the zip file with the driver from the PsychPortAudio section of the Wiki. The zip file contains the DLL, a readme file with installation, setup and usage instructions, and the special license for use of this driver, which deviates from our normal GPL license.


Psychtoolbox beta update from 2008-11-4 (SVN Revision 1151)


This update introduces support for "formless dot field" type stimuli, and various bug fixes and enhancements. Especially the IOPort driver has been improved again.

IOPort Serial port hardware support

The new IOPort driver has been refined in a few areas. The driver is still much work in progress, with a few useful features missing. However, it should be already a superior replacement for all old serial port drivers like PsychSerial, SerialComm and Matlabs serial objects for most purposes.

Improvements and bug fixes to Screen and other drawing functions -- The Visuals

There are still a few unresolvable serious bugs in OS/X 10.5.3, 10.5.4 and 10.5.5, especially prominent with NVidia 8000 series hardware for which no workaround exists. E.g., multi-display operation (stereo setups) seems to be highly unreliable and dysfunctional. Frame sequential stereo on NVidia 8000 series hardware seems to be seriously broken in 10.5.5. Only Apple engineering will be able to fix this.

New or enhanced demos

Test scripts in PsychTests

Misc other stuff


Psychtoolbox beta update from 2008-08-15 (SVN Revision 1110)


This update introduces support for synchronizing the displays of ATI based dual-display setups on OS/X, experimental support for 10 bit native framebuffers on some graphics hardware, smallish fixes for demos and subroutines, and a few new demos and tests in PsychDemos and PsychTests, as well as improvements to existing demos. The new IOPort has been improved as well.

IOPort Serial port hardware support

The new IOPort driver has been refined in a few areas. The driver is still much work in progress, with a few useful features missing. However, it should be already a superior replacement for all old serial port drivers like PsychSerial, SerialComm and Matlabs serial objects for most purposes.

Hardware support

Improvements to Screen -- The Visuals

Most improvements are related to the image processing pipeline. While the detailed documentation is contained in the files referenced below, most functions are accessed and controlled by the PsychImaging function and the basic help for how to use them can be found there. Demos mentioned below demonstrate this stuff in "real world" scripts.
On GNU/Linux and OS/X with ATI Radeon GPU's of the consumer level Radeon X1000 series and the Radeon HD2000 / 3000 / 4000 series and later, we provide experimental support for 10 bit framebuffers with our own homegrown solution. On Linux you need to start Octave or Matlab as system administrator or via the sudo command so it has the neccessary permissions to do so. On OS/X you need to load our special PsychtoolboxKernelDriver, see help PsychtoolboxKernelDriver for how to do that. Support is experimental in the sense that we can't guarantee that this feature will work reliable (or at all) on a given system configuration, because we use tricks that are not officially supported or recommended by ATI or Apple, so this feature may or may not work due to factors out of our control. If it works, it may break with future operating system upgrades, so if you need it, better make a backup of your operating system in case you'd need to downgrade!
That said, it works pretty well on the tested machines with Tiger 10.4.11, and it actually worked like that since multiple Psychtoolbox beta releases. The news is that we finally verified it really gives 10 bits resolution on consumer Radeon cards via some perceptual visual test - A nice greyscale gradient test image which shows clearly perceptible intensity steps at the expected locations in 8 bit framebuffer mode, but a smooth gradient in experimental 10 bit framebuffer mode.
On Microsoft Windows and GNU/Linux, the first graphics cards with native, officially vendor supported 10 bit framebuffers start to hit the market. If you happen to have such a card, Psychtoolbox will support it as well, without the need for special experimental tricks. These cards should support 10 bit reliably - assuming the vendors implementation is correct. As of now, vendors have announced some level of 10 bit support for the following cards:
ATI/AMD FirePro / FireGL GPU of the latest 2008 generation is advertised as supporting 10 bit on special 10 bit digital displays (e.g., high precision flat panels with DisplayPort), it may soon support 10 bit over the analog output as well (ie., VGA driven CRT monitors etc.).
The latest generation NVidia Quadro GPU's on Linux (and probably Windows?) will support 10 bit output, according to this excerpt from the release notes of the latest NVidia display drivers for Linux.
The latest generation of NVidia Geforce GPU's is rumored to support 10 bit natively under some circumstances as well: See this link and this link.
Support for 10 bpc framebuffers can be enabled via the PsychImaging('AddTask', 'General', 'EnableNative10BitFramebuffer'); subcommand, as demonstrated in the AdditiveBlendingForLinearSuperpositionTutorial demo.

New built-in workarounds in Screen for broken graphics drivers and operating systems

These workarounds get automatically enabled if the corresponding problem is detected on your system. Some will print out some warning messages to inform you about the problem and possible caveats related to the workaround. Remember: It's always better to fix the system than to rely on some workaround which can only fix 90% of the problem and isn't totally for free. Therefore stay informed about graphics driver and operating system updates if your system has problems.
In this release we've increased the sensitivity of the test which is supposed to detect such broken beamposition mechanism on startup, so it is less likely to miss some broken configs. In case it still misses some bugs, you can add the new setting 4096 to a call Screen('Preference', 'ConserveVRAM', ...);, see help ConserveVRAMSettings for more info. This will unconditionally enable the special workarounds, even if our test doesn't detect any problems.

There are still a few unresolvable serious bugs in OS/X 10.5.3 and 10.5.4, especially prominent with NVidia 8000 series hardware for which no workaround exists. E.g., multi-display operation (stereo setups) seems to be highly unreliable and dysfunctional. Certain Screen('CopyWindow') commands can caus a hard graphics system lockup for no conceivable reason. Many posts on public internet forums and the Apple mailing lists suggest many more similar serious problems. Only Apple engineering will be able to fix this. Currently we recommend to not upgrade to 10.5.3 or 10.5.4 on machines that are crucial for your productive work!

New or enhanced demos

New test scripts in PsychTests

Two tests illustrate the accuracy, or rather inaccuracy, of keypress and mousebuttonpress timestamps. Try them yourself! There are good reasons why special response boxes are still sold and bought for precise reaction time measurements.

Misc other stuff


Psychtoolbox beta update from 2008-07-12 (SVN Revision 1090)


This update, apart from work-arounds for for broken graphics card drivers mainly introduces support for anti-aliasing of visual stimuli while the image processing pipeline is used. So far, use of the imaging pipeline and of multisampled anti-aliasing where mutually exclusive. Simultaneous use of both is available on graphics hardware and operating systems that support the required OpenGL extensions EXT_framebuffer_blit and EXT_framebuffer_multisample.

Hardware support

Improvements to Screen -- The Visuals

Most improvements are related to the image processing pipeline. While the detailed documentation is contained in the files referenced below, most functions are accessed and controlled by the PsychImaging function and the basic help for how to use them can be found there. Demos mentioned below demonstrate this stuff in "real world" scripts.
On MS-Windows and GNU/Linux, most recent NVidia and ATI GPU's do support anti-aliasing with the imaging pipeline on. On OS/X, only some ATI GPU's do support this feature when used on "Leopard" version 10.5.3 or later, but support for NVidia GPU's on "Leopard" is expected to arrive in a future OS/X release.

New built-in workarounds in Screen for broken graphics drivers and operating systems

These workarounds get automatically enabled if the corresponding problem is detected on your system. Some will print out some warning messages to inform you about the problem and possible caveats related to the workaround. Remember: It's always better to fix the system than to rely on some workaround which can only fix 90% of the problem and isn't totally for free. Therefore stay informed about graphics driver and operating system updates if your system has problems.

However, there are still a few unresolvable serious bugs in OS/X 10.5.3 and 10.5.4, especially prominent with NVidia 8000 series hardware for which no workaround exists. E.g., multi-display operation (stereo setups) seems to be highly unreliable and dysfunctional. Certain Screen('CopyWindow') commands can caus a hard graphics system lockup for no conceivable reason. Many posts on public internet forums and the Apple mailing lists suggest many more similar serious problems. Only Apple engineering will be able to fix this. Currently we recommend to not upgrade to 10.5.3 or 10.5.4 on machines that are crucial for your productive work!

Misc other stuff

Psychtoolbox beta update from 2008-06-09 (SVN Revision 1064)


This update, apart from the usual bug fixes (mostly for broken graphics card drivers, but also for a few ptb bugs) mainly improves support for high precision drawing and display of visual stimuli. Another major part is consistent support of serial port access for all operating systems and runtime environments. And then there are lots of improvements to single functions.

Hardware support

Improvements to Screen -- The Visuals

Most improvements are related to the image processing pipeline. While the detailed documentation is contained in the files referenced below, most functions are accessed and controlled by the PsychImaging function and the basic help for how to use them can be found there. Demos mentioned below demonstrate this stuff in "real world" scripts.
This functionality is mostly controlled by the special floatprecision flags of Screen('MakeTexture',...) for drawing of high precision textures, and the Screen('ColorRange',....) command for drawing of other primitives and control over the required precision, value range and clamping behaviour of such drawing operations. General control of framebuffer precision is again done via PsychImaging and its subfunctions.
The BitsPlusPlusAdditiveBlendingForLinearSuperpositionTutorial currently demonstrates how to enable and use the different drivers in its source code. While this script used to only demonstrate Bits++ Mono++ mode, it its now more generic and will need a new name.
The HighPrecisionLuminanceOutputDriversImagingPipelineTest tests accuracy of the different output drivers, except for the CRS Bits++ which has its own test script like in the past.



Online function reference available


Thanks to the clever and enthusiastic work of Tobias Wolf, the help texts of Psychtoolbox are now also available online:

http://docs.psychtoolbox.org/wikka.php?wakka

The same link is available from the top page of the Wiki as "Function reference".

The reference is mostly automatically generated by a clever Python script that we will occassionally run over the whole 'beta' distribution. The script automatically extracts, formats, hyperlinks and uploads the help content from all Psychtoolbox M-Files and the online help of most MEX files to the documentation Wiki.

The online reference is imho much more easily readable/browseable due to all the nice clickable cross-links and the much nicer formatting. The content however is almost the same as what you get from your Matlab console by typing help Psychtoolbox, help GetChar, Screen, Screen OpenWindow? etc. Unfortunately there don't exist any scripts that automatically rewrite documentation :-(

The script is clever but it has the hard job of turning an organically grown mass of help texts, written by many different people and as many different opinions on formatting/writing style but without any formal markup language, into something half-way structured ;-) -- iow. formatting glitches are to be expected. If you find small glitches, take them as beautful examples of modern art. If you are really annoyed by some formatting, feel free to find out what goes wrong and contribute fixes to the documentation or even better, volunteer to be the one with good taste and make it your personal mission to beautify our documentation.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki