付録 ===================================================== 本文未解説コンポーネント --------------------------------------------- PsychoPy Builder 2022.2.4で利用できるコンポーネントのうち、本文で取り上げなかったものの概要を示します。 Apertureコンポーネント 画面を「穴」で切り抜くコンポーネントです。このコンポーネントはルーチンペインにおける描画順序の影響を受けません。つまり、Apertureコンポーネントの上に他の刺激を重ね書きしようとしてもApertureコンポーネントに切り抜かれてしまいます。 Dotsコンポーネント 一様に運動する小さな点を大量に描くコンポーネントです。運動視の研究などに用います。Polygonコンポーネントを大量に用いるよりPCへの負担が軽く、高速に描画できます。以下の解説では、点が描画される範囲をフィールドと呼んでいます。また、指定された方向に動く点をターゲット、それ以外の方向に動く点をノイズと呼んでいます。 EnvelopeGratingコンポーネント キャリアとエンベロープという2つの周期的なテクスチャをブレンドした刺激を描くコンポーネントです。 Noiseコンポーネント 様々なノイズ画像を描くコンポーネントです。ノイズの種類やパラメータ、更新タイミングなどを指定できます。 Brushコンポーネント 画面上にマウスカーソルの軌跡を描けるようにするコンポーネントです。今のところ描いた軌跡を簡単に保存する方法がないので、使いどころが難しいかもしれません。 cedrusButtonBoxコンポーネント Cedrus製の反応ボタンボックスを用いて反応を記録するコンポーネントです。Keyboardコンポーネントのように検出するボタンを指定してルーチンを終了させたりすることができます。 ioLabsButtonBoxコンポーネント ioLabs Systems製のボタンボックスを用いて反応を記録するコンポーネントです。Keyboardコンポーネントのように検出するボタンを指定してルーチンを終了させたりすることができます。 JoyButtonコンポーネント ジョイスティックで反応を記録するコンポーネントです。Keyboardコンポーネントのように検出するボタンを指定してルーチンを終了させたりすることができます。 Joystickコンポーネント ジョイスティックで反応を記録するコンポーネントです。JoyButtonコンポーネントと異なり、ボタンのみではなくスティックの状態も記録されます。ルーチンの実行中にジョイスティックの状態にアクセスするにはCodeコンポーネントを使ってJoystickオブジェクトにアクセスする必要があります。 ResourceManagerコンポーネント オンライン実験用のコンポーネントです。実験に使用するリソース(画像ファイルなど)をダウンロードするタイミングを制御します。 EmotivMarkingコンポーネント Emotive製のEEGにマーカーを送信するコンポーネントです。 EmotivRecordingコンポーネント Emotive製のEEGで記録を行うコンポーネントです。 Unknownコンポーネント 新しいバージョンのBuilderで追加されたコンポーネントを使った実験を古いバージョンのBuilderで開いた時など、使用中のBuilderで利用できないコンポーネントが実験に含まれてる場合があります。このような時、利用できないコンポーネントがUnknownコンポーネントとして表示されます。実験を作成する際にこのコンポーネントを配置しても何も起きません。 ParallelOutコンポーネント パラレルポートからのトリガー出力を行うためのコンポーネントです。 SerialOutコンポーネント シリアルポートでの入出力を行うためのコンポーネントです。 EyeTreackerCalibrationコンポーネント アイトラッカーのキャリブレーションを行います。通常のコンポーネントではなく単独で **ルーチンとして** フローに組み込んで使用します。実験設定ダイアログの「アイトラッキング」タブで選択できるアイトラッカーに対応しています。 EyeTreackerValidationコンポーネント アイトラッカーのバリデーション(キャリブレーション精度の確認)を行います。通常のコンポーネントではなく単独で **ルーチンとして** フローに組み込んで使用します。 EyeTreackerRecordコンポーネント アイトラッカーによる記録の開始、終了を制御するコンポーネントです。 RegionOfInterestコンポーネント ROIを定義し、視線の停留などを記録するコンポーネントです。 PeristalticPumpコンポーネント LabeoTech社のディスペンサーを制御するコンポーネントです。 QmixPumpコンポーネント Qmixライブラリ対応のシリンジユニットを制御するコンポーネントです。 .. _appendix-reserved-words: 予約語 ---------------------------------------------- .. psychopy.experiment.exports.NamSpace参照 Pythonの予約語 (Python 3.7) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Pythonインタプリタを起動してkeywordをimportすると、keyword.kwlistというリストにPython予約語の一覧が格納されます。以下にPython3.7の予約語を示します。これらの語はBuilderにおいて **[名前]** や変数名として使用することはできません。 FALSE, None, TRUE, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield \_\_builtin\_\_という内部モジュールに含まれる以下の語はPythonの予約語ではありませんが、予約語と同様に扱われます(つまり **[名前]** や変数名として使用することはできません)。 ArithmeticError, AssertionError, AttributeError, BaseException, BlockingIOError, BrokenPipeError, BufferError, BytesWarning, ChildProcessError, ConnectionAbortedError, ConnectionError, ConnectionRefusedError, ConnectionResetError, DeprecationWarning, EOFError, Ellipsis, EnvironmentError, Exception, False, FileExistsError, FileNotFoundError, FloatingPointError, FutureWarning, GeneratorExit, IOError, ImportError, ImportWarning, IndentationError, IndexError, InterruptedError, IsADirectoryError, KeyError, KeyboardInterrupt, LookupError, MemoryError, ModuleNotFoundError, NameError, None, NotADirectoryError, NotImplemented, NotImplementedError, OSError, OverflowError, PendingDeprecationWarning, PermissionError, ProcessLookupError, RecursionError, ReferenceError, ResourceWarning, RuntimeError, RuntimeWarning, StopAsyncIteration, StopIteration, SyntaxError, SyntaxWarning, SystemError, SystemExit, TabError, TimeoutError, True, TypeError, UnboundLocalError, UnicodeDecodeError, UnicodeEncodeError, UnicodeError, UnicodeTranslateError, UnicodeWarning, UserWarning, ValueError, Warning, WindowsError, ZeroDivisionError, \_, \_\_build\_class\_\_, \_\_debug\_\_, \_\_doc\_\_, \_\_import\_\_, \_\_loader\_\_, \_\_name\_\_, \_\_package\_\_, \_\_spec\_\_, abs, all, anyascii, bin, bool, bytearray, bytes, callable, chr, classmethod, compile, complex, copyright, credits, delattr, dict, dir, divmod, enumerate, eval, exec, exit, filter, float, format, frozenset, getattr, globals, hasattr, hash, help, hex, id, input, int, isinstance, issubclass, iter, len, license, list, locals, map, max, memoryview, min, next, object, oct, open, ord, pow, print, property, quit, range, repr, reversed, round, set, setattr, slice, sorted, staticmethod, str, sum, super, tuple, type, vars, zip PsychoPyの予約語(2020.2.9) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 以下の語はPsychoPyで利用するモジュール名のため、Builderにおいて **[名前]** や変数名として使用することができません。 gui, misc, visual, core, event, data, sound, microphone, psychopy, os 以下の語はPsychoPyで予約されているため、Builderにおいて **[名前]** や変数名として使用することができません。 ENVIRON, FINISHED, FOREVER, NOT\_STARTED, PAUSED, PLAYING, PRESSED, PSYCHOPY\_USERAGENT, PY3, RELEASED, SKIP, STARTED, STOPPED, \_\_builtins\_\_, \_\_cached\_\_, \_\_doc\_\_, \_\_file\_\_, \_\_loader\_\_, \_\_name\_\_, \_\_package\_\_, \_\_spec\_\_, \_gitStandalonePath, absolute\_import, abspath, copy, gitExe, join, os, print\_function, sys 以下の語はBuilderで予約されているため、Builderにおいて **[名前]** や変数名として使用することができません。 KeyResponse, keyboard, buttons, continueRoutine, expInfo, expName, thisExp, filename, logFile, paramName, t, frameN, currentLoop, dlg, \_thisDir, endExpNow, globalClock, routineTimer, frameDur, theseKeys, win, x, y, level, component, thisComponent 以下の語はnumpyおよびnumpy.randomからimportされるのでBuilderにおいて **[名前]** や変数名として使用することはできません。 asarray, average, cos, deg2rad, linspace, log, log10, normal, np, pi, rad2deg, randint, random, shuffle, sin, sqrt, std, tan Builderの内部変数(2020.2.9) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Builderで使用されている内部変数の概要を示します。 .. tabularcolumns:: |p{12zw}|p{30zw}| .. csv-table:: :header: "予約語", "概要" :widths: 20, 80 :class: longtable KeyResponse, 予約されています。 \_thisDir, Builderを実行するときにカレントフォルダをpsyexpファイルがある場所に移動するために使用されます。 buttons, 最後に取得したマウスのボタンの状態を示すリストが格納されています。 component, 予約されています。 continueRoutine, 実行中のルーチンを継続するか否かを示す真偽値が格納されています。→ :numref:`第%s章 ` currentLoop, Loopの種類でstaircase、interleaved staircasesを選択したときに使用されます。→ :numref:`第%s章 ` dlg, expInfoダイアログを作成するために使用します。 endExpNow, ESCキーによる実験の中断を有効にしているときに、この変数を利用してESCキー以外のキーで実験を終了できます。 expInfo, expInfoダイアログの項目と値が辞書オブジェクトとして格納されています。→ :numref:`第%s章 ` 、:numref:`第%s章 ` expName, 実験設定ダイアログの **[実験の名前]** に入力した実験名が格納されています。 filename, 各種実験記録ファイルやログファイルのファイル名を生成するために利用されます。 frameDur, フレームレートの実測値を保持しています。計測に失敗した場合は1/60secにセットされます。 frameN, 現在のフレーム番号を格納しています。→ :numref:`第%s章 ` globalClock, 実験開始からの経過時間を計測するためのpsychopy.core.Clockのインスタンスが格納されています。→ :numref:`第%s章 ` keyboard, キーボード用のライブラリの読み込みのために使用されています。 level, Loopの種類でstaircase、interleaved staircasesを選択したときに使用されます。→ :numref:`第%s章 ` logFile, ログファイルを作成するためのpsychopy.logging.LogFileのインスタンスが格納されています。 paramName, Loopの種類でinterleaved staircasesを選択したときに使用されます。→ :numref:`第%s章 ` routineTimer, ルーチン終了までの残り時間を計測するためのpsychopy.core.CountdownTimerのインスタンスが格納されています。 t, ルーチンが開始してからの経過時間を格納しています。→ :numref:`第%s章 ` theseKeys, 最後に取得したキーの状態を示すリストを格納しています。→ :numref:`第%s章 ` thisComponent, 現在処理中のコンポーネントに対応するインスタンスが格納されています。 thisExp, フローの制御ややデータの保存に関与するpsychopy.data.ExperimentHandlerのインスタンスが格納されています。 win, 刺激提示スクリーン本体であるpsychopy.visual.Windowのインスタンスを格納しています。 x, 最後に取得したマウスカーソルのX座標を格納しています。Mouseコンポーネントの **[マウスの状態を保存]** の設定によって単独の値であったりリストであったりします。 y, 最後に取得したマウスカーソルのY座標を格納しています。Mouseコンポーネントの **[マウスの状態を保存]** の設定によって単独の値であったりリストであったりします。 以上に加えて、以下の語は正常なルーチンの実行に必須の変数名と一致するのでBuilderにおいて **[名前]** や変数名として使用することはできません。 .. csv-table:: :widths: 36, 64 trialComponents (trialはルーチン名), 当該ルーチンでフレーム毎に処理する必要があるコンポーネントのインスタンスを並べたリストが格納されています。→ :numref:`第%s章 ` trialClock (trialはルーチン名), 当該ルーチンが開始されてからの経過時間を計測するpsychopy.core.Clockのインスタンスが格納されています。→ :numref:`第%s章 ` ログファイル --------------------------------------------- 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