PsychoPyで試行ごとにランダムな位置に刺激提示3 の変更点 - 井関龍太のページ

ホーム   編集 差分 バックアップ 添付 コピー 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

PsychoPyで試行ごとにランダムな位置に刺激提示3 の変更点

Top > PsychoPyで試行ごとにランダムな位置に刺激提示3

**&color(#000080){刺激を円周上のランダムな位置に配置したい}; [#q12109e7]
刺激を試行ごとにランダムに配置するサンプルをこれまで2回にわたって紹介してきました([[sychoPyで試行ごとにランダムな位置に刺激提示]],[[sychoPyで試行ごとにランダムな位置に刺激提示2]])。
刺激を試行ごとにランダムに配置するサンプルをこれまで2回にわたって紹介してきました([[PsychoPyで試行ごとにランダムな位置に刺激提示]],[[PsychoPyで試行ごとにランダムな位置に刺激提示2]])。
しかし,これまでのサンプルは,いずれも仮想グリッド(格子)状のランダムな位置に刺激を配置するものでした。
これとは別に,刺激を画面中央から均等な距離に,つまりは,円周上に配置し,どの刺激がどの位置に来るかだけをランダムにしたいこともあるでしょう。
たとえば,以下の画像のように刺激を提示したいのだけれども,どの文字がどの位置に現れるかを試行ごとに変えて提示したいなどです。

&ref(disp0.png,,,60%); 

今回は,文字刺激を円周上のランダムな位置に配置するサンプルを紹介します。

**&color(#000080){サンプルの概要}; [#f326c44a]
まず,サンプルのファイルをダウンロードしてください。
下のアイコンを右クリックして「対象をファイルに保存」を選んでください。
または,保存のポップアップから「ファイルを保存する」を選んでください。
プログラムはPsychoPy v.1.84.2で作成しています。

&ref(RandomPosition3.zip);

ダウンロード対象はzipフォルダになっていますので,右クリックして「すべて展開」を選び,圧縮フォルダを展開してください。
PsychoPyで作成した実験ファイル(RandomPosition3.psyexp)のほかに,Excelファイルがひとつ入っています。
これは実験ファイルとリンクさせて使用する条件設定用のファイルです。
この条件ファイルは実験ファイルと同じディレクトリ(同じフォルダ)に配置してください。

サンプルの内容は,注視点が500 ms現れた後,6つのアルファベット文字が画面中央から等距離のランダムな位置に250 ms間現れ,キー押し反応があったら次の試行に移るというものです。
画面中に“X”か“N”があったら“あった”,どちらの文字もなければ“なかった”に対応するキーを押すという視覚探索課題を想定しています(正答キーはプログラム上では特に指定していません)。

&ref(disp1.png,,,40%); 

ルーチンには,文字ひとつひとつに対応するTextコンポーネントが用意してあります。

&ref(disp2.png,,,60%); 

試行ごとに提示する文字は,条件ファイルで設定してあるので,これを読み込むようTextコンポーネントに指定してあります。

&ref(disp3.png,,,60%); 

Codeコンポーネントの“実験開始時”のタブでは,ランダム化に使うrandomライブラリに加えて,数学関数を使うためのmathライブラリも呼び出しています。

&ref(disp4.png,,,60%); 

同じCodeコンポーネントの“Routine開始時”のタブには,刺激を円周上に配置するためのコードを書いてあります。
円周上の座標を計算するために三角関数を使っています。
今回は,画面中央から等距離に刺激を配置することが目的なのでジッターはかけていません。

**&color(#000080){カスタマイズの方針}; [#yb629647]
提示する刺激の個数を増やすには,ルーチンに新たなコンポーネントを追加し,その名前をCodeコンポーネントのstimListに追加する必要があります。
cradという変数の値を変えれば,円の大きさを変えることもできます。
サンプルでは,刺激の頂点が画面中央から90度の位置に来るようにしています。
画面中央から垂直線上に刺激を配置したくない場合には,(setSize - tt + 1.5)の部分を(setSize - tt + 1)に変更すると,頂点が時計回りに移動して垂直線上には位置しないようにできます。
TrackBack(0) | 外部リンク元 | このエントリーをはてなブックマークに追加