11. 付録

11.1. コンポーネントのプロパティ

PsychoPy Builder 1.82.02で利用できるコンポーネントのプロパティを表にまとめました。最初に各コンポーネントに共通しているプロパティについて解説し、続いて個々のコンポーネントのプロパティを列挙していきます。

なお、日本語のプロパティ名の後ろに括弧書きでPsychoPyの言語設定を英語にした時のプロパティ名を示します。psychopy-usersメーリングリストで質問したり、海外のwebサイトを検索するときは英語のプロパティ名を使用した方がよいでしょう。

11.1.1. 共通プロパティ(一部のコンポーネントを除く)

11.1.1.1. 名前に関するプロパティ

名前 (Name)

Builder内でコンポーネントを識別するための名前を指定します。Pythonの変数名として解釈でき、かつBuilderの内部で使用されていない文字列でなければなりません。Pyhtonの変数名として使用できるのは以下の条件を満たす文字列です。

  • 1文字目が英文字かアンダーバー( _ )
  • 2文字目以降が英数字かアンダーバー
  • Pythonの予約語ではない。

大文字と小文字は区別されますので、Fooとfooは別の変数名です。また、1文字目がアンダーバーの変数名はPythonでは特別な意味を持つので使用しない方がよいでしょう。

11.1.1.2. 時間制御に関するプロパティ

開始 (Start)

コンポーネントが有効になるタイミングを指定します。以下の値から選択します。

  • 時刻 (秒) (time(s)) … ルーチン開始からの経過時間 (秒)
  • フレーム数 (frame N) … ルーチン開始からのフレーム数
  • 条件式 (condition) … 条件式
予想開始時刻 (Expected start (s))
開始 の値に変数や条件式が指定された時に、ルーチンペイン上でバーを表示するために用います。
終了 (Stop)

コンポーネントが終了するタイミングを指定します。以下の値から選択します。

  • 実行時間 (秒) (duration(s)) … 有効になってからの経過時間 (秒)
  • 実行時間 (フレーム数) (duration(frames)) … 有効になってからのフレーム数
  • 時刻 (秒) (time(s)) … ルーチン開始からの経過時間 (秒)
  • フレーム数 (frame N) … ルーチン開始からのフレーム数
  • 条件式 (condition) … 条件式
予想実行時間 (Expected duration (s))
終了 の値に変数や条件式が指定された時に、ルーチンペイン上でバーを表示するために用います。

11.1.1.3. 色に関するプロパティ

(Color)
web/X11 Color nameによる色名、16進数表記のwebカラー、または色空間内の座標値で色を指定します。座標値で指定する場合は $ が必要になりますのでご注意ください。web/X11 Color nameは 図2.20 、 16進数表記のwebカラーについては 16進数と色表現 を参照してください。
色空間 (Color space)
で色空間の座標値を指定するときに適用される色空間を指定します。第2章を参照してください。

11.1.1.4. 単位に関するプロパティ

単位 (Units)

各パラメータの値に適用する単位を選択します。以下の値から選びます。 位置と大きさを指定しよう および PsychoPyにおける視角の計算について を参照してください。

  • 実験の設定に従う (from exp settings) … 実験の設定に従います。
  • cm … 視角を用います。モニターの寸法が適切に設定されている必要があります。
  • pix … ピクセルを用います。
  • norm … スクリーンの幅と高さを±1に換算した単位を用います。
  • deg … 視角を用います。視角の計算には近似式を用います。モニターの寸法と視距離が適切に設定されている必要があります。
  • degflat … degと同様ですが、視角を正確に計算します。
  • degflatpos … degと同様ですが、刺激の位置に関してのみ視角を正確に計算します。

11.1.2. Patchコンポーネントのプロパティ

画像ファイルや縞模様などを描画します。このコンポーネントが使用しているPsychoPyのPatchStimが廃止(deprecated)となっており、過去にこのコンポーネントを使用して作成された実験をサポートするために残されているものと思われます。新しく実験を作成する時にはImageコンポーネントまたはGratingコンポーネントを使うことをお勧めします。

PatchコンポーネントのプロパティはImageコンポーネントおよびGratingコンポーネントの対応するプロパティを参照してください。

11.1.3. Textコンポーネントのプロパティ

文字列を画面に表示するコンポーネントです。Unicode対応で日本語の文字列もそのまま表示できます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
(Color), 色空間 (ColorSpace)
「色に関するプロパティ」を参照してください。
フォント (Font)
フォント名を指定します。
文字の高さ $ (Letter height $)
文字の縦方向の大きさを正の数値で指定します。単位 の設定に従います。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
文字列 (Text)
表示する文字列を指定します。改行も表示に反映されます。
反転 (Flip (mirror))
文字列を反転して表示します。horizなら水平方向、vertなら垂直方向に反転します。反転したくない場合は空欄にしておきます。
不透明度 (Opacity $)
刺激の透明度を0.0~1.0の実数で指定します。0が透明、1が不透明です。
回転角度 $ (Orientation $)
刺激の回転角度を数値で指定します。単位はdegで、時計回りが正の方向です。
単位 (Units)
「単位に関するプロパティ」を参照してください。
折り返し幅 $ (Wrap width $) 正の実数
文字列の折り返し幅を指定します。表示する文字列の幅がこの値より長い場合は自動的に折り返されます。

11.1.4. Imageコンポーネントのプロパティ

画像ファイルを画面に表示するコンポーネントです。上下や左右に反転して提示したり、拡大縮小をしながら提示したりすることができます。JPEG、PNG、TIFF、GIFをはじめとするさまざまな画像を表示できます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
画像 (Image)
画像ファイル名を指定します。Gratingコンポーネントと同様にsinと記入して縞模様を描いたりすることも出来ますが、縞模様を描く場合はGratingコンポーネントを使うべきです。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
サイズ [w, h] $ (Size [w, h] $)
幅と高さを指定します。数値が一つだけの場合は幅と高さに同一の値を指定したものとみなされます。数値が二つの場合は順番に幅、高さの値とみなされます。 単位 の定義に従います。
回転角度 $ (Orientation $)
刺激の回転角度を数値で指定します。単位はdegで、時計回りが正の方向です。
不透明度 (Opacity $)
刺激の透明度を0.0~1.0の実数で指定します。0が透明、1が不透明です。
単位 (Units)
「単位に関するプロパティ」を参照してください。
(Color), 色空間 (ColorSpace)
「色に関するプロパティ」を参照してください。
水平に反転 (Flip horizontally)
画像を左右反転します。
垂直に反転 (Flip vertically)
画像を上下反転します。
補間 (Interpolate)
第4章のGratingコンポーネントの解説を参照してください。
マスク (Mask)
circle, gauss, raisedCos, 画像ファイル名, Noneのいずれかを指定します。 Gratingコンポーネント を参照してください。
テクスチャの解像度 (Texture resolution $)
32, 64, 128, 256, 512から選択します。 Gratingコンポーネント を参照してください。

11.1.5. Movieコンポーネントのプロパティ

動画ファイルを再生するコンポーネントです。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
Routineを終了 (Force end of Routine)
動画再生が終了した時に強制的にルーチンを終了します。
バックエンド (backend)
動画再生に用いるライブラリをavbinまたopencvのいずれかから選択します。 Movieコンポーネントのバックエンド を参照してください。
動画ファイル (Movie file)
再生する動画のファイル名を指定します。
不透明度 $ (Opacity $)
刺激の透明度を0.0~1.0の実数で指定します。0が透明、1が不透明です。
回転角度 $ (Orientation $)
刺激の回転角度を数値で指定します。単位はdegで、時計回りが正の方向です。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
サイズ [w, h] $ (Size [w, h] $)
幅と高さを指定します。数値が一つだけの場合は幅と高さに同一の値を指定したものとみなされます。数値が二つの場合は順番に幅、高さの値とみなされます。 単位 の定義に従います。
単位 (Units)
「単位に関するプロパティ」を参照してください。

