OpenSesame-史上最详细教程
OpenSesame-史上最詳細(xì)教程
- OpenSesame-史上最詳細(xì)教程
- 什么是OpenSesame
- OpenSesame的頁(yè)面功能區(qū)
- 側(cè)邊欄
- 頂部功能區(qū)
- 工程區(qū)
- 展示區(qū)
- 測(cè)試窗口
- 文檔池
- 變量檢查器
- 嘗試寫一個(gè)Demo
- 再來(lái)一個(gè)進(jìn)階的Demo
- 小試牛刀
OpenSesame-史上最詳細(xì)教程
最近要使用OpenSesame做自定步速閱讀,也許是因?yàn)榉浅P”?#xff0c;所以網(wǎng)上的例子少之又少,正好利用端午假期好好研究一番,造福社會(huì)。
我將從以下幾個(gè)方面介紹:
- 什么是OpenSeame
- OpenSeame的頁(yè)面功能區(qū)
- 嘗試寫一個(gè)Demo
- 再來(lái)一個(gè)進(jìn)階的Demo
- 高版本的進(jìn)階模型
- 什么是自定義步速閱讀
- 如何進(jìn)行自定義
什么是OpenSesame
參考了官網(wǎng)的地址:我們給出的標(biāo)準(zhǔn)答案是:OpenSesame是一個(gè)為心理學(xué)、神經(jīng)科學(xué)和實(shí)驗(yàn)經(jīng)濟(jì)學(xué)創(chuàng)建實(shí)驗(yàn)的程序。
那么作為實(shí)驗(yàn)的程序,它包含了如下一些特點(diǎn):
OpenSesame的頁(yè)面功能區(qū)
根據(jù)頁(yè)面從左到右,從上到下,我來(lái)詳細(xì)介紹:
側(cè)邊欄
側(cè)邊欄的作用在于我們可以通過(guò)拖拽的方式構(gòu)建自己的語(yǔ)句結(jié)構(gòu);
頂部功能區(qū)
頂部功能區(qū)可以運(yùn)行、展示測(cè)試窗口、變量檢查器等等;
工程區(qū)
工程區(qū)就是我們將側(cè)邊欄中的功能拖拽進(jìn)來(lái)的地方,它將會(huì)是我們程序執(zhí)行結(jié)構(gòu)的一個(gè)主要區(qū)域;
展示區(qū)
程序執(zhí)行時(shí),其中每一個(gè)語(yǔ)句具體的執(zhí)行內(nèi)容,可以通過(guò)修改其內(nèi)容完成
測(cè)試窗口
測(cè)試窗口是程序執(zhí)行的代碼流程,類似于我們經(jīng)常使用的控制臺(tái);
文檔池
用于存儲(chǔ)文檔,便于查看;
變量檢查器
可以用于查詢存儲(chǔ)標(biāo)量;
嘗試寫一個(gè)Demo
在我們啟動(dòng)工程時(shí),它會(huì)默認(rèn)給我們一個(gè)實(shí)驗(yàn)工程,這個(gè)運(yùn)行這個(gè)工程,其實(shí)我們就對(duì)這個(gè)功能有一個(gè)大概的認(rèn)識(shí):
【工程區(qū)&展示區(qū)】這是一個(gè)最初級(jí)的實(shí)驗(yàn)概況:點(diǎn)擊"experiment",它就是你的實(shí)驗(yàn)區(qū)域,這里面包含兩個(gè)部分:“getting_started”和"welcome"兩個(gè)部分;(其實(shí)你的實(shí)驗(yàn)可以任意定義任何實(shí)驗(yàn)組件,來(lái)組成一個(gè)完整的實(shí)驗(yàn))
通過(guò)在展示區(qū)里面可以切換邏輯和代碼,讓你更全面的了解你的程序是如何運(yùn)行的;
【展示區(qū)表格】展示區(qū)表格中包含兩列:Item name和Run if,它們的含義分別代表了左側(cè)想要運(yùn)行的具體實(shí)驗(yàn)和條件表達(dá)式,同樣,你也可以新建實(shí)驗(yàn),比如:
所以,在回過(guò)頭來(lái),我們看到其實(shí)我們的實(shí)驗(yàn)是由兩個(gè)組件組成的:notepad和sketchpad;
-
notepad
notepad其實(shí)很簡(jiǎn)單,我們可以簡(jiǎn)單的理解為它是實(shí)驗(yàn)的描述,只不過(guò)是文件的形式體現(xiàn)出來(lái),在項(xiàng)目中你可以將你的項(xiàng)目?jī)?nèi)容,演示效果,使用文檔、代碼邏輯等等,都可以放在這里,它相當(dāng)于一個(gè)readme.txt。 -
sketchpad
這是一個(gè)展示器,你想要給用戶看到的主要界面就是這個(gè),直接雙擊即可改這個(gè)文案,接下來(lái),我們把它改成 “hello Laohu ,Welcome to OpenSesame”?
怎么樣,是不是很簡(jiǎn)單?當(dāng)然,除此之外,側(cè)邊欄還有很多功能,比如插入文字、圖片、線、圖形、陰影等等都可以,可以根據(jù)你的需求來(lái);你可以通過(guò)展示區(qū)右上角的一個(gè)toggle標(biāo)簽,來(lái)進(jìn)行切換,目前是view controls,你可以切換到view script,然后我們來(lái)繼續(xù)看一下,腳本里面的到底都寫了什么?看見(jiàn)了么,最后一行 draw textline中text="hello Laohu ,Welcome to OpenSesame"就是描述這個(gè)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當(dāng)然,你可能會(huì)說(shuō),直接改動(dòng)可視化文件我還OK,敲代碼我有點(diǎn)難受,而且語(yǔ)法我都看不懂。沒(méi)關(guān)系,后面我會(huì)一點(diǎn)一點(diǎn)補(bǔ)充,這里是給大家有一個(gè)簡(jiǎn)單的概念;
-
運(yùn)行
啰嗦了這么多,找到【頂部功能區(qū)】的綠色運(yùn)行按鈕,點(diǎn)擊運(yùn)行按鈕,即可;
再來(lái)一個(gè)進(jìn)階的Demo
這個(gè)Demo稍微有些復(fù)雜,我們先來(lái)看一下整體結(jié)構(gòu):
看起來(lái)很復(fù)雜,其實(shí)一點(diǎn)也不難,我們就像扒圓蔥一樣從外層到內(nèi)層一點(diǎn)點(diǎn)剖析:
首先,它是一個(gè)實(shí)驗(yàn),包含圖文介紹(about_this_templete和instructions)和 兩個(gè)子實(shí)驗(yàn)(practice_loop和experienment_loop),每個(gè)實(shí)驗(yàn)里面分別做了不同的事情(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;
這是一個(gè)統(tǒng)計(jì)按鍵反應(yīng)時(shí)長(zhǎng)的測(cè)試功能,實(shí)驗(yàn)開(kāi)始后,用戶點(diǎn)擊任意按鈕,終止實(shí)驗(yàn),實(shí)驗(yàn)結(jié)束后,展示用戶點(diǎn)擊的時(shí)間;如此循環(huán)往復(fù);
我們看一下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代碼執(zhí)行前都是配置階段,最后一行執(zhí)行trial_sequence就是一個(gè)真正的語(yǔ)句:run trial_sequence
接下來(lái)執(zhí)行:trial_sequence
set flush_keyboard yes set description "A single trial" run sketchpad always run keyboard_response always run logger always接下來(lái)執(zhí)行: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接下來(lái)執(zhí)行:keyboard_response
set timeout infinite set flush yes set event_type keypress set duration keypress set description "Collects keyboard responses"接下來(lái)執(zhí)行:logger
set description "Logs experimental data" set auto_log yes最后執(zhí)行:
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這里面有個(gè)執(zhí)行參數(shù): [avg_rt] ,可以通過(guò)變量檢查器查看;它關(guān)聯(lián)的是keyboard_respoinse;
小試牛刀
- 初始化工程
- 先放一個(gè)簡(jiǎn)介
notepad和introduction都可以作為簡(jiǎn)介,正規(guī)的還是introduction,我們把introduction拖進(jìn)去,然后在里面寫好介紹;
- 先放一個(gè)簡(jiǎn)介
- 再放置一個(gè)循環(huán)
- 再插入一條語(yǔ)句
- 設(shè)置
總結(jié)
以上是生活随笔為你收集整理的OpenSesame-史上最详细教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。