前言
PSYCHTOOLBOX(PTB)是免费的可在MATLAB和Gnu/Octave环境下运行的函数库,能够使我们很方便地精确控制视觉和听觉刺激的呈现和同步,并且能够简化与用户的交互操作。PSYCHTOOLBOX的目前版本为3.0,可在MATLAB 7.x或Octave 3.2.x上运行,开发人员将不再针对旧版本进一步开发和提供支持。实验程序开发的方法之一是利用简易的开发工具,如E-Prime、Affect、Inquisit、Super-Lab等;一是利用诸如C或Pascal等可以对硬件设备实施底层控制的语言。前者相对而言简单易学,不需要太多的编程经验,后者则需要具有丰富的编程经验和熟悉硬件参数。诸如BASIC、Lisp、MATLAB等高级解释性语言,缺少对硬件进行精密控制的能力,而 PSYCHTOOLBOX 则提供了从高级语言到硬件底层控制间的接口,可以读取显示帧缓存和颜色检查表中的信息,可以与垂直行扫描进行同步,支持毫秒级的计时,能够使用OpenGL开发三维的图形程序,进行颜色空间转换(如从RGB到HSL),实现QUEST算法等,它是介于上述两种开发方法的一种中间状态,有些实验软件系统提供了封装的实验程序,但在设计和开发新的实验程序方面往往捉襟见肘、不够灵活,或者是费了半天的周折终于实现了某个环节(功能),程序的可读性大大降低。这就需要借助于MATLAB等高级编程语言来达到特定的实验目的。
即使你先前使用其他高级编程语言,也有充分的理由让你转向 MATLAB+PTB 的学习, MATLAB 提供了丰富的高级函数进行数学运算和绘图操作;对于数组(矩阵)和图像的操作简易至极,而无须像其他高级语言那样过度依赖for、while、do、loop等循环来操作。在开发过程中,可以直接在命令窗口中实时查看数据和检查运算结果,这一点也是其他高级语言不可比拟的。就功能和效率而言,MATLAB+PTB的组合足以击败任何一款实验开发工具。
对于初学者而言,PTB提供了大量的演示程序,通过help PsychDemos可以获取示例程序列表,直接在命令窗口中输入程序名就能够查看演示效果。借助于本教程,可以帮助初学者一步步地快速上手。
目前 PSYCHTOOLBOX 在全世界范围内已经有超过 13 万人次的下载量,你可以登录http://tech. groups.yahoo.com/group/psychtoolbox/messages/加入PTB用户社群,也可以向以下邮件地址psychtoolbox-subscribe@yahoogroups.com发送一封空白邮件来订阅来自用户社群的消息,如果遇到问题还可以在论坛上提问,来自世界各地的爱好者以及专业的软件技术人员可以帮你解决问题。另外,本书所附实例程序及实用工具可在华信教育资源网(http://www.heedu.com.cn)上直接下载,使用方法可参见下载后的光盘使用说明文档。
由于作者水平有限,加之时间仓促,恳请读者进行批评指正,也欢迎使用本教材的同仁提出宝贵意见。
冯成志
2013年5月31日