PsychoPy Builderで作る心理学実験 3rd Edition¶
はじめに
2015年9月に本文書の第2版を公開してから3年以上が経過しました。その間にもPsychoPyは頻繁にバージョンアップが行われましたが、Builderの基本的な使い方には大きな変更がなかったため、忙しさにかまけて「放置」していました。しかし、2019年1月にPsyhcoPyバージョン3が正式にリリースされたのを機会に文書を読み直すと、バージョン3のBuilderとの相違点が見過ごせない量に達していましたので久しぶりに更新することにしました。主な変更点は以下の通りです。
Python3ベースのPsychoPy Builderを使用することを前提とした。Python2と3の間では文字列や除算に互換性がないので、該当する部分を書き直した。
追補編として公開していた内容を組み込んだ。
- 第2版以降に追加された新機能に対応した。主なものは以下の通り。
[単位] の初期値の変更
既存コンポーネントの追加プロパティ
データ記録ファイルの形式変更
コンポーネントのコピー
実験情報ダイアログのドロップダウンメニュー
Sliderコンポーネント
クリッカブルオブジェクト
Formコンポーネント (※2019年12月4日 追加)
Movieの新しいバックエンド
内容を全面的に見直すことも考えましたが、新年度が始まる前に公開することを優先して第2版からの変更が最小限に済むようにしました。結果、従来の9章と10章は12章と13章に変更し、新たに9~11章を追加するという形となりました。おそらくPsychoPy3で最も注目すべき新機能であるオンライン実験機能については、私自身がまだ十分に使い込んでいないため今回は追加を見送りました。また、Python3をベースにしたことから % を使った文字列への値の埋め込みはformat()メソッドを使う方法に変更すべきかとも考えたのですが、実験設定ダイアログでいまだに % が使われている項目(「データ」タブの [データファイル名 $] )があるので変更は見送りました。
他にも、文書内の他の節への参照を示すときに「1.1:PsychoPyってなに?」のように「」で囲んで節番号を付ける、プロパティ名は [ ] で囲むなどの表記の変更を加えました。閲覧環境によっては読みやすさが大きく向上したのではないかと思います。
本書の実験で使用している画像ファイルや実験ファイルは、筆者のwebページ(http://www.s12600.net/psy/python/ppb/)でダウンロードできますのでご利用ください。誤字や内容の誤りの指摘、その他内容についての要望などございましたら、十河までご連絡いただけましたら幸いです。
2019年2月28日 十河 宏行
(2019年12月6日 追記)
- 1. PsychoPyの準備
- 2. 刺激の位置や提示時間の指定方法を覚えよう
- 3. 最初の実験を作ってみよう―サイモン効果
- 3.1. 実験の手続きを決めよう
- 3.2. 視覚刺激を配置しよう
- 3.3. キーボードで反応を検出しよう
- 3.4. 条件ファイルを作成しよう
- 3.5. 繰り返しを設定しよう
- 3.6. パラメータを利用して刺激を変化させよう
- 3.7. 実験記録ファイルの内容を確認しよう
- 3.8. 反応の正誤を記録しよう
- 3.9. 教示などを追加しよう
- 3.10. 練習問題:練習試行を追加しよう
- 3.11. この章のトピックス
- 3.11.1. 自分のキーボードで使えるキー名を確かめる
- 3.11.2. Builder組み込みの条件ファイル作成機能
- 3.11.3. Builderで使用できない名前を判別する
- 3.11.4. 無作為化と疑似乱数
- 3.11.5. Loopのプロパティ設定ダイアログの [使用する行 $] について
- 3.11.6. $を含む文字列を提示する
- 3.11.7. PsychoPyの時間計測の精度について (上級)
- 3.11.8. コンポーネントの開始・終了時刻をデータファイルに出力しないようにする
- 3.11.9. 「CSV形式のデータを保存(summaries)」・「xlsx形式のデータを保存」で作成される記録ファイルの形式
- 4. 繰り返し方法を工夫しよう―傾きの対比と同化
- 5. Pythonコードを書いてみよう―視覚の空間周波数特性
- 6. 反応にフィードバックしよう―概念識別
- 7. キーボードで刺激を調整しよう―ミューラー・リヤー錯視
- 8. マウスで刺激を動かそう―鏡映描写課題
- 8.1. この章の実験の概要
- 8.2. Mouseコンポーネント
- 8.3. 実験の作成
- 8.4. psychopy.event.Mouseクラスのメソッドを利用してマウスの状態を取得しよう
- 8.5. リストの要素にアクセスしてマウスカーソルと上下反対にプローブを移動させよう
- 8.6. 刺激の重なりを判定しよう
- 8.7. カーソルの位置を設定し、カーソルの表示ON/OFFを制御しよう
- 8.8. for文を用いて複数の対象に作業を繰り返そう
- 8.9. ルーチンに含まれる全コンポーネントのリストから必要なものを判別して処理しよう
- 8.10. リストにデータを追加してマウスの軌跡を保存しよう
- 8.11. 軌跡データを間引きしよう
- 8.12. ゴール地点でクリックして終了するようにしてみよう
- 8.13. 練習問題1:反転方向切り替え機能とフィードバック機能を追加しよう
- 8.14. 練習問題2: 第7章の実験をマウスで反応できるようにしよう
- 8.15. この章のトピックス
- 9. グラフィカルインターフェースを活用しよう
- 10. 音声と動画を刺激に用いよう
- 11. 階段法の手続の実験を作成しよう
- 12. 実験の流れを制御しよう―強化スケジュール
- 13. 無作為化しよう―視覚探索
- 14. 付録
- 14.1. 本文未解説コンポーネント
- 14.1.1. Patchコンポーネント
- 14.1.2. Apertureコンポーネント
- 14.1.3. Dotsコンポーネント
- 14.1.4. EnvelopeGratingコンポーネント
- 14.1.5. Noiseコンポーネント
- 14.1.6. cedrusButtonBoxコンポーネント
- 14.1.7. ioLabsButtonBoxコンポーネント
- 14.1.8. Microphoneコンポーネント
- 14.1.9. Joystickコンポーネント
- 14.1.10. Pumpコンポーネント
- 14.1.11. Unknownコンポーネント
- 14.1.12. Variableコンポーネント
- 14.1.13. ParallelOutコンポーネント
- 14.2. 予約語
- 14.3. ログファイル
- 14.4. PsychoPy設定ダイアログ
- 14.5. チェックリスト一覧
- 14.1. 本文未解説コンポーネント