LoginSignup
0
0

More than 3 years have passed since last update.

PsychoPyで画像の印象評定

Last updated at Posted at 2019-10-03

前回は、PsychoPyのインストールから教示を呈示するまでを説明しました。今回は、いよいよ実験のメイン部分を作成します。

まずは、ファイルとフォルダの構成を確認しましょう。前回作成したファイルに、insyoという名前をつけているとします。

ファイル/フォルダ名 説明
insyo.psyexp 前回作成したBuilderで開くファイル
insyo_lastrun.py プログラムを実行すると自動で作成される。Pythonで書かれており、テキストエディタで開ける
data 実験結果のファイルが保存されるフォルダ。自動で作成
conditions.xlsx 手動で作成。実験条件を記述

またこれに加えて、プログラムと同じ場所に、実験で呈示したいすべての画像を保存してください。ここでは、

  • image1.jpg
  • image2.jpg
  • image3.jpg

の3枚の画像が保存されているとします。

実験条件

心理学の実験では、実験条件(独立変数)を設けて、条件間の比較を行いますね。今回の実験については、実験条件という表現は適切ではないかもしれませんが、呈示する画像を実験条件と見なしたいと思います。

PsychoPyではエクセルファイルに実験条件を記述します。それをPsychoPyに読み込ませると、条件をランダムな順番に並べ替えて実験を行うことができます。今回の例でいえば、画像の呈示順序がランダムになります。

では次のような内容のエクセルファイルを作成してください。作成したファイルは、conditions.xlsxとしてプログラムと同じ場所に保存してください。

スクリーンショット 2019-09-30 10.29.01.png

Routine(ルーチン)を挿入

前回の作業で教示は呈示できるようになっていますね。これは言い方を変えれば、教示を呈示するためのルーチンを作成したことになります。今回は、刺激を呈示するためのルーチンを作成します。

Routineを挿入をクリックして(new)を選択します。名前は何でもよいのですが、ここではstimulusとしています。

スクリーンショット 2019-09-30 10.34.55.png

ルーチンを挿入する場所をクリックします。

スクリーンショット 2019-09-30 10.37.52.png

以下の図のようになればOKです。ここでは分かりやすくするため、もともとあったルーチンtrialをinstructionに変更しました。trialを右クリックすると名前を変更できます。ちなみにこの図はFlow(フロー)と呼ばれます。

スクリーンショット 2019-09-30 10.40.18.png

Imageコンポーネント

stimulusルーチンを開いて、画像を呈示する準備をしていきましょう。

スクリーンショット 2019-09-30 10.43.29.png

Imageコンポーネントをクリック

スクリーンショット 2019-09-30 10.45.51.png

Imageコンポーネントを次のように設定します。

  • 反応するまで画像を呈示し続けたいので実行時間を空白に
  • 画像を$stimulusに変更。 $記号を忘れずに。これはエクセルファイルでつけた見出しと一致させる必要があります。
  • 繰り返し毎に更新に変更。こうすることで、次の試行に移り変わったときに、刺激が自動的に変わります。

スクリーンショット 2019-09-30 10.49.53.png

Rating scaleコンポーネント

今回は、Rating scaleコンポーネントを使って反応を記録することにします。このコンポーネントは反応カテゴリーのなかに入っています。

スクリーンショット 2019-09-30 16.23.58.png

Rating scaleの設定内容は変更せずにそのままOKを押しましょう。

Textコンポーネント

画像と尺度は表示されるようになりましたが、このままだと何について質問されているか分からないので、Textコンポーネントを使って質問項目を表示します。

実行時間を空白にして、文字列に質問項目を記入します。

位置も重要で、刺激画像に重ならない場所に呈示する必要があるでしょう。このときの数字ですが、初期設定では画面の高さを1.0として、その割合で指定します。0.5であれば、画面の高さの半分です。また、(0,0)が画面の中央を表し、正の数は右と上を表します。適当に数値を指定して、文字列が呈示される場所を確認してみてください。

スクリーンショット 2019-10-03 15.09.09.png

Loopを挿入

今回の実験では画像の呈示を何度も繰り返し行います。繰り返し行う作業は、PsychoPyではLoopと呼ばれています。Loopを挿入してみましょう。

スクリーンショット 2019-09-30 11.06.44.png

教示は繰り返す必要がないので、stimulusルーチンだけを繰り返すようにします。Loopを挿入をクリックしたあと、Loopの開始点としてstimulusの前を、Loopの終了点としてstimulusの後をクリックします。

すると以下のような小さなウィンドウが表示されます。選択をクリックして、すでに作成済みのエクセルファイル(condtions.xlsx)を選択します。

スクリーンショット 2019-09-30 11.10.07.png

下の図のように、1パラメータ, 3条件 [stimulus]と表示されればOKです。また繰り返し回数を2に減らしています。

スクリーンショット 2019-09-30 11.14.36.png

下のようなフロー図になればOKです。画像を呈示するルーチンstimulsだけが繰り返されるのが分かりますね。

スクリーンショット 2019-09-30 11.15.51.png

実験の結果はdataフォルダに自動的に保存されます。ひとつの実験を行うたびに、dataフォルダに3種類のファイルが作成されます。ファイル名は実験の開始時に入力した名前を元につけられます。

現時点ではcsvファイルを見ればよいと思います。csvファイルを見て、呈示された画像の名前と反応が適切に記録されているかを確認してください。

さて、実験プログラムとしてはこれでだいたい完成していますが、このままではひとつの質問しかたずねることができませんね。複数の質問について回答させる方法については、PsychoPyのRoutine(ルーチン)のコピーと貼り付けをご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0