11.1.6. Apertureコンポーネントのプロパティ

画面を「穴」で切り抜くコンポーネントです。このコンポーネントはルーチンペインにおける描画順序の影響を受けません。つまり、Apertureコンポーネントの上に他の刺激を重ね書きしようとしてもApertureコンポーネントに切り抜かれてしまいます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
サイズ $ (Size $)正の実数
「穴」の直径をしめす値を指定します。他のコンポーネントの サイズ [w, h] $ と異なり幅と高さを別々の値にすることはできません。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
単位 (Units)
「単位に関するプロパティ」を参照してください。

11.1.7. Gratingコンポーネントのプロパティ

縞模様が描かれた長方形を描くコンポーネントです。縞模様の向きや幅をパラメータで調整できます。また、マスクと呼ばれる機能を使って長方形を丸く切り抜いたり、周辺を丸くぼかしたりすることが出来ます。これらのパラメータを組み合わせると視知覚の実験でよく用いられるGaborパッチなどを簡単に描くことが出来ます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
(Color), 色空間 (ColorSpace)
「色に関するプロパティ」を参照してください。第4章のGratingコンポーネントの解説も参照してください。
不透明度 $ (Opacity $)
刺激の透明度を0.0~1.0の実数で指定します。0が透明、1が不透明です。
回転角度 $ (Orientation $)
刺激の回転角度を数値で指定します。単位はdegで、時計回りが正の方向です。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
サイズ [w, h] $ (Size [w, h] $)
幅と高さを指定します。数値が一つだけの場合は幅と高さに同一の値を指定したものとみなされます。数値が二つの場合は順番に幅、高さの値とみなされます。 単位 の定義に従います。
単位 (Units)
「単位に関するプロパティ」を参照してください。
テクスチャ (Texture)
描画する縞模様の形状をsin, sqr, saw, tri, sinXsin, sqrXsqr, gauss, radRamp, raisedCos, 画像ファイル名, Noneのいずれかで指定します。Sinは正弦波、sqrは矩形波、sawはノコギリ波、triは三角波です。波の一周期分の画像ファイルを指定することによって、任意の波形の縞模様を描くことも出来ます。sinXsin、sqrXsqrは水平方向と垂直方向の正弦波/矩形波の重ねあわせです。radRampとraisedCosは中心から周辺に向かって輝度が変化する円形の模様を描きます。Noneを指定すると で指定された色で塗りつぶした長方形が描かれます。 Gratingコンポーネントの テクスチャ プロパティについて を参照してください。
マスク (Mask)
circle, gauss, raisedCos, 画像ファイル名, Noneのいずれかを指定します。 Gratingコンポーネント を参照してください。
補間 (Interpolate)
第4章のGratingコンポーネントの解説を参照してください。
位相 (周期に対する比)$ (Phase (in cycles) $)
描画する波形の位相を指定します。縞模様をずらしたい時に指定します。
空間周波数 $ (Spatial Frequency $)
実数または実数を二つ並べたシーケンスを用いて空間周波数(波形の繰り返し回数)を指定します。単位がcm、degの場合はそれぞれ1cm、1degあたりの繰り返し回数を表します。pixは「指定された値×Sizeの幅」の回数繰り返す波が描かれます。normの場合は刺激の幅に対する繰り返し回数を表します。 通常は値を一つ指定すればよいですが、波形を画像ファイルとして読み込んでいて水平垂直の両方向に繰り返したい場合は水平方向と垂直方向の繰り返し回数を並べたリストを指定します。 Gratingコンポーネント を参照してください。
テクスチャの解像度 (Texture resolution $)
32, 64, 128, 256, 512から選択します。 Gratingコンポーネント を参照してください。

11.1.8. Dotsコンポーネントのプロパティ

一様に運動する小さな点を大量に描くコンポーネントです。運動視の研究などに用います。Polygonコンポーネントを大量に用いるよりPCへの負担が軽く、高速に描画できます。以下の解説では、点が描画される範囲をフィールドと呼んでいます。また、指定された方向に動く点をターゲット、それ以外の方向に動く点をノイズと呼んでいます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
(Color), 色空間 (ColorSpace)
「色に関するプロパティ」を参照してください。
フィールドの位置 $ (Field position $)
実数を二つ並べたリストで刺激の中心のX座標とY座標を表す値を指定します。 単位 に従います。
フィールドの形状 (Field shape)
フィールドの形状を指定します。「楕円」(circle)または「長方形」(square)を指定できます。
フィールドの大きさ (Field size $)
実数または実数を二つ並べたシーケンスでフィールドの幅と高さを指定します。数値が一つだけの場合は幅と高さに同一の値を指定したものとみなされます。数値が二つの場合は順番に幅、高さの値とみなされます。 単位 に従います。
コヒーレンス (Coherence $)
0.0~1.0の実数でターゲットの割合を指定します。例えば0.8ならば80%の点がターゲットで、20%の点がノイズです。
方向 $ (Direction $)
ターゲットが運動する方向を実数で指定します。単位はdegで時計回りが正の方向です。
ドットの寿命 $ (Dot lifetime $)
点が消滅するまでのフレーム数を整数で指定します。例えば3であれば個々の点は3フレーム描画されると消滅して次のフレームでは新たな場所に出現します。-1を指定すると点がフィールド外に出るまで消滅しません。
ドットの大きさ $ (Dot size $)
点の大きさを正の実数で指定します。単位はpixです。 単位 の影響を受けないので注意してください。
ドット数 $ (Number of dots $)
運動する点の個数を正の整数で指定します。
ノイズドット (Noise dots)
ノイズの運動を指定します。「一定方向」(direction)であればノイズは一定方向に動き続けます。「ランダム位置」(position)であればフレーム毎にランダムな位置に出現します。「ランダムウォーク」(walk)であればフレーム毎に運動方向が変化します。
シグナルドット (Signal dots)
「同一方向」(same)を指定すると、ターゲットは消滅するまでその方向に動き続けます。「異なる方向」(different)を指定すると、フレーム毎にランダムにターゲットとなる点が入れ替わります。
速度 $ (Speed $)
点が1フレーム毎に移動する距離を正の実数で指定します。 単位 に従います。

11.1.9. Polygonコンポーネントのプロパティ

正多角形を描画します。輪郭線と塗りつぶしの色を別々に指定できます。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
頂点数 (N Vertices)
2以上の整数を指定します。3以上であれば、指定された値の個数の頂点を持つ正多角形が描かれます。十分に大きい値を指定することで円を描くことも出来ます。
輪郭線の幅 $ (Line width $)
正の実数で線の幅を指定します。単位はpixです。 単位 の影響を受けないので注意してください。
不透明度 $ (Opacity $)
刺激の透明度を0.0~1.0の実数で指定します。0が透明、1が不透明です。
回転角度 $ (Orientation $)
刺激の回転角度を数値で指定します。単位はdegで、時計回りが正の方向です。
位置 [x, y] $ (Position [x, y] $)
刺激の中心のX座標とY座標を表す値を指定します。単位 の設定に従います。
サイズ [w, h] $ (Size [w, h] $)
幅と高さを指定します。数値が一つだけの場合は幅と高さに同一の値を指定したものとみなされます。数値が二つの場合は順番に幅、高さの値とみなされます。 単位 の定義に従います。
単位 (Units)
「単位に関するプロパティ」を参照してください。
塗りつぶしの色 (Fill color)
塗りつぶし色を指定します。Noneを指定すると塗りつぶされません。色の指定については「色に関するプロパティ」を参照してください。
塗りつぶしの色空間 (Fill color space)
塗りつぶし色の色空間を指定します。「色に関するプロパティ」を参照してください。
補間 (Interpolate)
第4章のGratingコンポーネントの解説を参照してください。 グラフィックチップのドライバに対する描画方法の指示です。通常は標準の値で構いませんが、刺激画像に斜めの隙間などが表示されてしまう場合は変更してみてください。
輪郭線の色 (Line color)
輪郭線の色を指定します。Noneを指定すると輪郭線が描かれません。色の指定については「色に関するプロパティ」を参照してください。
輪郭線の色空間 (Line color space)
輪郭線の色の色空間を指定します。「色に関するプロパティ」を参照してください。

