注視データの録画とエクスポート
眼球運動が有効化され、タスク用に設定されると(タスクにおける眼球運動の設定を参照)、実際に注視データを記録する変数をキャプチャするイベントが必要です。
自動イベント設定
タスクエディタで Enable Eye-Tracking: にチェックを入れると、「Eyetracking Setup」ダイアログが表示され、これらのイベントを自動的に作成することができます:
![]()
Record gaze timeseries [X,Y,T,C]: デフォルトでチェックされている注視記録イベントを作成Record fixation timeseries [X,Y,Dur,Start,End,Disp]: デフォルトでチェックされている固定記録イベントを作成します。タスクの固定検出モードがNo Fixation Detectionに設定されている場合、このオプションを受け入れると自動的にオンに切り替わります。
スコープも選択できます:On all frames(デフォルト)は、試行全体のすべてのフレームに記録イベントを適用し、Select a frameはそれらを特定のフレームに制限します。 Add Events をクリックすると、これらの選択肢でイベントが作成され、Skipは何も作成せずにダイアログを閉じます。
これは一般的なケースをカバーしています:試行全体のすべての注視と固定サンプルを記録します。このダイアログをスキップした場合、特定の刺激オブジェクトへの記録を制限する必要がある場合(下記参照)、または既存のタスクに眼球追跡イベントを追加する場合は、イベントを手動で構築してください。
注視座標を手動で記録する
注視座標の時系列を記録するには:
- イベントエディタから新しいイベントを追加します。
- トリガーとして、
Physiological Signal Triggers→Eyetracking Gazeを選択します。 - アクションとして、
Variable Actions→Set / Record Variableを選択し、新しい変数を作成します:- フォーマット:
Array(推奨、X/Y 座標のペアを一緒に保存できるため) - 記録タイプ:
All changes / time series、すべての注視更新を記録します。試行の最後の値のみを記録するのではありません。
- フォーマット:
- 値選択メニューで、
Coord. + Time + Confidence [X,Y,T,C] ArrayをTrigger (Eyetracking Gaze)オプションから選択します。これにより、X および Y 座標、正確なタイムスタンプ、信頼度を1つの配列に記録します。
選択肢として Eyetracking Fixation トリガーもあり、タスク設定で構成された固定検出モードを使用して、参加者の固定を報告します(参加者の注視がどこにあるか、すべての個々の注視サンプルではなく)。
特定の刺激オブジェクトへの記録を制限する
Eyetracking Gaze および Eyetracking Fixation トリガーはいずれも、参加者が特定の刺激オブジェクトを見ているときのみ発火するように制限できます。これを行うには、特定の要素のみでトリガーするオプションを選択し、それらの要素をターゲットとして追加します。これは、参加者が特定の画像や領域を見ているかどうかだけが重要で、そのフレーム内の他の場所での視線位置には関心がない場合に便利です。
キャリブレーションと試行誤差の記録
注視座標に加えて、特定の参加者のための眼球追跡の精度を記録できます:
- さらに別のイベントを追加し、
On Frame Startをトリガーとして使用します。 - アクションとして、
Variable Actions→Set / Record Variableを選択します。 - 値選択メニューで、
Frame/Task/Object→Eyetrackingの下からError Trialを選択して現在の試行の誤差を記録するか、Error Calibrationを選択して元のキャリブレーションからの誤差を記録します。
両方の誤差値は、キャリブレーション中または試行間に示された予測された注視座標と実際のターゲット固定位置との間のユークリッド距離の平均です。両方を記録することで、分析中に精度基準を下回る参加者や特定の試行を除外できます。
注視データのエクスポート
記録されたデータにアクセスするには、Dataview & Export タブに移動します。エクスポートには2種類があります:
- 通常データ:試行ごとに1回記録され、応答、条件、およびキャリブレーション/試行誤差(記録することを選択した場合)など。各変数は独自の列であり、各試行は独自の行です。
- 時系列データ:試行全体を通じて連続的に記録され、注視座標が使用するものです。これは、1秒あたりの多くの更新があるためです。各行は1つの注視サンプルを表し、すべての時系列変数で共有される
times列があります。
![]()
X: 注視の X 座標; Y: 注視の Y 座標; T: タイムスタンプ; C: 信頼区間
これらの列で作業する際に考慮すべき点がいくつかあります:
- 時間測定を
Tに基づいて行い、times列には基づかないでください。Tは、カメラが実際に画像をキャプチャしたときの調整されたタイムスタンプであり、timesは Labvanced が値を記録したときのもので、アルゴリズムが各スナップショットを処理するのに数ミリ秒必要なため、実際のキャプチャ瞬間よりも若干遅れます。 Cの範囲は 0 から 1 です。 1 に近い値は信頼性の高い検出を示し、0 に近い値は通常、まばたきや参加者の目がカメラに visibleではないことを示します。- サンプリングレートは完全には一定ではなく、
Tから判断できます。一般的に、30Hz を超えるサンプリングレートは、商業的に入手可能なほとんどのウェブカメラのハードウェア制約により実現できません。
Labvancedの GitHub レポジトリ には、エクスポートされた眼球追跡および WebSocket データをさらに処理するためのスクリプトがあります。