OpenSesame-史上最详细教程

OpenSesame-史上最详细教程

最近要使用OpenSesame自定步速阅读,也许是因为非常小众,所以网上的例子少之又少,正好利用端午假期好好研究一番,造福社会。
我将从以下几个方面介绍:

  • 什么是OpenSeame
  • OpenSeame的页面功能区
  • 尝试写一个Demo
  • 再来一个进阶的Demo
  • 高版本的进阶模型
    • 什么是自定义步速阅读
    • 如何进行自定义

什么是OpenSesame

参考了官网的地址:我们给出的标准答案是:OpenSesame是一个为心理学、神经科学和实验经济学创建实验的程序。
那么作为实验的程序,它包含了如下一些特点:

  1. 用户友好的界面-提供灵活的接口方便使用;
  2. 使用Rapanzel作为用于数值计算的独立代码编辑器;
  3. 将Python的强大功能添加到您的实验中;
  4. 使用你的设备-使用你的眼睛跟踪器,按钮盒,脑电图设备,等等。
  5. 免费-根据GPL3协议发布
  6. 跨平台-Windows、Mac OS、Linux和Android(仅限运行时)

OpenSesame的页面功能区

OpenSesame
根据页面从左到右,从上到下,我来详细介绍:

侧边栏

侧边栏的作用在于我们可以通过拖拽的方式构建自己的语句结构;
在这里插入图片描述

顶部功能区

顶部功能区可以运行、展示测试窗口、变量检查器等等;
在这里插入图片描述

工程区

工程区就是我们将侧边栏中的功能拖拽进来的地方,它将会是我们程序执行结构的一个主要区域;
在这里插入图片描述

展示区

程序执行时,其中每一个语句具体的执行内容,可以通过修改其内容完成
在这里插入图片描述

测试窗口

测试窗口是程序执行的代码流程,类似于我们经常使用的控制台;
在这里插入图片描述

文档池

用于存储文档,便于查看;
在这里插入图片描述

变量检查器

可以用于查询存储标量;
在这里插入图片描述

尝试写一个Demo

在我们启动工程时,它会默认给我们一个实验工程,这个运行这个工程,其实我们就对这个功能有一个大概的认识:
Demo概况
【工程区&展示区】这是一个最初级的实验概况:点击"experiment",它就是你的实验区域,这里面包含两个部分:“getting_started”和"welcome"两个部分;(其实你的实验可以任意定义任何实验组件,来组成一个完整的实验)

通过在展示区里面可以切换逻辑和代码,让你更全面的了解你的程序是如何运行的;
【展示区表格】展示区表格中包含两列:Item name和Run if,它们的含义分别代表了左侧想要运行的具体实验和条件表达式,同样,你也可以新建实验,比如:
在这里插入图片描述
所以,在回过头来,我们看到其实我们的实验是由两个组件组成的:notepad和sketchpad;

  • notepad

    notepad其实很简单,我们可以简单的理解为它是实验的描述,只不过是文件的形式体现出来,在项目中你可以将你的项目内容,演示效果,使用文档、代码逻辑等等,都可以放在这里,它相当于一个readme.txt。

  • sketchpad
    在这里插入图片描述
    这是一个展示器,你想要给用户看到的主要界面就是这个,直接双击即可改这个文案,接下来,我们把它改成 “hello Laohu ,Welcome to OpenSesame”?
    在这里插入图片描述
    怎么样,是不是很简单?当然,除此之外,侧边栏还有很多功能,比如插入文字、图片、线、图形、阴影等等都可以,可以根据你的需求来;

    你可以通过展示区右上角的一个toggle标签,来进行切换,目前是view controls,你可以切换到view script,然后我们来继续看一下,脚本里面的到底都写了什么?看见了么,最后一行 draw textline中text="hello Laohu ,Welcome to OpenSesame"就是描述这个notepad的展示文案;

    set start_response_interval no
    set reset_variables no
    set duration keypress
    set description "Displays stimuli"
    draw textline center=1 color=white font_bold=no font_family=serif font_italic=no font_size=32 html=yes show_if=always text="hello Laohu ,Welcome to OpenSesame" x=0 y=0 z_index=0
    

    当然,你可能会说,直接改动可视化文件我还OK,敲代码我有点难受,而且语法我都看不懂。没关系,后面我会一点一点补充,这里是给大家有一个简单的概念;

  • 运行
    啰嗦了这么多,找到【顶部功能区】的绿色运行按钮,点击运行按钮,即可;

再来一个进阶的Demo

这个Demo稍微有些复杂,我们先来看一下整体结构:
在这里插入图片描述
看起来很复杂,其实一点也不难,我们就像扒圆葱一样从外层到内层一点点剖析:
首先,它是一个实验,包含图文介绍(about_this_templete和instructions)和 两个子实验(practice_loop和experienment_loop),每个实验里面分别做了不同的事情(block_sequence);
practice_loop和experienment_loop:A loop containing one or more practice blocks;
block_sequence:A sequence containing a single block of trials followed by feedback to the participant;

这是一个统计按键反应时长的测试功能,实验开始后,用户点击任意按钮,终止实验,实验结束后,展示用户点击的时间;如此循环往复;

我们看一下block_loop的源代码:

set source_file ""
set source table
set skip 0
set repeat 1
set order random
set offset no
set item trial_sequence
set description "A single block of trials"
set cycles 1
set continuous no
set column_order ""
set break_if_on_first yes
set break_if never
setcycle 0 empty_column ""
run trial_sequence

代码执行前都是配置阶段,最后一行执行trial_sequence就是一个真正的语句:run trial_sequence

接下来执行:trial_sequence

set flush_keyboard yes
set description "A single trial"
run sketchpad always
run keyboard_response always
run logger always

接下来执行:sketchpad

set start_response_interval no
set duration 0
set description "Displays stimuli"
draw fixdot color=white show_if=always style=default x=0 y=0 z_index=0

接下来执行:keyboard_response

set timeout infinite
set flush yes
set event_type keypress
set duration keypress
set description "Collects keyboard responses"

接下来执行:logger

set description "Logs experimental data"
set auto_log yes

最后执行:

set reset_variables yes
set duration keypress
set description "Provides feedback to the participant"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Your average response time was [avg_rt]ms<br /><br />Your accuracy was [acc]%<br /><br />Press any key to continue" x=0 y=0 z_index=0

这里面有个执行参数: [avg_rt] ,可以通过变量检查器查看;它关联的是keyboard_respoinse;
在这里插入图片描述

小试牛刀

  • 初始化工程
    • 先放一个简介
      notepad和introduction都可以作为简介,正规的还是introduction,我们把introduction拖进去,然后在里面写好介绍;
  • 再放置一个循环
  • 再插入一条语句
  • 设置
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值