11.1.10. Soundコンポーネントのプロパティ

音を鳴らします。音は音声ファイル名を指定することが出来るほか、AやBfl(B♭)、Csh(C#)のようにキーコードで指定したり、周波数で指定できたりします。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
(Sound)
音声ファイル名、A Bsh Cshといったキーコード、または周波数を指定します。
ボリューム $ (Volume $)
音の大きさを0.0から1.0の値で指定します。

11.1.11. Keyboardコンポーネントのプロパティ

キーボードのキーが押されたことを検出して記録します。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
Routineを終了 (Force end of Routine)
キーが押された時点でルーチンを強制終了します。
検出するキー $ (Allowed keys $)
キー名をカンマ区切りで並べた文字列で、キー押しを監視するキーを指定します。
記録 (Store)
実験結果ファイルに保存する内容を指定します。「最後のキー」(last key)ならルーチンが終了した時点で最後に押されたキー、「最初のキー」(first key)ならそのルーチンで最初の押されたキー、「すべてのキー」(all keys)ならそのルーチンで押されたすべてのキーを保存します。「なし」(nothing)ならそのルーチンで押されたキーはすべて保存されません。 Routineを終了 を指定している場合は、キーが押された時点でルーチンが終了するので「なし」以外はいずれも同じ結果となります。
正答を記録 (Store correct)
そのルーチンにおいて「正しい」キー押し反応がある場合に、押されたキーが正解であったか否かを記録します。
正答 (Correct answer)
正解のキーを指定します。 正答を記録 がチェックされていない時にはこのプロパティは表示されません。
開始前のキー押しを破棄 (Discard previous)
ルーチンが始まるときに、それ以前に押されたキー入力を破棄します。このチェックがついていないと、ルーチンが開始される直前に実験参加者がキーを押してしまった時に誤ってルーチン開始後に押されたキーとして検出される場合があります。通常はチェックしておくべきです。

11.1.12. cedrusButtonBoxコンポーネントのプロパティ

Cedrusの反応ボタンボックスを用いて反応を記録するコンポーネントです。特定のハードウェア専用のコンポーネントなので詳細は省略します。

11.1.13. Mouseコンポーネントのプロパティ

マウスのボタン押しを検出、記録したり、マウスカーソルの座標を記録したりします。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
ボタン押しでRoutineを終了 (End Routine on press)
マウスのボタンがクリックされた時点でルーチンを強制終了します。
マウスの状態を保存 (Save mouse state)
マウスの状態を保存するタイミングを指定します。第8章の解説を参照してください。
時刻の基準 (Time relative to)
保存される時刻の起点を指定します。routineであればルーチンが開始された時刻、「実験開始時」(experiment)であれば実験が開始された時刻が起点となります。

11.1.14. RatingScaleコンポーネントのプロパティ

レーティングスケールを表示し、反応を記録するコンポーネントです。非常に複雑なコンポーネントなので RatingScaleコンポーネント を参照してください。

11.1.15. Microphoneコンポーネントのプロパティ

マイクから音声を記録します。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
ステレオ (Stereo)
マイクがステレオか否かを指定します。

11.1.16. ioLabsButtonBoxコンポーネントのプロパティ

ioLabsの反応ボタンボックスを用いて反応を記録するコンポーネントです。特定のハードウェア専用のコンポーネントなので詳細は省略します。

11.1.17. Staticコンポーネントのプロパティ

スクリーンを更新する必要がない時間帯に次の刺激などの準備をするために使用します。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
カスタムコード $ (Custom code $)
ツールチップによると更新終了時にここに挿入されたコードが実行されるということですが、バージョン1.82.02では無視されるようです。

11.1.18. Codeコンポーネントのプロパティ

実験へPythonのコードを挿入するためのコンポーネントです。

名前 (Name)
「名前に関するプロパティ」を参照してください。
実験開始時 (Begin Experiment)
実験開始時にここに記入されたコードが実行されます。
Routine開始時 (Begin Routine)
ルーチン開始時にここに記入されたコードが実行されます。
フレーム毎 (Each Frame)
ルーチン中でフレームが更新されるたびにここに記入されたコードが実行されます。
Routine終了時 (End Routine)
ルーチン終了時にここに記入されたコードが実行されます。
実験終了時 (End Experiment)
実験終了時にここに記入されたコードが実行されます。

11.1.19. Unknownコンポーネントのプロパティ

新しいバージョンのBuilderで追加されたコンポーネントを使った実験を古いバージョンのBuilderで開いた時など、使用中のBuilderで利用できないコンポーネントが実験に含まれてる場合があります。このような時、利用できないコンポーネントがUnknownコンポーネントとして表示されます。

実験を作成する際にこのコンポーネントを配置しても何も起きません。

名前 (Name)
「名前に関するプロパティ」を参照してください。

11.1.20. ParallelOutコンポーネントのプロパティ

パラレルポートからのトリガー出力を行うためのコンポーネントです。

名前 (Name)
「名前に関するプロパティ」を参照してください。
開始 (Start), 終了 (Stop)
「時間制御に関するプロパティ」を参照してください。
ポートアドレス (Port ddress)
パラレルポートのアドレスを指定します。PsychoPy設定ダイアログの「一般」タブの「パラレルポート」に列挙されている値およびLabJack U3の中から選択します。
開始時データ $ (Start data $)
コンポーネントの開始時刻に送信する値を指定します。Noneなら値を送信しません。
終了時データ $ (Stop data $)
コンポーネントの終了に送信する値を指定します。Noneなら値を送信しません。
スクリーンに同期 (Sync to screen)
データの送信と画面の更新を同期させるか否かを指定します。

11.2. 予約語

11.2.1. Pythonの予約語 (Python 2.7)

Pythonインタプリタを起動してkeywordをimportすると、keyword.kwlistというリストにPython予約語の一覧が格納されます。以下にPython2.7の予約語を示します。これらの語はBuilderにおいて 名前 や変数名として使用することはできません。

and as assert break class continue def
del elif else except exec finally for
from global if import in is lambda
not or pass print raise return try
while with yield        

11.2.2. Builderの予約語(1.82.02)

Builder (バージョン1.82.02)の内部で予約語として登録されているもののうち、Python2.7の予約語でないものを以下に示します。これらの語はBuilderにおいて 名前 や変数名として使用することはできません。

__builtins__ __doc__ __file__ __name__ __package__ abs
all any apply basestring bin bool
buffer bytearray bytes callable chr classmethod
clear cmp coerce compile complex copy
copyright credits delattr dict dir divmod
enumerate eval execfile exit file filter
float format fromkeys frozenset get getattr
globals has_key hasattr hash help hex
id input int intern isinstance issubclass
items iter iteritems iterkeys itervalues keys
len license list locals long map
max memoryview min next object oct
open ord pop popitem pow property
quit range raw_input reduce reload  
repr reversed round set setattr setdefault
slice sorted staticmethod str sum super
tuple type unichr unicode update values
vars viewitems viewkeys viewvalues xrange zip
False None True      

以下の語はBuilder内で使用されているモジュール名および定数名です。これらの語はBuilderにおいて 名前 や変数名として使用することはできません。

core data event gui logging
microphone misc os psychopy sound
visual FINISHED FOREVER NOT_STARTED PAUSED
PLAYING PSYCHOPY_USERAGENT STARTED STOPPED  

以下の語はnumpyおよびnumpy.randomからimportされるのでBuilderにおいて 名前 や変数名として使用することはできません。

asarray average cos deg2rad linspace log log10
normal np pi rad2deg randint random shuffle
sin sqrt std tan      

11.2.3. Builderの内部変数(1.82.02)

以下の語はBuilder(バージョン1.82.02)の内部変数として予約されています。 これらの語はBuilderにおいて 名前 や変数名として使用することはできません。

予約語 概要
_thisDir Builderを実行するときにカレントフォルダをpsyexpファイルに移動するために使用されます。
buttons 最後に取得したマウスのボタンの状態を示すリストが格納されています。
component 予約されています。
continueRoutine 実行中のルーチンを継続するか否かを示す真偽値が格納されています。→第7章
currentLoop 本書では解説しなかったloopTypeのstaircase、interleaved staircasesを使用したときに使用されます。
dlg expInfoダイアログを作成するために使用します。
expInfo expInfoダイアログの項目と値が辞書オブジェクトとして格納されています。→第4章、第5章
endExpNow ESCキーによる実験の中断を有効にしているときに、この変数を利用してESCキー以外のキーで実験を終了できます。
expName 実験設定ダイアログの[Experiment name]に入力した実験名が格納されています。
filename 各種実験記録ファイルやログファイルのファイル名を生成するために利用されます。
frameDur フレームレートの実測値を保持しています。計測に失敗した場合は1/60secにセットされます。
frameN 現在のフレーム番号を格納しています。→第5章
globalClock 実験開始からの経過時間を計測するためのpsychopy.core.Clockのインスタンスが格納されています。→第9章
key_resp 予約されています。
KeyResponse 予約されています。
level 本書では解説しなかったloopTypeのstaircase、interleaved staircasesを使用したときに使用されます。
logFile ログファイルを作成するためのpsychopy.logging.LogFileのインスタンスが格納されています。
paramName 本書では解説しなかったloopTypeのinterleaved staircasesを使用したときに使用されます。
routineTimer ルーチン終了までの残り時間を計測するためのpsychopy.core.CountdownTimerのインスタンスが格納されています。
t ルーチンが開始してからの経過時間を格納しています。→第5章
theseKeys 最後に取得したキーの状態を示すリストを格納しています。→第7章
thisComponent 現在処理中のコンポーネントに対応するインスタンスが格納されています。
thisExp フローの制御ややデータの保存に関与するpsychopy.data.ExperimentHandlerのインスタンスが格納されています。
win 刺激提示スクリーン本体であるpsychopy.visual.Windowのインスタンスを格納しています。
x 最後に取得したマウスカーソルのX座標を格納しています。Mouseコンポーネントの マウスの状態を保存 の設定によって単独の値であったりリストであったりします。
y 最後に取得したマウスカーソルのY座標を格納しています。Mouseコンポーネントの マウスの状態を保存 の設定によって単独の値であったりリストであったりします。

以上に加えて、以下の語は正常なルーチンの実行に必須の変数名と一致するのでBuilderにおいて[Name]や変数名として使用することはできません。

trialComponents (trialはルーチン名) 当該ルーチンでフレーム毎に処理する必要があるコンポーネントのインスタンスを並べたリストが格納されています。→第8章
trialClock (trialはルーチン名) 当該ルーチンが開始されてからの経過時間を計測するpsychopy.core.Clockのインスタンスが格納されています。→第9章

11.3. ログファイル

PsychoPy Builderで実験を実行すると、拡張子 .log のログファイルが作成されます。実験が十分な精度で実行されているかどうかを確認したい場合や、どうも意図している通りに刺激が提示されないといった問題が生じている時に、このログファイルから情報が得られる場合があります。ただし、Builderの実験がどのようなコードにコンパイルされて実行されるのかある程度知識がないと対策をとることまでは難しいかも知れません。

ログには以下のレベルがあります。実験設定ダイアログでログの出力レベルを選択すると、選択されたレベル以上のログがログファイルに出力されます。例えばwarningを選択すると、waringとerrorのレベルのログが出力されます。infoを選択すると、info、exp、data、warning、errorのレベルのログが出力されます。

  1. error
  2. warning
  3. data
  4. exp
  5. info
  6. debug

以下にdebugを選択した場合のログファイルの先頭部分の例を示します。非常に長い行は中略してあります。 各行の最初の数値が実験開始からの経過時間(秒)、続いてログのレベルが示されています。レベルに続いてその時刻に生じたイベントの内容が書かれています。

3.0528  WARNING  Movie2 stim could not be imported and won't be available
7.8399  INFO  Loaded monitor calibration from ['2015_06_02 16:25']
8.9837  EXP  Created window1 = Window(allowGUI=False, allowStencil=False, ... ()
8.9838  EXP  window1: recordFrameIntervals = False
9.1467  EXP  window1: recordFrameIntervals = True
9.3343  DEBUG  Screen (0) actual frame rate measured at 58.77
9.3344  EXP  window1: recordFrameIntervals = False
9.9161  EXP  Created text = TextStim(alignHoriz='center', alignVert= ... ()
9.9274  EXP  Created stimulus = Polygon(autoDraw=False, autoLog=True, ... ()
9.9286  EXP  <method-wrapper '__getattribute__' of attributeSetter object ... ()
(中略)
13.8202  EXP  Created sequence: fullRandom, trialTypes=4, nReps=25, seed=None
13.8229  EXP  New trial (rep=0, index=0): {u'correct_ans': u'slash', ... ()
13.8499  EXP  text: autoDraw = False
13.8499  EXP  stimulus: fillColor = u'green (named)'
13.8499  EXP  stimulus: pos = array([-400.,    0.])
13.8499  EXP  stimulus: lineColor = u'green (named)'
13.8499  EXP  cross1: autoDraw = True
13.8499  EXP  cross2: autoDraw = True
14.8756  EXP  stimulus: autoDraw = True
15.4022  DATA  Keypress: slash
15.4382  EXP  New trial (rep=0, index=1): {u'correct_ans': u'slash', ... ()
15.4778  EXP  stimulus: autoDraw = False
15.4778  EXP  cross1: autoDraw = False
15.4778  EXP  cross2: autoDraw = False
15.4778  EXP  stimulus: fillColor = u'green (named)'
15.4778  EXP  stimulus: pos = array([-400.,    0.])
15.4778  EXP  stimulus: lineColor = u'green (named)'
15.4778  EXP  cross1: autoDraw = True
15.4778  EXP  cross2: autoDraw = True
16.4711  EXP  stimulus: autoDraw = True
17.0442  DATA  Keypress: slash

もしこの実験をログレベル exp で実行していたら、exp以上のレベルのみが出力されるので、以下のような出力になります。上の例の2行目のINFOと6行目のDEBUGが抜けている点にご注意ください。

3.0528  WARNING  Movie2 stim could not be imported and won't be available
8.9837  EXP  Created window1 = Window(allowGUI=False, allowStencil=False, ... ()
8.9838  EXP  window1: recordFrameIntervals = False
9.1467  EXP  window1: recordFrameIntervals = True
9.3344  EXP  window1: recordFrameIntervals = False
9.9161  EXP  Created text = TextStim(alignHoriz='center', alignVert= ... ()
9.9274  EXP  Created stimulus = Polygon(autoDraw=False, autoLog=True, ... ()
9.9286  EXP  <method-wrapper '__getattribute__' of attributeSetter object ... ()
(中略)
13.8202  EXP  Created sequence: fullRandom, trialTypes=4, nReps=25, seed=None
13.8229  EXP  New trial (rep=0, index=0): {u'correct_ans': u'slash', ... ()
13.8499  EXP  text: autoDraw = False
13.8499  EXP  stimulus: fillColor = u'green (named)'
13.8499  EXP  stimulus: pos = array([-400.,    0.])
13.8499  EXP  stimulus: lineColor = u'green (named)'
13.8499  EXP  cross1: autoDraw = True
13.8499  EXP  cross2: autoDraw = True
14.8756  EXP  stimulus: autoDraw = True
15.4022  DATA Keypress: slash
15.4382  EXP  New trial (rep=0, index=1): {u'correct_ans': u'slash', ... ()
15.4778  EXP  stimulus: autoDraw = False
15.4778  EXP  cross1: autoDraw = False
15.4778  EXP  cross2: autoDraw = False
15.4778  EXP  stimulus: fillColor = u'green (named)'
15.4778  EXP  stimulus: pos = array([-400.,    0.])
15.4778  EXP  stimulus: lineColor = u'green (named)'
15.4778  EXP  cross1: autoDraw = True
15.4778  EXP  cross2: autoDraw = True
16.4711  EXP  stimulus: autoDraw = True
17.0442  DATA Keypress: slash

ログレベルがwarningなら、以下のような出力になります。

3.0528  WARNING  Movie2 stim could not be imported and won't be available

infoやdebugのレベルのログはBuilderの新機能の開発などの際に便利な内容が多く、おそらく一般ユーザーが必要とすることは少ないでしょう。expのレベルは刺激オブジェクトの作成やパラメーターの変更、ループの実行状況などに関する情報が出力されます。dataのレベルは実験記録ファイルへのデータ出力に関する情報が出力されます。expのログの時刻を確認したら、もしかすると刺激提示のタイミングなどに関するトラブルの情報が得られる可能性があります。

warningのレベルでは、致命的ではないかも知れないけれども問題が生じていることが報告されます。上の例ではMovieStim2が利用できないという問題が報告されています。今実行している実験の中で動画刺激を使用していなければ問題ありませんが、今後動画刺激を使いたいと思った時には利用できるようにインストールの問題などを解決しなければいけないことを示しています。

warningのレベルで最も注意すべきは、以下のようにlast frame was XX msというログが出力されている場合です。このようなログが出力されている場合は、フレームの描画に問題があって一定のスピードで描画ができていません。アニメーションする刺激の描画がカクカクしてしまったり、刺激の出現、消去のタイミングがずれてしまっている可能性があります。常駐プログラムの停止、グラフィックデバイスドライバの更新や、高性能グラフィックボードの追加などの対策が必要となる可能性があります。

16.5660  WARNING  t of last frame was 30.22ms (=1/33)
16.5974  WARNING  t of last frame was 31.41ms (=1/31)
16.6285  WARNING  t of last frame was 31.09ms (=1/32)

11.4. PsychoPy設定ダイアログ

PsychoPy設定ダイアログの各項目について簡単にまとめました。

11.4.1. アプリケーション タブ

起動時にチップを表示
チェックしておくとPsychoPy Builder/Coderを起動したときに「今日のチップ」を表示します。
大きいアイコン
ノートPCなど、低解像度のモニターを使用しているときはチェックを外すとスペースを節約できます。
標準で開くウィンドウ
PsychoPyを起動したときに開くウィンドウを指定します。「前回使用時のウィンドウを開く」、「Builder」、「Coder」、「BuilderとCoderを開く」から選びます。
設定の初期化
設定を初期化したいときは、ここにチェックをしてPsychoPyを再起動してください。
設定の自動保存
ウィンドウを閉じるときに、未保存の設定を自動的に保存します。
デバッグモード
PsychoPyのデバッグ用機能を有効化します。PsychoPyそのもののデバッグであって、ユーザーが作成した実験スクリプトのデバッグではありません。
ロケール
PsychoPyのメニュー等の表示に使う言語を選択します。空欄にしておくと、OSの言語の設定を利用しようとします。

11.4.2. Builder タブ

前回の実験を開く
チェックしておくと、前回開いていた実験を自動的に開きます。
名前空間の整理
コードのコンパイルに関連するオプションです。通常は変更する必要はないでしょう。
コンポーネントフォルダ
パスを列挙したリストを指定します。パス内に含まれる拡張子.pyのファイルをBuilderのコンポーネントとして読み込みます。
表示しないコンポーネント
特定のハードウェア用コンポーネントなど、使用しないコンポーネントの名前をここに書いておくと、コンポーネントペインに表示されなくなります。ロケールが日本語の場合、Fooコンポーネントと表示されているコンポーネントの名前はFooComponentと書く必要があります。
デモのディレクトリ
Builderのデモが展開されているディレクトリを指定します。Builderウィンドウのメニューの「デモ」メニューから「デモを展開...」すると自動的に設定されます。展開されたデモを手作業で別の場所に移したりしない限り、通常は変更する必要はありません。
データ保存フォルダ
Builderの実験を実行したときに、記録ファイルやログファイルが保存されるフォルダ名を指定します。
フローを上に表示
チェックするとフローペインが上に、コンポーネントペインが左にレイアウトされます。
常にreadmeを表示
psyexpファイルと同一のフォルダにreadme.txtというファイルが存在している場合、この項目をチェックしておくとreadme.txtの内容が表示されます。
お気に入りの最大登録数
コンポーネントペインの「お気に入り」に登録できるコンポーネント数の上限を指定します。

11.4.3. Coder タブ

コード用フォント
コードの表示に使用するフォント名を指定します。複数のフォントを列挙すると、最初に読み込むことが出来たフォントを使用します。
コメント用フォント
コメントの表示に使用するフォント名を指定します。複数のフォントを列挙すると、最初に読み込むことが出来たフォントを使用します。
出力用フォント
出力パネルの表示に使用するフォント名を指定します。複数のフォントを列挙すると、最初に読み込むことが出来たフォントを使用します。
コード用フォントサイズ
フォントサイズを6から24の整数で指定します。
出力用フォントサイズ
フォントサイズを6から24の整数で指定します。
ソースアシスタントを表示
チェックするとCoder起動時にソースアシスタントを表示します。変数に格納されているクラスのヘルプなどが表示されます。
出力パネルを表示
チェックを外してPsychoPyを再起動すると、Coderウィンドウの下部に出力パネルが表示されません。
前回のファイルを開く
前回終了時に開いていたファイルを自動的に開きます。
優先するシェル
Coderウィンドウ下部のシェルパネルで優先するシェルを指定します。
改行文字の変換
ファイルの改行文字を指定します。「unix」にすると改行文字がLFに、「dos」にするとCR+LFに変換されます。「改行コードを変更しない」にすると元ファイルの改行文字を維持します。

11.4.4. 一般 タブ

ウィンドウ描画ライブラリ
ウィンドウの描画に使うライブラリを指定します。pygletとpygameが選択できますが、1.82.02現在でpygameはBuilderの機能を十分に活用できないのでpygletのままにしておくべきです。
単位
実験の設定ダイアログで 単位 を「PsychoPyの設定を用いる」に設定した場合、ここで選択した単位が使用されます。
フルスクリーン
チェックしておくと標準でフルスクリーンウィンドウで刺激を描画しようとします。実験の設定ダイアログで「フルスクリーンウィンドウ」のチェックを外している場合は、実験の設定ダイアログが優先されます。
GUIを使用
チェックしておくと標準でマウス等を有効にします。
パス
独自のPythonモジュールを使用したい場合、モジュールが置かれているパスをここに列挙しておくとimport出来ます。
オーディオライブラリ
音声刺激の再生に使用するライブラリを列挙します。最初にロードできたものを利用します。
オーディオドライバ
音声刺激の再生に使用するドライバを列挙します。最初にロードできたものを利用します。
fracオーディオ圧縮
fracを利用したい場合、ここへfracへのパスを設定します。
パラレルポート
パラレルポートのアドレスを列挙します。ここへアドレスを記入しておかないとParallelOutコンポーネントでアドレスを選択できません。

11.4.5. ネットワーク タブ

プロキシ
ネットワークアクセスにプロキシが必要な場合、ここへアドレスとポートを記入します。
プロキシの自動構成
自動的にプロキシを構成しようとします。自動構成が利用可能な場合は「プロキシ」の設定に優先します。
利用統計の送信を許可
PsychoPy開発チームへ利用統計を送信することを許可します。開発の参考にするため、可能な限りチェックしておいてください。
更新の確認
起動時に新しいバージョンのPsychoPyが公開されていないか確認します。
タイムアウト
ネットワーク接続のタイムアウト時間を指定します。

11.4.6. キー設定 タブ

BuilderおよびCoderで利用できるショートカットキーを編集することが出来ます。個々の項目については省略します。

11.5. チェックリスト一覧

11.5.1. 第1章

  • PsychoPyを起動できる。
  • CoderのウィンドウからBuilderのウィンドウを開くことが出来る。
  • BuilderのウィンドウからCoderのウィンドウを開くことが出来る。
  • ExcelまたはLibreOffice Calcのどちらかを起動できる。
  • ファイルの拡張子を表示できる。

11.5.2. 第2章

  • Polygonコンポーネントを用いて多角形を表示できる。
  • 多角形の頂点数を変更できる。
  • PsychoPyにおける座標系の原点と水平、垂直軸の正の方向を答えられる。
  • pixを単位に指定して、 位置 [x, y] $サイズ [w, h] $ に適切な値を入力して任意の大きさの多角形を任意の位置に表示させることができる。
  • Polygonコンポーネントで頂点数が5以上の時に 位置 [x, y] $ が例外的に図形のどの位置に対応するかを答えることが出来る。
  • cm、deg、norm、heightという単位を説明できる。
  • 複数のコンポーネントをルーチンペインに配置できる。
  • 回転角度 $ に適切な値を設定して図形を回転させて表示させることが出来る。
  • 図形の正の回転方向を答えられる。
  • 単位がnormの時に図形を回転させた時に生じる図形のひずみを説明できる。
  • Textコンポーネントを用いて文字列を表示できる。
  • 文字列を指定された位置に表示できる。
  • 文字列を指定された大きさで表示できる。
  • 文字列を上下反転、左右反転表示することが出来る。
  • 文字列の自動折り返し幅を設定できる。どのような文字列では自動折り返しが起きないか説明できる。
  • web/X11 color nameによる色指定で文字列の色を白、灰色、黒、赤、オレンジ色、黄色、黄緑色、緑、水色、青、ピンク、紫にすることが出来る。
  • 色空間 をrgbに設定して、数値指定によって文字列の色を白、灰色、黒、赤、黄色、緑色、青色にすることが出来る。
  • Polygonコンポーネントを用いて内部が塗りつぶされていない輪郭線だけの多角形を描画することができる。
  • Polygonコンポーネントを用いて輪郭線がない多角形を描画することができる。
  • ルーチンペイン上における視覚刺激コンポーネントの順番とスクリーン上での重ね順の関係を説明できる。
  • ルーチンペイン上におけるコンポーネントの順番を変更できる。
  • 視覚刺激コンポーネントの透明度を設定して完全な透明、完全な不透明とその中間の透明度で刺激を表示させることが出来る。
  • 刺激の表示開始時刻と表示時間を指定して表示させることが出来る。
  • 刺激の表示開始時刻と表示終了時刻を指定して表示させることが出来る。
  • 刺激の表示終了時刻を定めずに表示させることが出来る。
  • 実行中の実験を強制的に終了させることが出来る。
  • foo_lastrun.py (fooはpsyexp実験ファイル名)の役割を説明することが出来る。
  • dataディレクトリの役割を説明することが出来る。
  • 実験結果を保存する必要がない場合、どのファイルを削除しても問題ないかを判断できる。
  • 作製済みのpsyexpファイルをBuilderで開くことが出来る。
  • psyexpファイルを別の名前で保存することが出来る。
  • 実験設定ダイアログを開くことが出来る。
  • 実験開始時に実験情報ダイアログを表示させるか否かを設定することが出来る。
  • 登録済みのモニターのうちどれを実験に使用するかを実験設定ダイアログで設定できる。
  • 実験をフルスクリーンモードで実行するか否かを設定することが出来る。
  • フルスクリーンモードを使用しない時に、視覚刺激提示ウィンドウの幅と高さを指定できる。
  • 視覚提示ウィンドウの背景色を指定できる。
  • 「実験の設定に従う」で参照される単位を指定することが出来る。
  • ESCキーによる実験の強制終了を有効にするか無効にするかを指定することが出来る。
  • 実験記録のファイルを保存するフォルダ名を指定することが出来る。
  • フルスクリーンモード時にマウスカーソルを表示するか否かを指定することが出来る。
  • モニターセンターを開くことが出来る。
  • モニターセンターに新しいモニターを登録することが出来る。
  • モニターの観察距離、解像度、スクリーン幅を登録することが出来る。

11.5.3. 第3章

  • 試行中にキー押しが有効となる時間帯を指定できる。
  • Textコンポーネントを用いて十字をスクリーン上に提示することが出来る。
  • Polygonコンポーネントを用いて十字をスクリーン上に提示することが出来る。
  • ルーチン実行中にキー押しが有効となる時間帯を指定できる。
  • キーが押されると直ちにルーチンを中断するように設定することが出来る。
  • 有効とするキーを指定できる。
  • すべてのキーを有効にするように設定することが出来る。
  • ExcelまたはLibreOffice Calcを用いて、実験に用いるパラメータを列挙した条件ファイルを作成することが出来る。
  • 実験のパラメータを表現するためにPsychoPyで使用できる名前を決めることが出来る。
  • フローペインでループの挿入を開始できる。
  • ループを挿入する際、フローペインの矢印上に表示される黒い円の意味を説明できる。
  • ループのプロパティ設定ダイアログで条件ファイルを指定し、表示された条件ファイルの概要が適切か確認できる。
  • Loopの種類 のsequential、random、fullRandomの違いを説明できる。
  • 繰り返し回数 $ の値、条件ファイルに含まれる条件数、ルーチンが繰り返される回数の関係を説明できる。
  • 乱数のシード $ に値を設定するとどのような効果が得られるか説明できる。
  • 条件ファイルを 繰り返し条件 に指定する前にpsyexpファイルを保存すべき理由を説明できる。
  • 条件ファイルで定義したパラメータを用いてコンポーネントのプロパティ値を更新できるように設定できる。
  • コンポーネントのプロパティ名の最後に$が付いているものと付いてないものの違いを説明できる。
  • expInfoのparticipantに設定した文字列が記録ファイル名にどのように反映されるかを説明出来る。
  • dataフォルダに作成される拡張子logとpsydatのファイルに何が記録されているか、概要を説明することが出来る。
  • CSVファイルのCSVとは何の略であり、何を意味しているか説明することが出来る。
  • trial-by-trial記録ファイルとxlsx記録ファイル、summaries記録ファイルの違いを説明できる。
  • trial-by-trial記録ファイルから、各試行で用いられたパラメータの値を読み取ることが出来る。
  • trial-by-trial記録ファイルから、各試行において押されたキーのキー名と反応時間を読み取ることが出来る。
  • trial-by-trial記録ファイル、xlsx記録ファイル、summaries記録ファイルに記録されている反応時間の計測開始時点(0.0秒になる時点)がどのように決まるか答えることが出来る。
  • trial-by-trial記録ファイル、xlsx記録ファイル、summaries記録ファイルから実験情報ダイアログで入力した値を読み取ることが出来る。
  • trial-by-trial記録ファイル、xlsx記録ファイル、summaries記録ファイルから実験実行時のフレームレートを読み取ることが出来る。
  • xlsx記録ファイルおよびsummaries記録ファイルから各条件の試行数を読み取ることが出来る。
  • xlsx記録ファイルおよびsummaries記録ファイルから反応時間の平均値と標準偏差を読み取ることが出来る。
  • 分析時に未変更の記録ファイルを保存しておいた方がよい理由を説明できる。
  • 正答/誤答を記録するようにKeyboardコンポーネントを設定することが出来る。
  • キーを押さないことが正答となるように設定することが出来る。
  • 正答となるキー名を条件ファイルから読み込んで繰り返し毎に更新することが出来る。
  • trial-by-trial記録ファイルから、各試行の正答/誤答を読み取ることが出来る。
  • xlsx記録ファイルおよびsummaries記録ファイルから各条件の正答率を読み取ることが出来る。
  • ルーチンを新たに作成してフローに追加することが出来る。
  • 既存のルーチンをフローに追加することが出来る。
  • フローからルーチンを削除することができる。
  • フローペインの赤いルーチンと緑のルーチンが何に対応しているか説明することが出来る。
  • 特定のKeyboardコンポーネントが検出したキー押しを記録しないように設定することが出来る。
  • 既存のルーチンと同一の内容を持つ新しいルーチンをコピー&ペーストの機能を使って作成することが出来る。

11.5.4. 第4章

  • Gratingコンポーネントを用いて長方形、または楕円形に縞模様が描かれた刺激を提示することが出来る。
  • Gratingコンポーネントで 単位 がcm、deg、pix、norm、heightのいずれの場合においても、「幅xに対してy周期分の縞模様」を描けるように 空間周波数 $ の値を決定できる(x、yは正の数値)。
  • Gratingコンポーネントで描かれる縞模様を初期設定の状態からずらして描画することが出来る。
  • Gratingコンポーネントで描画処理の負担を軽くするためにテクスチャの解像度を下げることができる。
  • Gratingコンポーネントを大きく表示するときに画質を高めるためにテクスチャの解像度を上げることができる。
  • Gratingコンポーネントの色を指定したときに、何色の縞模様が描かれるのかをこたえることができる。
  • 恒常法の実験において、xlsx記録ファイルまたはsummaries記録ファイルの正答率の値がそのまま心理物理曲線の縦軸の値として使用できるように正答を定義できる。
  • 実験情報ダイアログの項目を追加、削除することが出来る。
  • 実験情報ダイアログの項目の初期値を設定することが出来る。
  • 実験情報ダイアログの項目名から、その値を利用するためのBuilder内における表記に変換することが出来る。
  • 条件ファイル名を実験情報ダイアログの項目から取り出してループのプロパティに設定することが出来る。
  • 多重繰り返しを挿入できる。
  • 多重繰り返しの内側のループで条件ファイル名を外側のループの条件ファイルから読み込んで設定することができる。

11.5.5. 第5章

  • 変数の役割を説明できる。
  • 関数の役割を、引数、戻り値という用語を用いながら説明できる。
  • Builderで使用できる数学関数を挙げることが出来る
  • 関数の引数に別の関数の戻り値を使うことが出来る。
  • 条件ファイルから読み込んだパラメータ値を関数の引数に使うことが出来る。
  • pythonの算術演算子8つ挙げてその働きを説明することが出来る。
  • 4÷3といった整数同士の割り算で、小数点以下を切り捨てない解を得る式の書き方を答えられる。
  • 現在のルーチンが開始してから経過した時間を保持しているBuilderの内部変数を答えられる。
  • 現在のルーチンが開始してから描画したフレーム数を保持しているBuilderの内部変数を答えられる。
  • 現在のルーチンが開始してから経過した時間の値を用いて、時間の経過とともに色や位置が変化する実験を作成することが出来る。
  • 実験情報ダイアログに入力されたデータの型を答えることが出来る。
  • データを整数型、浮動小数点型、文字列型、リストに変換することが出来る。
  • 実験情報ダイアログを用いて刺激の大きさや位置などの値を実験開始時に指定するように実験を作ることが出来る。

11.5.6. 第6章

  • 画像ファイルをスクリーン上に提示することが出来る。
  • 画像ファイルを上下、または左右に反転させて提示することが出来る。
  • 画像ファイルや条件ファイル等の位置を絶対パスで指定することが出来る。
  • 画像ファイルや条件ファイル等の位置を相対パスで指定することが出来る。
  • OSによるパスの書き方の違いを説明できる。
  • 複数のOSで実行できるBuilderの実験を作成するためにはどの記法でパスを記述したらよいか答えられる。
  • N件法の尺度をスクリーンに提示して反応を記録することが出来る。
  • アナログ尺度をスクリーンに提示して反応を記録することが出来る。
  • カテゴリカルな尺度をスクリーンに提示して反応を記録することが出来る。
  • 複数の文字列を結合した文字列を得る式を書くことが出来る。
  • 条件ファイルや実験情報ダイアログから読み込んだ文字列が組み込まれた文を提示することが出来る。
  • Textコンポーネントの 文字列 にPythonの式を書いた時に、表示する文字列を改行させることが出来る。
  • 条件に応じて処理を分岐させるPythonコードを書くことが出来る。
  • 数値の大小や一致・不一致に応じて処理を分岐させることが出来る。
  • 文字列の一致・不一致に応じて処理を分岐させることが出来る。
  • Pythonの比較演算子を6つ挙げてそれらの働きを説明することが出来る。
  • Pythonの論理演算子を3つ挙げてそれらの働きを説明することが出来る。
  • 変数に値を代入する式を書くことが出来る。
  • x+=7、x**=2といった二項算術演算子と代入演算子を組み合わせた式の働きを説明することが出来る。
  • Codeコンポーネントを用いてPythonのコードをルーチンに配置することができる。
  • Codeコンポーネントのプロパティである 実験開始時Routine開始時フレーム毎Routine終了時実験終了時 の違いを説明できる。
  • クラスとインスタンスの違いを説明することができる。
  • データ属性とは何かを説明することができる。
  • 変数xに格納されたインスタンスのデータ属性fooに値を代入したり値を参照したりするときのPythonの式を書くことができる。
  • BuilderKeyResponseのデータ属性を参照して押されたキー名を知ることが出来る。

11.5.7. 第7章

  • Polygonコンポーネントを使って線分を描画することが出来る。
  • Polygonコンポーネントを使った線分の長さ、角度が決まっている時に、その端点が指定された座標に一致するように 位置 [x, y] $ を指定することが出来る。
  • 3通り以上の分岐を処理させるif文を書くことができる。
  • リストの中にある要素が含まれているか否かで処理を分岐させることができる。
  • Codeコンポーネントからルーチンを終了させることができる。
  • TrialHandlerのインスタンスから現在ループの何回目の繰り返しを実行中かを取得できる。
  • TrialHandlerのインスタンスから現在ループの繰り返し回数が残り何回かを取得できる。
  • TrialHandlerのインスタンスから現在ループの総繰り返し回数を取得できる。
  • 上記3項目の値を使って「現在第n試行」、「残りn試行」、「全n試行」といったメッセージをスクリーン上に提示できる。
  • Codeコンポーネントを用いて、実験記録ファイルに出力するデータを追加することが出来る。
  • 現在実行中の繰り返しのn回前、n回後に使われるパラメータを取得するコードを記述することが出来る。
  • if文の中に入れ子上にif文を組み込んだコードを記述することができる。
  • ifやelifの条件式が真であった時に実行されるコードがどこまで続いているかを判断することができる。if、elifの条件式が全て偽でelseまで進んだときに実行されるコードがどこまで続いているかを判断することができる。
  • 一連のif-elif-elseの組み合わせがどこまで続いているかを判断することができる。
  • 論理演算子を用いて複数の条件式をひとつの式にまとめることができる。

11.5.8. 第8章

  • ルーチン終了時のマウスカーソルの位置およびマウスのボタンの状態を記録することが出来る。
  • ボタンが押された時点のマウスカーソルの位置およびマウスのボタンの状態を記録することが出来る。
  • 実験記録ファイルにマウスカーソルの座標やボタンの状態がリストとして複数件出力されている時に、個々のデータの座標値やその取得時刻を判断できる。
  • Codeコンポーネントでマウスカーソルの座標を取得するコードを記述できる。
  • Codeコンポーネントでマウスのボタンの状態を取得するコードを記述できる。
  • getPressed()メソッドを用いて取得したマウスのボタンの状態を示すリストの各要素がどのボタンに対応しているか答えられる。また、リストの各要素の値とボタンの状態の関係を答えられる。
  • Codeコンポーネントを用いずにマウスカーソルの位置に刺激を描画することが出来る。
  • シーケンス型のデータから要素をひとつ取り出して他の変数に代入したり関数の引数に使ったりすることが出来る。
  • シーケンス型データの前からN番目の要素を取り出す時の式を答えられる。
  • シーケンス型データの後ろからN番目の要素を取り出す時の式を答えられる。
  • 関数を用いてシーケンス型データに含まれる要素数を調べることが出来る。
  • シーケンス型のデータが入れ子構造になっている時に、要素であるシーケンス型データや、さらにその要素を取り出すことが出来る。
  • 文字列の中からN番目の文字を取り出して変数に代入したり関数の引数に使ったりすることが出来る。
  • [1,2,3][0]といった具合に[から始まって、]の後に[ ]演算子が続く式を評価した時の値を答えられる。
  • ある座標がPolygonコンポーネントで描画した多角形の内側に含まれているか判定するコードを書くことができる。
  • Polygonコンポーネントで描画した二つの多角形に重なっている部分があるが判定するコードを書くことができる。
  • マウスカーソルの位置を設定するコードを書くことができる
  • マウスカーソルの表示ON/OFFを切り替えるコードを書くことができる。
  • ある変数に格納されている値だけが異なる処理を繰り返し実行しなければいけない時に、for文を用いて記述することが出来る。
  • for文を継続する必要がなくなった時に直ちに終了させることが出来る。
  • for文で現在処理中の要素に対してこれ以上処理を続ける必要がなくなった時に、次の要素の処理へ直ちに移行するコードを書くことができる。
  • ルーチン内に含まれるコンポーネントの一覧を格納したBuilderの内部変数の名前を答えられる。
  • オブジェクトがある名前のデータ属性(たとえば’foo’)を持っているか判別するコードを書くことができる。
  • ある文字列が別の文字列の中に含まれているか(例えば’psych’が’psychophysics’に含まれるか)判別するコードを書くことができる。
  • リストにデータを追加するメソッドであるappend( )とextend( )の違いを説明できる。
  • 中身が空のリストを作成することが出来る。
  • ルーチン内でのみ必要なデータを蓄積するリストを作成するコードはどの時点で初期化すべきか判断できる。
  • %演算子を用いてNフレーム(N=2,3,4,…)に1回の頻度で処理を実行させることが出来る。
  • 2次元配列の要素のインデックスから、その要素が何行目、何列目にあるかを計算することが出来る。
  • 関数やメソッドの戻り値に直接[ ]演算子を適用した式を理解できる。
  • Polygonコンポーネントで描画した多角形にマウスカーソルを重ねてクリックするとルーチンの終了や反応の記録などの処理を行うコードを書くことができる。

11.5.9. 第9章

  • 無圧縮WAV形式の音声ファイルを再生できる。
  • 指定された周波数の音を鳴らすことが出来る。
  • 指定されたキーコードの音を鳴らすことが出来る。
  • 音声のボリュームを指定できる。
  • MPEG2形式の動画ファイルを再生できる。
  • 動画ファイルを拡大縮小して再生することが出来る。
  • 音声ファイル、動画ファイルの再生を指定された時刻に途中終了できる。
  • 様々な再生時間の音声ファイル、動画ファイルの再生開始、終了に合わせて他のコンポーネントを開始または終了させることが出来る。
  • なぜ短時間に複数のSoundコンポーネントを鳴らそうとした時に期待した結果が得られないのかを説明することが出来る。
  • 実験が開始してからの経過時間を得るコードを書くことが出来る。
  • ひとつの数値を8進数、10進数、16進数整数の書式で文字列に埋め込むことが出来る。
  • ひとつの浮動小数点数を10進数表記と指数表記の書式で文字列に埋め込むことが出来る。
  • 数値を文字列に埋め込む際に、指定した桁数の右寄せで埋め込むことが出来る。桁が足りない時に0で埋めることが出来る。
  • 数値を文字列に埋め込む際に、指定した桁数の右寄せ埋めで込むことが出来る。桁が足りない時に空白文字で埋めることが出来る。
  • 数値を文字列に埋め込む際に、指定した桁数の左寄せで埋め込むことが出来る。
  • 浮動小数点数を文字列に埋め込む時に、整数部の桁数と小数点以下の桁数を指定することが出来る。
  • 複数の値をひとつの文字列にそれぞれ書式を指定して埋め込むことが出来る。
  • 条件式がTrueである間処理を繰り返すPythonのコードを書くことが出来る。
  • Codeコンポーネントを用いて、ある条件を満たしたときに実行が中断される実験を作ることが出来る。
  • Codeコンポーネントを用いて、ある条件を満たしたときに実行がスキップされるルーチンを作ることが出来る。
  • ある条件に当てはまる時にループを実行しない実験を作成することが出来る。
  • ループを実行しない実験を作成した時のtrial-by-trial記録ファイルから、ループを実行しなかった時の記録を判別できる。

11.5.10. 第10章

  • テキストエディタを用いて適切な改行コード、文字コードでpsyexpファイルを開くことが出来る。
  • psyexpファイルをテキストエディタで開いて 名前 の値を検索して、コンポーネントのパラメータの定義を探し出すことが出来る。
  • psyexpファイルをテキストエディタで編集して、コンポーネントのパラメータを変更することが出来る。
  • psyexpファイルをテキストエディタで編集して、Builderで配置したコンポーネントをコピーして個数を増やすことが出来る。
  • low以上high未満の整数を範囲とする一様乱数のサンプルをひとつ得るコードを書くことが出来る。(low、highは整数)
  • 整数の一様乱数を用いて、試行毎に複数の値のリストからひとつの値を無作為に選択するコードを書くことが出来る。
  • range( )を用いて、0からn (n>0)までの整数を並べたリストを作成することができる。
  • range( )を用いて、mからn (n>m)までの整数を並べたリストを作成することができる。
  • range( )を用いて、mからnまで、sの間隔で整数を並べたリストを作成することができる。ただしm、nは互いに異なる整数、sは非0の整数である。
  • リストの要素を無作為に並べ替えることが出来る。
  • m個の要素を持つリストから、n個の要素(m>n)を重複なく無作為に抽出することが出来る。
  • ルーチンに配置された視覚刺激コンポーネントをスクリーン上に描画させないようにすることが出来る。
  • スライスを用いて、あるリストから連続する要素を抽出したリストを作り出すことが出来る。
  • リストの先頭から要素を抽出する場合のスライスの省略記法を用いることが出来る。
  • リストの末尾までの要素を抽出する場合のスライスの省略記法を用いることが出来る。