EEG統合を使用したデスクトップアプリの研究
目次:
概要
このウォークスルーの目的は、デスクトップアプリを使用してEEG統合のシンプルな研究を設定する方法を示すことです。
注意: デスクトップアプリに関する詳細情報、インストールガイドやアプリ機能の概要については、このページを参照してください。
注意: デスクトップアプリに関する詳細情報、インストールガイドやアプリ機能の概要については、このページを参照してください。
設定
設定タブの特別機能列で、Lab-Streaming-Layerオプションまでスクロールし、これを有効にします。これらの設定に関する詳細情報は、このページを訪れてください。
次に、出力ストリームの名前を付けるためのテキストフィールドがポップアップします。ここでは、単一のストリームを作成し、デフォルトの名前とオプションを保持しました。
通常、Labvancedで生成されたイベントの出力ストリームを設定し、それをEEG記録にマーカーストリームとして送信してイベントをマークし、EEGデータのイベント関連分析を行えるようにします。これが設定されると、そのストリーム上で個々のマーカーを送信できます。これはLabvancedのイベントシステムを使用することで非常に簡単です。
シンプルな研究設定
このウォークスルーの目的のために、ブーバ・キキ効果の研究を迅速に設定し、議論の基盤とEEG関連のイベントを設定してマーカーを送信するための基礎を持ちます:
- 表示される刺激カテゴリ(つまり、ブーバカテゴリ = 丸い形; キキカテゴリ = とげとげした/鋭い形)
- 画像がクリックされたとき
刺激を設定する方法については、こちらの動画の04:19のマークを参照してください:
刺激のアップロードプロセスの簡単な説明(上記の動画に基づく):
- 試行システムからレベルを作成し、これを‘ブーバ’と名付け、丸い形の刺激画像用とし、次に別のレベルを作成し、尖った形の刺激画像用に‘キキ’と名付けます。
- 次に、試行システムのブーバ条件の下でこれをクリックし、オブジェクトを選択して、関連する画像ファイルをアップロードし、次のオプションを選択します: i.) 刺激の数だけ試行を作成し、ii.) 自動割り当てします。
- 次に、条件の下でオブジェクトを選択し、プロセスを繰り返して、他の条件についても同じことを行います。
これで、2種類の刺激を持つシンプルな研究が設定されました。イベントを設定した後(次のセクション)、画像をクリックすることで研究が次の試行に進むどのように見えるか、最終的なタスクは次のようになります。
イベント設定
イベントの主なアイデアは、参加者が見ている画像の種類/カテゴリに基づいてEEGマーカーを送信し、画像がクリックされたときのマーカーも送信することを目的としています。
イベント1: EEGにマーカー(フレーム/刺激の開始)を送信
この最初のイベントでは、EEGが知っておくべきことがあります:a) 刺激のあるフレームがいつ始まったか、b.) 刺激がどの画像カテゴリに属するのか(つまり、ブーバまたはキキ)。
トリガー
試行とフレームトリガー→フレーム開始時
最初のEEGマーカーが作成されるべき時期のトリガーとしてフレーム開始を選択しています。
アクション
条件を切り替える必要があるため、エディタにはif/thenアクションが必要です:
制御アクション→要件アクション(If…Then)
最初の条件を指定するために、対応する因子変数を呼び出し、その値を‘ブーバ’に設定します。これは、エディタで次の手順を実行することで行います:
+ 要件をクリック- 左側の鉛筆アイコン:
変数→変数を選択し、factor1_tg1_task0を選択 - 右側の鉛筆アイコン:
定数値→文字列→ 文字列_bouba_を入力
注意: 実験設計プロセスでは、因子にユニークで説明的な名前を付けるべきです。上記の例では、デフォルト名factor1_tg1_task0を使用しましたが、構造的に健全な設計のためには、因子にカテゴリを反映させるより正確な名前を付ける必要があります(例えば‘形’のように)。
このIF条件が満たされると、次に行いたいのは以下のことです:
アクションを追加APIアクション→LabStreamingLayerマーカーを送信- この目的のために以前に作成した‘研究設定’の下のストリーム(つまり、labvanced_stream_1)を選択
- 送信する値:
定数値→文字列→ 単語_bouba_を入力
画像刺激条件タイプに基づいてLSLマーカーを指定しています。
_kiki_条件についても、 + 他の条件を追加オプションをクリックすることで同じプロセスを繰り返します。
ワークフローのヒント: ‘キキ’条件のために2つ目のイベントを作成するのではなく、上のイベントをコピー(`IF`の横にある重複アイコンを使用)し、文字列を他の因子または刺激タイプに対応するように変更します。つまり‘キキ’のように。
要約
これまでのところ、Labvancedを設定して、フレームが開始されるとすぐにEEGマーカー(刺激の形状タイプに基づく)を送信するようにしました。つまり、刺激が提示されるとすぐにです。
イベント2: 参加者の反応
今度は、よりダイナミックなものを測定し、マーカーを送信したいと思います。つまり、画像がクリックされたときのことです。ここでは、反応時間も定量化し、次の試行に進むことができます(すべて画像のマウスクリックに基づいて)。
新しいイベントを作成し、画像がクリックされたときにEEGが‘クリック’マーカーを受信するようにします。
トリガー
ユーザー入力→マウストリガー+ 対象を追加→ 画像オブジェクト(image_1)を選択
2番目のマーカーが作成されるべき時期のトリガーとして画像のクリックを選択しています。
アクション 1(‘クリック’マーカーをEEGに送信)
新しいマーカーを作成するには:
APIアクション→LabStreamingLayerマーカーを送信- LSLストリーム:
labvanced_stream_1を選択 - 送信する値:
定数値→文字列→ 単語Clickを入力
アクション 2(反応時間を記録) 変数を設定/記録を使用し、フレームの開始からマウストリガー時間を記録するスカラーおよび数値の変数を作成します:
+ アクション変数アクション→変数を設定/記録選択(緑のボタン) →+新しい変数(右上)- 名前: RT
- フォーマット: スカラー
- データタイプ: 数値
- → ‘OK’
- 鉛筆アイコン →
トリガー(マウス)→フレーム開始からのトリガー時間
アクション 3(次の試行にジャンプ)
+ アクションジャンプアクション→ジャンプ先→次の試行
この手順に従うと、イベントは次のようになります:
マウスクリック時に、ターゲット画像に対して設定された3つのアクション: i.) EEGにマーカーを送信し、反応時間を定量化し、次の試行に移動します。
要約
上記のイベントは、特定の画像をクリックするトリガーであり、フォローするアクションには次のことが含まれます:EEGに直接ワン・クリックスマーカーが送信され、フレームの開始時から反応時間がミリ秒単位で記録され、変数‘RT’に保存され、実験は次の試行に移ります。
この時点で、マーカーをEEGに送信する構造と機能を持つ非常にシンプルな研究が設定されました!
- 2種類の異なる刺激タイプ
- EEGは次の条件に基づいてマーカーを受信します:
- 表示された刺激タイプ
- ‘クリック’が発生したとき
- 研究は反応時間を記録し、ナビゲーションが設定されます
ローカルモード
デスクトップアプリでは、‘ローカル’モードに戻ると、同期が行われていることが確認できます。
研究がデスクトップアプリでローカルに読み込まれ、更新されています。
数秒後、更新された研究がダウンロードされ、オンラインで行ったすべての変更がローカルバージョンに反映されます。
EEG記録セッションに移りましょう。
EEGデータ記録セッション
EEGデータ記録セッションを開始するには、もちろん、上記で作成したLabvanced研究が必要です(その構造とマーカーを送信するためのイベント)。 ただし、EEGにマーカーを注入するために、いくつかの補足プログラム(無料)も必要です。また、データを視覚化および潜在的に分析するためのツールも必要です。
EEG機器(Muse 2 EEG)
このデモでは、Muse 2 EEGウェアラブルヘッドセットを使用します。BlueMuse(無料)プログラムを開いて(Muse 2 EEGヘッドセット用)、‘ストリーミング開始’オプションをクリックします。 4つの異なるストリーム(EEGチャンネル、加速度計、ジャイロスコープなど)とそれぞれのサンプリングレートが表示される別のウィンドウがポップアップします。
BlueMuseでストリーミングを開始し(右ウィンドウ)、ストリームが表示されます(左ウィンドウ)。
これら2つのウィンドウは、今は最小化できます。
Labレコーダー
次に使用するツールは、Lab Recorder(無料)で、これは、接続したLSLデータストリームを記録するために使用できるLSL記録ソフトウェアで、.XDFファイルに保存できます。
EEGシステムを起動し、LSLストリームを開始した場合、ここに表示されます。 この時点で、研究がまだ開始されていないため、Labvancedストリームはまだ開始されていません。 したがって、このストリームを開始するには、研究を開始する必要があります。
上部のストリーム(赤)は、研究がまだ開始されていないため、開始されていません。研究を開始すると、このストリームが緑になります。右側でデータを保存する場所を指定できます。
研究が開始されると(つまり、Labvancedで研究を開き、記録を押す)、研究が開始されて待機ロビーに入ると、Lab Recorderで‘更新’ボタンをクリックすると、Labvancedストリームが準備が整います。
注意: Lab Recorderプログラムの右側では、ファイルパスを指定し、Labvancedストリーム、EEG、潜在的に他の時系列ソースからの結合データのデータストリームファイルをローカルでコンピュータに保存する場所を選択できます。
Lab Recorderプログラムの左上隅で開始をクリックして、記録を開始します。
Brain Vision
何かを見るためには、つまりLSLストリームのライブフィードを見るには、Brain Vision Analyzer(無料)のような別のツールを起動する必要があります。 これを使用して、記録された内容を視覚化するための素晴らしい体験を提供してくれます。
接続をクリックすると、すべてのストリームがここに表示されます。 Labvancedストリームもクリックして、OKをクリックできます。
これで、実験を開始し、EEGデータの記録と視覚化を開始できます!
Brain VisionにおけるEEGライブストリームのプレビュー。
研究内でクリックや反応があると、Brain Visionプログラムの下部にEEGストリームにもマーカーが表示されます。
‘クリック’マーカーと条件マーカーは、このスケールではそれほど明確ではありません。これは、画像をクリックした後のミリ秒で、新しい試行のために条件マーカーが設定されるため、それらが一緒に視覚的に重なって表示されるためです。
Labvancedで作成されたマーカーが、条件タイプとクリックに基づいて下部に表示されます。
全体として、非常にスムーズに動作します!
記録の終了
これで研究が完了しました。 Lab Recorderプログラムで停止をクリックしてデータ記録を停止できます。 ファイルが作成され保存されるまでには、数秒かかります。
EEGデータ分析
EEGLABスタンドアロン
最後に、EEGデータを分析する方法を示したいと思います。もちろん、PythonやRでEEGデータを分析する方法はたくさんあります。またはMatLabを使用することもできます。
私たちは、カリフォルニア大学サンディエゴ校(UCSD)のEEGLAB Standalone(無料)を使用します。これはMatLabやライセンスを必要とせず、実行環境があれば直接データ記録を確認できます。
EEGLABスタンドアロンのオプションでは、.XDFファイルを読み込むためのプラグイン(Lab Recorderからの出力形式)を直接ロードできます。
ファイルオプションから、データのインポート → EEGLABの関数とプラグインを使用して → から.XDFを.XDFZファイルにを選択し、前述のローカルフォルダからLab Recorderのファイルを見つけてロードします。 ダイアログボックスが表示され、インポート名とデータセットの名前を付けます。
ファイルが開かれると、エポックあたりのフレーム数やイベントの数に関する情報が表示されます。
EEGLABスタンドアロンからのデータセット[test_1]のプレビュー。
プロット → チャンネルデータ(スクロール)に移動すると、記録されたデータの良い概要が得られ、データを移動できます。
チャンネルデータを開き、録音セッションを通過しています。マーカーは上部にピンクと緑で表示されています。
今は分析を行いませんが、ここからはタイムスタンプやエポックデータセットを使用して興味深い操作を行うことができます。 EEGLABから提供される多くのトピックをカバーする良い資料やチュートリアルがあります。
例えば、プロットメニューアイテムの下に多くのオプションがあります。これは記録に基づいて作成された何らかのスペクトログラムです。
このデモで記録されたデータに基づいてEEGLABスタンドアロンで作成された図の例。
この情報が役立ち、Labvancedデスクトップアプリを使用してEEG研究がどれほど迅速に設定できるかを示すことができたことを願っています。ありがとうございました!