美文网首页EYE/EEG/fNIRS/行为实验
2020-04-17E-prime常见问题汇总

2020-04-17E-prime常见问题汇总

作者: 陈锐CR | 来源:发表于2020-04-17 14:43 被阅读0次

    E-prime常见问题汇总

    本文来源网络,仅供学习参考使用。

    1、刺激间隔用语——I S I , I T I , S O A有什么区别呢?

    SOA,前一个刺激开始到下一个刺激开始之间的时间,简单说即“从开始到开始”; ISI,两个刺激的间隔,即“结束到开始”。 比如在图片命名实验中,每幅图片呈现8s,之后呈现2s的“+”,然后再呈现下一张图片。在这个实验序列中,SOA为8+2=10s,ISI为2s。 ITI:intertrial interval,指的是两个trial之间的间隔,类似于ISI。感觉在认知实验中,当一个实验呈现很多刺激时,常用ISI这个术语;而在fMRI实验中,好像多用ITI这个术语。

    如上图,SOA如果是指刺激开始到结束,是指一个trial的起始到下一个trial的开始,还是指一个图片刺激的开始到下一个图片刺激的开始呢?虽然两个时间一样长,都是2+8,但是感觉含义还是不一样的,如果对于前面“+”时间随机的时候,两者的时间长会不一样,所以再问下,呵呵... ISI是指指两相邻图片刺激的时间间隔吗,如果两个trial之间还存在1s的时间间隔,那么是不是ISI变为了2+1s了呢? 那么此时ITI还是类似于ISI吗?是等于1s还是3s呢?呵呵... image

    在一些研究中,“+”有时候是随机呈现的(比如4s,6s,8s),所以SOA或ISI有时候可能不是一个固定的值。 如果两个trial中还有1s的时间间隔,得看呈现的是什么以及你怎么定义了,根据你提供的那幅图,ITI可以看做是1s,ISI可以看做是3s

    2、以下是自己编程时以及在帮同学检查程序时遇到的问题总结,希望对大家有所帮助。 (1).关于中文字符不兼容的问题可以通过把所有的文字转成图片的方法,或者在.es文件中用英文字母表示中文,generate之后,在.ebs文件中将英文字母用中文替换。 (2). 文件每编完一段之后便generate,以便尽早发现错误。 (3).如果generate顺利,但是在运行过程中出现稀奇古怪的问题,直接去检查.ebs文件,看是否.ebs文件在生成过程中是否自己增加了某些特殊符号,我给我的同学排查错误时遇到过两次这种情况。 (4).Object的命名一定不要和程序语言重名,这样eprime会把它当成命令,这种情况遇到过一次。 (5).Inline语句中,引号里面不要有空格,一次一个师妹就范这样错误,找了很长时间才找出来。 (6).不要编太长的程序,通常一个程序里面有多个list,但只用相同的一个procedure,太长的程序也容易出错。 (7).eprime通常不区分大小写,但是在Inline中调用按键反应时,如果是空格或回车,必须要大括号内大写字母。

    3、Q: 刚看到这期心理学报上有几篇用e-prime编程的文章,都会在程序中设置一段时间的空屏。比如被试反应置一段时间的空屏。比如被试反应结束后下个刺激呈现之前。请问,这个空屏的作用是什么?是必要的吗? A: 最基本的作用可以缓冲,然后可以消除前一个trial或者刺激对后面的影响 ----------------------------------------------------------------------------------------------------- Q:还有注视点+之后先空屏再呈现刺激,这又是为何? A1:“前一个trial或者刺激对后面的影响”,指的是程序本身运行中的影响,而不是对被试的影响吧? A2:我觉得是视觉残留的影响吧 A3:对,应该是消除刷新率的影响

    4、Q:为什么在fmri实验中,需要在e-prime中把刺激的timing mode设置成cumulative? A:消除事件之间的时间误差,保证刺激的onset time与fmri扫描同步(right?)。

    前阵子做实验遇到这个问题,其实把设置改称“cumulative”只能保证程序跑得总时间和设置的参数一致,但刺激的onset time 和 fmri的扫描还是有10ms左右的误差。不过要比“event”模式精确一些,“event”会使实际onset time与设置的时间相差1s左右!最精确的方法,就是根据eprime生成的onset的参数进行调整。

    5、用e-prime随机呈现四十张图片中的十张,且不能重复,应该如何做?

    你可以把图片放在trial的上一层(十四张图片),然后在tria层设置十个trial,直接调用trial上一层的图片。说实在的,我知道怎么做,但是可能表达的不是很清楚,抱歉! 前面的我明白,但是我想问一下,怎样才能让每次选择的都是不同的,还有就是,怎样才能保证调入TRIAL层的是完全随机的,这个随机是应该在BLOCK层实现还是应该在trial层实现? 在trial的设计中单击鼠标左键,出来的工具栏中选择select,里面可以设置随机random选项。

    6、在执行声音文件程序时,总是出错,不知错误在哪里,提示信息是:Error: 0x00004a46 Message: 'Unable to open the SRBOX: 0x00000103 The SRBox Device Driver may not be installed' 但是我已经加上SRBOX了设置了,device里的数据也已经设置好了,再有什么问题我就不知道了。望各位高手不吝赐教!!非常感谢!我都快郁闷死了。

    改一下channels, samples,和bits per samples的值。

    谢谢上楼!已经都设置到最大了,但还是提示同样的错误信息。

    不是要设置到最大,是让设置与你的声音文件保持一致。

    7、我想让被试在一个trial之后输入数字,如何设置能让程序记录被试输入了什么数字? 如果我想在下一个slide呈现两倍与这个数值的数字结果,有没有什么好办法可以实现?

    可以把被试要输入的数字加入allowable里,他输入后,可以记录。(如果有两位及以上的数字,可能要把terminate time 改一下,不然输入第一个数字就进入下一个trial了,你试一下。)

    第二个问题,假定反应输入默认为非数字,在list中添加一个变量value,将输入转为数字 假设要输入数字的这个object名称为response,接下来的object为feedback,两者之间插入inline: if response.RESP = "1" then c.setattrib"value", 2 elseif response.RESP ="2" then c.setattrib "value", 4 end if feedback.Text=c.getattrib("value")

    以下内容来源官方网站:

    九个常见错误

    The PST support team has identified 9 E-Prime design pitfalls and how to avoid them. The wide range of design possibilities in E-Prime can be a double-edged sword, allowing room for bad habits to form. Most mistakes can be avoided by studying this list and the accompanying articles in the PST Knowledge Base.

    1. Pixels instead of percentages

    Avoid using pixel values when setting the location of Sub-Objects. Building experiments that can easily transfer between machines is just good practice and nothing is more aggravating than worrying about proper display resolutions.

    img img

    WHAT’S THE PROBLEM Experiment appearances may change when run on different display resolutions. WHAT’S THE SOLUTION Use percentage values in the ‘Frame’ tab when setting the location of your Sub-Objects.

    2.Not changing names in Object-based script

    When changing the name of any Object in E-Studio always remember to check all InLine Objects and User Script for references to specific E-Object names. Some E-Objects, like Feedback Objects, automatically sync with new names, possibly giving users the false impression that other names will follow suit.

    WHAT’S THE PROBLEM Changing an E-Object’s name invalidates any InLine or User Script that uses the old name.** WHAT’S THE SOLUTION** Check the User Script and any Inline Objects when you change an object’s name.

    3.Keeping unused objects in “Unreferenced E-Objects”

    img

    Before running or testing an experiment, check the “Unreferenced E-Objects” area to delete any unneeded E-Objects from your experiment. Unreferenced E-Objects can still cause a number of errors if E-Prime is referencing them through InLine or User Script.

    WHAT’S THE PROBLEM E-Objects deleted from the Session Procedure will stay in the “Unreferenced E-Objects” section and may cause errors.** WHAT’S THE SOLUTION** Delete any unnecessary E-Object from the Session Procedure then delete it from Unreferenced E-Objects to remove it entirely.

    4.Disorganized resource files (movies, images, sounds)

    Keep all files related to an E-Prime experiment together. This allows easy portability of experiments between computers and E-Prime automatically locates files stored in the same location as the experiment file.

    WHAT’S THE PROBLEM Missing image, video, or sound files will stop an experiment from running.** WHAT’S THE SOLUTION** Keep all of your media files in the same folder as your experiment file. If there are several media files, place a folder named “Resources” in the same location as your experiment file to keep things organized.

    5.Not Recycling E-Objects

    img

    Cut down the number of unique E-Objects as much as possible. It’s much easier to modify 2 display objects rather than 20.

    WHAT’S THE PROBLEM Creating, organizing, and modifying several E-Objects is time consuming, confusing, and can lead to errors. WHAT’S THE SOLUTION Recycle E-Objects wherever possible. Modify stimuli through the use of List Objects and attribute references. Familiarize yourself with our tutorial videos to get comfortable using attributes.

    6.Thinking locally, not globally

    Use the User Script whenever you are defining variable names so they hold across the entire experiment.

    WHAT’S THE PROBLEM Variables set in one procedure do not transfer across an entire experiment.** WHAT’S THE SOLUTION** Declare your variables in the User Script and simplify the scripting process.

    7.InLine Script lacking indentation

    Make your script easy to read by hitting the tab button. For example, anything between ‘If Then’ and ‘End If’ should always be indented, the same goes for ‘Do While’ Loops.

    img img

    ** WHAT’S THE PROBLEM** Script becomes even more confusing and difficult to read or modify if indentation isn’t used.** WHAT’S THE SOLUTION** The beginning and ending of statements should be the only portions without indentation. Actions between, for example ‘If Then’ and ‘End If’, should be indented for readability.

    8.“Match Desktop Resolution at Runtime” across displays of different sizes

    Limit variability by setting a specific resolution in the Device Property Pages and double click on the Display icon to change the settings.

    WHAT’S THE PROBLEM Experiments running on a display resolution of 1600 x 900 will look different on a display resolution of 1280 x 720. Some Sub-Objects may not even appear on screen.** WHAT’S THE SOLUTION** Go into Display Device Properties and set a specific resolution for the experiment which will apply to all displays.

    9.Making multiple experiment files for multiple Sessions

    For experiments that require multiple sessions, many users create multiple experiment files. However, using a counterbalanced List replaces the need for multiple experiment files. StartupInfo prompts allow users to run different sessions by simply changing the value entered for either Subject, Session, or Group.

    WHAT’S THE PROBLEM Users creating multiple experiment files.** WHAT’S THE SOLUTION** When multiple sessions are required, use a Session List counterbalanced by a Session. With Startup Info prompts you can run different Sessions by entering different values.


    谢谢大家观看,如有帮助,来个喜欢或者关注吧!


    本文作者:网络资源,仅供学习使用

    博客地址 : Chen Rui Blog 知乎地址 : 知乎专栏 B站地址 : B站主页 书店地址 : 书店主页 简书地址 : 简书主页 CSDN地址 : csdn主页 学术导航 : 导航主页

    [1] http://7988888.xyz/

    [2] https://www.zhihu.com/people/braintechnology

    [3] https://space.bilibili.com/328549846

    相关文章

      网友评论

        本文标题:2020-04-17E-prime常见问题汇总

        本文链接:https://www.haomeiwen.com/subject/moxyvhtx.html