視線データの記録とエクスポート
アイ・トラッキングが有効化され、タスクに設定されると(タスク内でのアイ・トラッキングの設定を参照)、視線データを記録変数として実際にキャプチャするイベントが必要になります。
自動イベント設定
タスクエディタで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、これにより視線の更新がすべて記録され、試行の最後の値だけが記録されるのではありません。
- フォーマット:
- 値選択メニューで、
Trigger (Eyetracking Gaze)のオプションからCoord. + Time + Confidence [X,Y,T,C] Arrayを選択します。これにより、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つの視線サンプルを表し、すべてのタイムシリーズ変数に共有される別の
times列が含まれています。
![]()
X: 視線のX座標; Y: 視線のY座標; T: タイムスタンプ; C: 信頼区間
これらの列を操作する際に心に留めておくべきことがいくつかあります:
- 時間の測定は、個別の
times列ではなくTに基づいて行ってください。Tは、カメラが画像を実際にキャプチャしたときの調整済みタイムスタンプであり、timesはLabvancedが値を記録した時点を反映しています。これは、アルゴリズムが各スナップショットを処理するのに数ミリ秒を要するため、実際のキャプチャの瞬間よりもわずかに遅れています。 Cは0から1の範囲です。1に近い値は自信を持った検出を示し、0に近い値は通常、まばたきまたは参加者の目がカメラに見えないことを示します。- サンプリングレートは完全に一定ではなく、
Tから決定できます。一般に、商業的に利用可能なほとんどのウェブカメラのハードウェア制約により、30Hz以上のサンプリングレートは達成できません。
LabvancedのGitHubレポジトリには、エクスポートされたアイ・トラッキングおよびWebSocketデータをさらに処理するためのスクリプトがあります。