OpenSesame-史上最详细教程
OpenSesame-史上最詳細教程
- OpenSesame-史上最詳細教程
- 什么是OpenSesame
- OpenSesame的頁面功能區
- 側邊欄
- 頂部功能區
- 工程區
- 展示區
- 測試窗口
- 文檔池
- 變量檢查器
- 嘗試寫一個Demo
- 再來一個進階的Demo
- 小試牛刀
OpenSesame-史上最詳細教程
最近要使用OpenSesame做自定步速閱讀,也許是因為非常小眾,所以網上的例子少之又少,正好利用端午假期好好研究一番,造福社會。
我將從以下幾個方面介紹:
- 什么是OpenSeame
- OpenSeame的頁面功能區
- 嘗試寫一個Demo
- 再來一個進階的Demo
- 高版本的進階模型
- 什么是自定義步速閱讀
- 如何進行自定義
什么是OpenSesame
參考了官網的地址:我們給出的標準答案是:OpenSesame是一個為心理學、神經科學和實驗經濟學創建實驗的程序。
那么作為實驗的程序,它包含了如下一些特點:
OpenSesame的頁面功能區
根據頁面從左到右,從上到下,我來詳細介紹:
側邊欄
側邊欄的作用在于我們可以通過拖拽的方式構建自己的語句結構;
頂部功能區
頂部功能區可以運行、展示測試窗口、變量檢查器等等;
工程區
工程區就是我們將側邊欄中的功能拖拽進來的地方,它將會是我們程序執行結構的一個主要區域;
展示區
程序執行時,其中每一個語句具體的執行內容,可以通過修改其內容完成
測試窗口
測試窗口是程序執行的代碼流程,類似于我們經常使用的控制臺;
文檔池
用于存儲文檔,便于查看;
變量檢查器
可以用于查詢存儲標量;
嘗試寫一個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拖進去,然后在里面寫好介紹;
- 先放一個簡介
- 再放置一個循環
- 再插入一條語句
- 設置
總結
以上是生活随笔為你收集整理的OpenSesame-史上最详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DS证据理论概述
- 下一篇: linux DSA 开发上手笔记(一)