PsychoPy Builderで作る心理学実験 6th Edition

はじめに

本書はPsychoPy Builderに関する日本語の情報が少なかった2014年1月頃、PsychoPy 1.79.01に準拠して執筆を始めました。同年9月に第1版を公開した後、PscyhoPyのバージョンアップにあわせて改訂を重ねてきましたが、コンポーネントの追加や廃止、出力するコードの仕様変更、JavaScriptへの対応など、既存の文章に追記するだけでは対応が難しくなってきていました。 そこで今回、章立ての変更を含めた、これまでより大きな改訂をおこなうことにしました。 主な変更点を以下に挙げます。便宜上構成の変更、書式等の変更、その他の変更としていますが、複数のカテゴリにまたがる内容もあってあまりうまく分類できていません。重要な変更を強調表示してあります。

  • 構成の変更
    • 出力されたPythonのコードの構造を前提とした内容(旧版第12章「実験の流れを制御しよう―強化スケジュール」)を削除した。

    • psyexpファイルを直接編集する内容(旧版13.3節「テキストエディタを用いて多数のコンポーネントを追加しよう」、旧版13.9.1節「XML形式による実験の表現」)を削除した。

    • ベンチマークウィザードは事実上放置されているので、ベンチマークウィザードに関する記述を削除した(第1章)。

    • Buttonコンポーネントが実用的になったため、Buttonコンポーネントを活用するようにした。

    • Button, Slider, Formコンポーネントは利用場面が多いうえに、Mouseコンポーネントを利用せずにマウスを活用できるため、Mouseコンポーネントより先に解説することにした(Button, Slider, Formコンポーネントは8章、Mouseコンポーネントは9章)。

    • Button, Slider, Formコンポーネントの解説を「以前の章で作成した実験に組み込む」という構成とした。具体的には、第6章の実験にSliderコンポーネントとFormコンポーネント、第7章の実験にButtonコンポーネントを組み込むこととした。

    • staircaseとinterleaved staircases(旧版第11章)はもともと独立した章とするにはボリュームが少なかったため、廃止して第3章のトピックスへ移動した。

    • 旧版9.2節「クリックした視覚刺激オブジェクトを記録しよう」の内容は新しい第9章(旧版の第8章に相当)のトピックスへ移動した。

    • 視覚刺激コンポーネントの [ドラッグ可能] について新しい9章のトピックスで簡単に解説した。

    • 新たな第12章として「正答率や経過時間で終了する課題を作成しよう」を追加し、廃止された旧版第12章で扱っていたループの中断について現在のBuilderの仕様に合わせた方法で解説した。また、新たな内容としてルーチンのテンプレート化についての解説もこの章に追加した。

    • プラグイン/パッケージマネージャに関する解説を附録に追加した。

    • TextBoxコンポーネントやFormコンポーネントで日本語テキストを入力させたい場合の解決方法のひとつとして、JavaScriptで出力した実験をローカルブラウザで実行する方法の解説を附録に追加した。

    • 実験記録ファイルから分析に必要な情報を取り出すスクリプトの例を附録に追加した。

    • 第2章でPilotモードを導入し、Pilotモードでウィンドウモードを強制する際のウィンドウサイズの変更法を解説した。

    • 多重ループによるブロック化の解説にCounterbalanceコンポーネントを導入した(第4章)。

    • Variableコンポーネントの解説を独自変数の出力についての解説の補足とした(第7章)。

    • コンポーネントのコピー&ペーストを積極的に活用するように、実験作成手順の解説を見直した。

    • プロパティに値が正しく入力されているか確認するために「実験内を検索...」を活用するようにした(第7章, 第11章)。

    • [位置揃え]を積極的に活用するようにした。これにより第7章の錯視図形の作図が簡単になった。

    • 各章の実験作成手順を解説する際に、その実験用のフォルダを作成する指示を追加した。これに伴い、同一のフォルダに複数のpsyexpファイルを作る指示を削除した。

    • 実験が正常に終了しなかったときにiohubが問題を生じることがあるため、各章の実験作成手順を解説する際に、入力のバックエンドをPsychtoolboxに設定する指示を追加した(PsychoPy 2025.1.0では標準でPsychtoolboxになるように変更された)。

  • 書式等の変更
    • 実験作成手順を箇条書きしている部分について、各プロパティに入力する値を地の文と異なる書式(Sphinxのインラインリテラル)にした。

    • 実験作成手順を箇条書きしている部分について、2024.2.5のウィンドウレイアウトに準拠してプロパティのタブ名を明示するとともに、プロパティ設定ダイアログ等に表示される順序に記述するようにした。具体的には、2024.2.5では [サイズ [w, h] $][位置 [x, y] $] では [サイズ [w, h] $] の方がダイアログ上で先に表示されるので、この両者を編集する場合は [サイズ [w, h] $] を先に書くようにした。

    • カラーピッカーの出力に合わせて、色のRGB成分表記は( )や[ ]で囲まない形式とした。これに関連してRGB成分表記および$記号に関する記述を見直した。

    • [位置 [x, y] $] など初期値がシーケンスであるプロパティについて、最近のバージョンのBuilderはタプルに変更されているので本書の記述でもタプルに変更した(図は更新していないので図の中でリストとなっている場合がある)。

  • その他変更
    • 第1章のインストール方法を2024.2.5に合わせて更新した。特にWindows版Standaloneインストーラーでインストールした場合のUIの日本語化の問題について解説し、Portable PsychoPyについても言及した。

    • 「繰り返し毎に更新」の設定を忘れた時のBuilderの挙動が変化したことに対応した。

    • expInfoで数値と解釈できる文字列が入力された時の挙動が変化したことに対応した。

    • 内部変数theseKeysの挙動が変化した(ルーチン開始後直後にtheseKeysが未定義となる)ことに対応した。

    • Polygonコンポーネントで直線を描画する際、 [サイズ [w, h] $] の第2要素の扱いが変化したことに対応した。

    • Microphoneコンポーネントでルーチン内に終了が空欄のコンポーネントがあるときのエラーが解消されたことに対応した。

    • Movieコンポーネント、Cameraコンポーネントの仕様変更に対応した。

    • 第5版でheightに単位を変更した際の修正漏れを修正した。

    • 第5版でnorm単位に関する記述を削除した際の修正漏れを修正した。

    • 教示文などで長すぎて画面に入りきらないものを修正した。

    • Imageコンポーネントなどでサブフォルダに配置したファイルを参照する際に、プロパティに式を入力してサブフォルダ名を結合するのではなく、条件ファイルに完全な相対パスを書くようにした(オンライン実験化する際にBuilderがリソースを検出できる可能性が高まる)。

    • key名を表示するデモ(第3章)はPilotモードで実行するようにした。

改訂にあたって、第5章の扱い(順序変更、内容変更、削除)に悩みましたが、この章に手を入れると6章以降の記述を全面的に見直す必要があるため、今回はほぼそのまま残す事にしました。2025年度の授業期間が始まるまでに改訂を終える予定で作業を始めたものの、なかなか作業が進まず予定を1ヵ月近く過ぎてしまいました。後半は授業準備の合間の細切れな時間で作業したため、修正できていない見落としがたくさんあるかもしれません。誤字や内容の誤りの指摘、その他内容についての要望などございましたら、十河までご連絡いただけましたら幸いです。

2025年4月24日 十河 宏行