[技术分享] Experiment builder编程图文案例一句子阅读实验
[导读]:该案例是最近实施的一个实验,借此介绍常规阅读实验的编程操作,希望学生们能够通过掌握一个案例,融会贯通,运用到别的程序的编定上。
1,打开Experiment builder程序,点击File,新建程序,选择Eyelink 1000 plus型号眼动仪,如果是非眼动实验,去掉底下的选项。
2,点击Edit中的Preference,找到Display,更改分辨率,刷新率等信息与主试机一致。将背景色设置为(128,128,128),将transparency color设置为(127,127,127)。Screen中选择TopLeft,并勾选antialias drawing 。
3,在工作界面,拖拽三个Sequence,程序分层设计。分别命名为Block,在Block里面的Trials,以及Trials里面的Recording三个sequence。
5,进入Trial sequence,增加Prepare 和 drift correction两个nodes。分别命名为Prepare和DriftCorrection。Prepare中将Draw to Eyelink Host设定为image。DriftCorrection中设定X,Y坐标。中心位置应为(960,540),背景色统一调整为(128,128,128)。将node按顺序连接。
7, 添加一个变量设定为WhichKey,设定为0号,即整数值,因为用到button按键的数值。在update中更新此变量。如果有可能存在上个trial的反应数据被记录到当前trial的可能性,需要设置两个update,一个reset变量值放在start之后,因为某些条件下可能没有按键,如果没有reset,会保留上一个trial的按键,记录的按键会存在问题。
8, 进入Block sequence,点击trial sequence,在属性栏,找到Data source点击进入data source的编辑界面。点击Import data,将文字材料导入进来,选择GBK标准,默认首行是变量行。导入之后检查是否所有信息完整。
9,选择底部的随机化,并进行设定。选择Session label作为随机种子,选择block中的type进行不随机,因为practice总在前面。选择Enable trial randomization,选择随机的变量,Run length control设定为3,表示连续出现相同条件三次,则变成下一个条件。选择Randomize on roll-over,如果需要每次随机序列不同。Splitting column选择set,即设定两个set,有些被试可能做set1有些被试做set2。在trial属性中,设定Split by为[6,120],然后在Block属性中,将循环设定为2。表示分两个循环进行校正,做了6个练习之后再次校准,进入正式实验120个trial。
10,进入Recording sequence,填写相关action的reference。首先找刺激屏,在Message属性上填写SYNCTIME,背景颜色与其它背景保持一致,并勾选Use for host display。然后双击Stimulus进入,插入Text,将Text修改为汉字“宋”,方便查看像素数,标签修改为Sentence,Location设定为450,525,选择字体为Song,24号字体默认,在Text中,reference为datasource中的sentence。
11,修改FixationBox属性,背景设置为(128,128,128),取消除了刺激屏以外的所有屏幕的Send Eyelink DV Message选项。双击进入FixationBox,添加方块,Fill color与汉字颜色相同(0,0,0)。位置与汉字同,设定为(450,525),宽和高与汉字同,设置为(30,30)
12, 设定FixationTrigger,设定位置与box相同,设定追踪眼睛右眼,设定最小注视时间300ms。
13,依次设定反应button选择、空屏属性、问题选择屏幕等。记住几个要点来编订实验流程,刺激呈现在什么位置,刺激呈现多长时间,刺激呈现后如何反应选择,按键如何被记录和保存下来。依据实验流程,插入相应的nodes。
14,当实验编订完成,参考另外一篇博文,[技术分享] EB编程通用检查清单。
15,Build一下看是否报错,如果没有错误,连接眼动仪器用鼠标模拟或找一个被试测试一下看是否有问题,并检查EDF文件导出一个数据结果,看是否自己想要记录的变量,譬如正确率等指标是否存在等。