EPrime入门教程个人经验版
- 格式:pdf
- 大小:351.28 KB
- 文档页数:8
E-Prime使用說明簡介E-Prime有許多功能,包括編寫程式(E-Studio)、執行程式(E-Run)、整理data(E-DataAid)、修復data(E-Recovery)、合併data(E-Merge)。
一般來說,要編寫程式我們會使用E-Studio。
在程式集中執行E-Studio後會出現選單(如下右圖),除了可以選第一項開啟一個新的空白實驗或是選第二項使用範例模式一步一步建立實驗程式,也可以選第三項開啟一個已存在的實驗程式來進行編輯。
基本操作介面通常我們選擇開啟一個新的空白實驗後,會出現如下圖之畫面。
1.工具箱(ToolBox) : 在下圖最左邊的藍色區域就是工具箱,工具箱裡的物件(包括圖片、聲音、文字、反應回饋…等)都可以依照實驗的設計和需求,自行加入到實驗之中。
2.結構視窗(Structure) : 結構視窗中會以樹狀圖的形式,顯示出使用者在實驗結構中放入了哪些工具箱中的物件。
實驗執行時,程式會依據此視窗中(由上而下)之順序,先後呈現出使用者所放置的物件。
3.屬性視窗(Properties) :在結構視窗下方的屬性視窗,可顯示在結構視窗中被使用者所點選(用滑鼠左鍵在物件上點一下)之物件的屬性。
我們可以藉由屬性視窗來更改結構視窗中物件的名稱、呈現時間長短及位置、資料收集方式…等基本屬性。
4.工作區: 下圖畫面中右側的區域為工作區。
當我們用滑鼠左鍵在已放置於結構視窗中之物件上點兩下時,則此物件就會呈現在工作區之中,此時也可以對物件的屬性進行編輯。
編輯實驗程式舉例說明假設我們現在的實驗,想請受試者先看一個中文字中的部件(如:言),再看一個中文字(如:試),並請受試者判斷先前看到的部件,是否有出現在後來看到的中文字中。
因此,本實驗的呈現順序為: 指導語畫面→練習開始畫面→練習(5個trial)→練習結束畫面→正式實驗(10個trial)→實驗結束畫面練習trial為:嗶聲→部件→遮蔽(mask)→中文字→回饋→全黑畫面正式實驗trial為:嗶聲→部件→遮蔽(mask)→中文字→全黑畫面開始編輯1.時間軸:首先,在SessionProc圖示上按滑鼠左鍵一下,會出現屬性視窗。
eprime程序教程 [原创 2008-10-05 10:43:04]字号:大中小E-Prime是由卡奈基-梅龙大学和匹兹堡大学联合开发心理学实验操作平台,是一个高等的图形设计环境,提供革命性的新工具,以加速实验发展,E-Prime可以让您在设计实验时,只须选取常用的实验功能图标,然后把图标拖曳到实验程序内,可以在短短的时间,建立复杂的实验程序。
功能: 实验设计、生成、运行、收集数据、编辑和预处理分析数据。
优点: E-Prime能呈现的刺激可以是文本、图像和声音(可以同时呈现三者的任意组合)提供了详细的时间信息和事件细节(包括呈现时间、反应时间的细节),可供进一步分析,有助于了解实际实验运行的时间问题。
专门面向心理实验,并针对心理实验的时间精度作了优化。
刺激呈现与屏幕刷新同步,精度可达毫秒。
相对于传统编程语言,E-Prime易学易用,实验生成快速。
E-Prime的优点在于:反应输入方式多样:E-Prime目前可以实现的反应输入有:键盘、鼠标以及反应盒SRBox;另外,也可以利用反应盒接口或并口、串口接上其它设备,如ERP等。
专门面向心理实验,并针对心理实验的时间精度作了优化。
刺激呈现与屏幕刷新同步,精度可达毫。
相对于传统编程语言,E-Prime易学易用,实验生成快速。
提供了详细的时间信息和事件细节(包括呈现时间、反应时间的细节),可供进一步分析,有助于了解实际实验运行的时间问题。
E-Prime 包括了以下几部分:E-Studio 图形化界面的编程环境E-Basic Script 式语言E-Run 实时生成实验程序E-Merge 数据融合E-DataAid 表格式数据处理E-Recovery 数据修复E- Prime 应用中的若干个问题1、E- Prime的时间精度为毫秒级,E- Prime可以呈现几毫秒甚至1毫秒的刺激?这是对毫秒级精度的误解,实际上,毫秒精度是相对的(参见 E- Prime对毫秒精度的定义) ,E- Prime无法做到绝对 1 毫秒的控制,任何实验生成软件都无法做到。
E-Prime实验操作手册目录一、安装 (3)二、界面介绍 (5)三、基本操作 (7)四、控件设置: (8)一、图片控件设置: (8)二、Inline 程序语句的编写 (10)三、Lable (10)四、List的参数设置 (11)五、Moviedisplay的参数设置 (12)六、Silde的参数设置 (13)七、反馈控件的参数设置 (14)八、录音控件的参数设置 (16)九、声音控件的参数设置 (16)十、文本控件的参数设置 (17)十一、Wait参数的设置 (18)五、行为数据的处理 (19)一、安装放入光盘打开后的界面如图:直接安装第二项,安装过程如下,直接点NEXT即可:在这里提示是否安装I/O设备,选择是。
在这里提示是否安装反应盒驱动,选择是。
然后在第一次打开时会有如图提示:选择否即可。
在此注册,输入用户名和公司单位以及序列号,序列号格式如:4198A5-8D7E92-9E89BD。
e-prime1.0在安装的时候需要插上狗才可以安装,而2.0不需要。
二、界面介绍 打开软件的界面如图: 嵌入图片刺激实现程序语句设置标签表单嵌入视频刺激调用子进程进程嵌入符合刺激(图片、文字、声音、视频)嵌入反馈提示声音录制嵌入声音刺激嵌入文字刺激设置等待菜单栏快捷方式工具箱工作区结构视窗属性视窗另外需要介绍的在edit下的experiment里有一些外接设备和显示设置界面如图:双击第一项则出现Dieplay index 设置在那个显示器上显示。
Default background color 设置背景颜色Match desktop resolution at runtime 设置是否全屏否则启动setting中设置的分辨率Width和height设置分辨率Color bit depth 设置颜色质量点击Add可以增加反应设备如图:可以增加游戏摇杆,也可以增加自己设计的并口设备。
三、基本操作双击打开时间轴:控件时间轴ImageDisplay对象是E-prime用来呈现图形图片实验材料的控件。
一,E-Prime组成部分1.实验组成10部分:1.Instruction指导语:“无限时间”,按键消失(注:不要用轻易按到的键),格式为图片(易于排版)。
操作性原则:说明先出现什么,后出现什么,被试如何反应。
范例:2.Fixation注视点:呈现时间500~800 ms,自动消失,大小30字号以上。
3.Stimulus刺激界面:4.Probecueing探测线索:出现在探测界面前面,用于去习惯化和让被试做好准备。
5.Probe探测界面:6.Feedback反馈界面:对被试反应作出正确或错误的反应。
时间:1000~2000ms7.ISI , SOA, Interval刺激间隔:ISI:上一个刺激终点~下一个刺激起点。
SOA:前一刺激起点~下一个刺激起点)。
两者的关系SOA=ISI+DurationInterval:刺激与目标,目标和其他界面的间隔时间。
8.Buffer Interval 实验缓冲:500~1200ms。
被试作反应后推迟下一个Trial的呈现。
反馈界面也起到缓冲的效果。
9.Mask 掩蔽界面:400~1000ms,常用于启动效应实验和记忆实验。
在记忆实验中,消除刺激的感觉记忆。
10.Exp End 结语界面:1000~1500ms,如,“实验完毕,谢谢您的参与!”2.实验程序控制5要素Duration呈现时间:固定时间,变化时间(设置变量或数组),无限时间(“-1”,“infinite”)Mode呈现方式(=消失方式):自动(不需要设置),按键(无限时间+设置按键在刺激界面),反应(无限时间+反应键在探测界面),自动+反应(固定时间+反应键)Format呈现格式:刺激物属性:字符(字体,大小,前景颜色?,背景颜色,下划线),图片(尺寸大小,文件大小,亮度,色调?,饱和度?,灰度?,对比度);位置;边框(大小,颜色)Response反应方式:键盘反应(字母,数字,功能键);语音反应;外接反应键;脚踏板反应Data logging数据收集:反应时Response Time ;RT ,正误Accuracy;ACC,反应Response;RESP,实验流程示意图3.实验过程Procedure:Session Procedure全过程;CEP Core Experimental Procedure(运行一次是一次Trial,一个Block=指导语+CEP+结束语)4.实验设计的4模式:Paralleling并联模式:(图B)完成CEP1再完成CEP2。
EPrime入门详细教程王一峰因时间仓促,水平有限,本教程难免会有不足甚至错误,希望各位同道提出批评意见,大家共同进步!E-Prime跟office一样,是一个程序包。
就像做文档用Word,做幻灯片用PPT一样,写程序的时候就用E-Studio,运行程序可以用E-Run或E-Studio,整理数据用E-DataAid,合并数据用E-Merge,恢复未完成或损坏的数据用E-Recovery(用TXT文件生成edat文件)。
我们主要用E-Prime来编写和运行程序。
首先打开E-Studio,选择新建一个空白实验。
然后点击Structure里的SessionProc(这个很容易找到),会弹出SessionProc的界面,就是一条左绿右红的流程线,这条线上要按照时间先后顺序呈现你实验的整个流程。
SessionProc这条线上一般包含三个基本的部分。
首先是实验指导语(introduction),你可以用一个图片或文本来写。
对于1.1版本的与汉语兼容性不好,所以尽量用图片呈现。
2.0版本就可以用文本。
同样,在实验的最后会有一个结束语(endexperiment),跟指导语的设置基本相同。
接下来就是最重要的实验程序(experiment)部分了,这部分用一个list呈现。
心理学实验一般是被试读完指导语后按键或通过别的方式开始实验,也许有练习,也许没有。
实验结束之后程序自动跳出,呈现结束语(一些感谢的话……)。
我们先从指导语开始看,双击introduction,弹出它的对话框,然后点击左上角的属性按钮,出现属性对话框。
该对话框包含等子目录。
在General中首先需要你输入该控件所引用的文件(图片)名。
如果只有一幅图片,可以直接输入图片名.后缀,比如picture.bmp。
如果有很多图片,并且你把它们放在了list里面,可以通过调用list属性的方法引用。
比如list里面有picture 这一列,里面放了你的所有图片材料,在此,就可以输入[picture].bmp。
当然,如果你不怕麻烦,可以在list里面输入所有文件的“名称.后缀”,在此只需要填写[picture]。
后缀是必须有的,并且只能有一次。
如果还是感觉没把握,可以点击右边的,在文件夹中搜索就行,点击打开后,文件就直接调用过来了。
记住,请把你的所有实验材料跟该程序放在同一个文件夹里,程序中的所有引用都会在该文件夹中调用。
General的左边是调整文件的镜像方向、拉伸、位置等空间属性的;右边是调整颜色属性的。
如果需要,可以自己尝试调节一下每个选项,看有什么效果。
我们经常用的选项是,为了让被试眼睛更舒服,我们会调节屏幕呈现柔和的颜色,或者根据实验目的选择必要的颜色。
颜色设置有三种方法:(1)从下拉菜单中选择;(2)直接输入颜色名称,如red;(3)输入RGB值并用英文逗号隔开,比如85,123,205。
Frame中的选项用于调节材料的大小、位置、边框等信息。
三种方式:(1)从下拉菜单选择;(2)自己输入,如33;(3)从list里面调用,如[time]。
Timing mode可以根据需要选择,ERP研究常用Event模式,保证当前刺激与发送trigger的时间一致,是严格的事件相关;fMRI研究常用Cumulative模式,如果上一个刺激时间有延迟,则当前刺激会提前呈现,可以保证当前实际运行时间与程序预定时间一致。
PreRelease如果需要的话,一般设为100ms,即提前100ms让下一刺激进入缓存,保证及时呈现。
Data Logging可以选择你记录数据的项目,也可以在Logging菜单下查看和选择。
接下来选择输入设备,常用的是键盘。
选择后进行response设置。
Allowable中设置你的按键,对于单个字母和数字直接输入即可,也可以同时输入多个按键,如“12345”,之间不用逗号。
一些在键盘上标注了多个字母的键需要用大括号括起来,比如任意键用{ANY},空格键用{SPACE},回车键用{ENTER}。
如果你想在不同trial中设置不同的按键,可以在list中单独写成一列,然后在此处引用,引用格式仍然是方括号,如[key]。
Correct中填写你规定的正确反应,如fj,1,[C]等,也可以不填。
注意:用笔记本电脑运行程序的时候,按键可能会出现问题。
一部分字母可以用作数字键,这时如果设置按键是某个字母,有可能记录不到反应。
因为该键此时表示的可能是数字,这个检查一下Fn键就可以。
台式机一般不会出现这个问题。
Time limit是关于呈现时间的设置方式。
如果选择same as duration,则强制使用你在Duration中规定的时间。
选择infinite则时间不限,你可以在end action中设置结束的方式。
当然也可以在下拉菜单中选择特定的时间以结束刺激或者自己输入时间,如225,或者引用list中的时间限制,如[ltime]。
End action选择none,则会根据你在上面设定的时间自动结束,如果选择terminate则在被试反应后结束,选择jump则跳出。
Duration、response、Time limit、End action配合使用可以达到多种效果。
如有更加复杂的要求,可以尝试在Advanced properties中设置,比如设置MAX Count为2,即可以按两个键反应,如输入10.Echo中添加display控件后可以让被试在浮动对话框中输入答案。
对话框的位置、大小、字号等可在edit中设置,如有需要,可以自己尝试。
Text display的设置方式与image display相似。
最关键的部分是list里面的设置。
这里包含被试实验操作的整个流程,建议以最简单的方式呈现。
一般一个trial由一行构成,里面可以包含任何可以调用的信息。
双击打开list的界面,会看到第一行的工具栏。
从左到右依次是增加一行、增加多行、增加一个属性、增加多个属性、summary、list的属性、删除行和删除属性。
一般常用的是增加多行(至你所需的trial数)和增加多个属性(包含你所需调用的所有属性)。
Summary的内容会呈现在工具栏下方的空白处,方便及时查看运行框架。
其中sample的数量就是行数,1个cycle就是整个list运行一个循环。
注意观察上图中sample、cycle、weight的关系及右侧structure框中随list设置而发生的变化。
List的属性也包含几个内容:general中可以设置运行方式,一般选择embedded即可,就是直接运行本list 中嵌入的内容。
也可以调用你已经建立的file,或自己写的脚本(script)。
Selection中可选择运行顺序。
Sequential即按ID顺序呈现list里面的内容,random是随机顺序呈现,random with replacement类似于放回抽样,有可能两次抽到同一行。
Counterbalance、offset、permutation均是按照特定顺序呈现,如可以平衡被试、利手、分组等,在右侧选择相应的项目即可。
所有控件的属性也可以在属性窗口查看或设置,如下图。
List主体的第一行是属性名称,其中weight栏下可以为每一行赋值,表示该行在程序运行时执行的次数。
Nested栏下可以输入一个名称,输入后会出现一个新的list,里面可以输入你需要的材料,这样当程序运行到每一行的时候都可以从嵌套的list中调用材料,只需将嵌套list的选择方式设为random,即可在每个trial中随机调用你所有的材料。
这一功能非常有用。
当然,如果你在每个trial中调用的材料都是固定的,就不须nested了。
然后是procedure,在下面输入一个名称,就会出现一个新的程序流程。
你可以在此流程条上放置一个trial 中需要的所有控件。
一个list中可以包含多个procedure,比如一部分需要反应,一部分不需要反应,就可以设置两个procedure,分别记录相应的信息。
一个procedure包含一个trial运行所需要的所有流程,按时间顺序排列。
各控件的设置可以参考前面imagedisplay的设置。
Feedback控件的设置有特殊性,它包含多个项目,每个项目可以分别设置,但都受到feedback属性的限制。
工具栏中提供了文本、图片、声音等不同的反馈方式,可以对不同反应作出不同的反馈。
Correct、incorrect、noresponse等只包含基本设置,总体属性的设置要先选中feedback,然后点击右侧的属性按钮。
General中可以输入或选中需要对哪个控件的信息进行反馈,以及要收集哪些信息。
Format中可以设置反馈的形式,如百分数、整数等。
Duration/input中可以设置feedback控件的持续时间、结束方式等。
后面的设置参考imagedisplay的设置。
对于随机时间的设置需要在inline中进行。
如要控制prime的呈现时间在50~500ms中随机,在其前放置一个inline,用下面的语句来控制:Set prime.duration=random(50,500)与属性中的duration/input设置相比,程序会优先调用inline中的设置。
另外,很多过程可以用inline来控制。
比如,运行n个trial后进行休息、计算正确率等。
复杂的控制语句可以到网上搜索。
当然,要完成实验还需要收集被试信息,可以在structure中双击experiment object。
或者在主窗口的edit 菜单下选择。
在startup info中选择或添加需要收集的信息。
在devices中添加和编辑硬件设备。
比如,选中display,点击edit,设置其相应属性。
有时图片不能调用,也需要查看此处的属性跟图片是否相符。
Eprime的界面是结构化的,你可以在structure窗口中查看整个实验的流程。
在编写程序前,一定要对自己的实验流程有一个细致的安排,也可以写在纸上,设计过程中需要什么控件,直接拖到相应的位置就可以。
如果要在另一个位置调用一个设置完全相同的控件,只需要用鼠标拖动到新位置,就可完成复制。
此时,修改一个位置,另一个位置的控件中所有的参数都会同步改动。
如果不想同步改动的话,可以按住Ctrl键再拖动,可以看到新的控件名称已经改变了,他们已经是两个独立的控件,可以单独修改。
Eprime要跟ERP或fMRI,往往需要向相应设备发送trigger或打mark。
首先在view菜单中打开script窗口。
在user对话框中开端口,对每个需要打mark的控件进行设定,即stimulation.OnsetSignalEnabled = Truestimulation.OnsetSignalPort = %26H378stimulation.OnsetSignalData = %26H02stimulation.OffsetSignalEnabled=True这一组语句,每个需要打mark的控件都要写一组。