labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
  • Technology
    • Feature Overview
    • Desktop App
    • Phone App
    • Precise Timing
    • Experimental Control
    • Eye Tracking
    • Multi User Studies
    • More ...
      • Questionnaires
      • Artificial Intelligence (AI) Integration
      • Mouse Tracking
      • Data Privacy & Security
      • Text Transcription
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Pricing Overview
    • License Configurator
    • Single License
    • Research Group
    • Departments & Consortia
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
  • Appgo to app icon
  • Logingo to app icon
Learn
ガイド
ビデオ
ウォークスルー
FAQ
リリースノート
リリースノート
文書
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
ガイド
ビデオ
ウォークスルー
FAQ
リリースノート
リリースノート
文書
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • ガイド
    • はじめに

      • オブジェクト
      • イベント
      • 変数
      • タスクウィザード
      • トライアルシステム
      • 研究デザイン
        • タスク
        • ブロック
        • セッション
        • グループ
    • 注目のトピック

      • ランダム化とバランス
      • アイ・トラッキング
      • アンケート
      • デスクトップアプリ
      • サンプル研究
      • 参加者募集
      • APIアクセス
        • REST API
        • Webhook API
        • WebSocket API
      • その他のトピック

        • 正確な刺激のタイミング
        • マルチユーザー研究
        • Labvancedにおけるヘッドトラッキング | ガイド
    • メインアプリタブ

      • 概要: メインタブ
      • ダッシュボード
      • マイスタディ
      • 共有スタディ
      • マイファイル
      • 実験ライブラリ
      • マイアカウント
      • マイライセンス
    • スタディタブ

      • 概要: スタディ専用タブ
      • 研究デザイン
        • タスク
        • ブロック
        • セッション
        • グループ
      • タスクエディタ
        • 主な機能と設定
        • トライアルシステム
        • キャンバスとページフレーム
        • オブジェクト
        • オブジェクトプロパティテーブル
        • 変数
        • システム変数テーブル
        • イベントシステム
        • 試行のランダム化
        • テキストエディタの機能
        • タスクにおけるアイ・トラッキング
        • タスクにおける頭追跡
        • マルチユーザー研究
      • 設定
      • 変数
      • メディア
      • テキストと翻訳
      • 開始と参加
      • 被験者管理
      • データビューとエクスポート
        • Dataview と変数 & タスクの選択 (古いバージョン)
        • 録音へのアクセス (古いバージョン)
  • ビデオ
    • ビデオ概要
    • Labvancedの始め方
    • タスクを作成する
    • 要素ビデオ
    • イベントと変数
    • 高度なトピック
  • ウォークスルー
    • イントロダクション
    • ストループタスク
    • 語彙的判断タスク
    • ポズナー誘導課題
    • 変化盲点ちらつきパラダイム
    • アイ・トラッキングサンプル研究
    • 乳児アイ・トラッキング研究
    • マウストラッキングによる注意の捕捉研究
    • 迅速な視覚的提示
    • ChatGPT研究
    • アイ・トラッキングデモ: AOIとしてのSVG
    • マルチユーザーデモ: 研究内で被験者のカーソルを表示
    • ゲームパッド/ジョイスティックコントローラー - 基本セットアップ
    • EEG統合を持つデスクトップアプリ研究
    • 被験者間グループのバランスと変数の設定
  • FAQ
    • 機能
    • セキュリティとデータプライバシー
    • ライセンス
    • Labvancedの精度
    • プログラム使用とAPI
    • Labvancedをオフラインで使用する
    • トラブルシューティング
    • 研究作成に関する質問
  • リリースノート
  • ドキュメント
  • 教室

WebSocket API

カスタムWebSocket APIを使用すると、実行時にLabvancedと他のサーバーの間に接続を作成できます。これは、本質的にLabvancedサーバーと指定した他のサーバーとの間でデータを双方向に送信できる可能性を提供します。データを一方向のみで送信する必要がある場合(つまり、直接サーバーに保存する場合)は、Webhook APIのドキュメントを参照してください。

WebSocket APIが利用できる実験のいくつかの例は以下の通りです:

  • LabvancedからEEGシステム、アイ・トラッキングシステム、または他のローカルデータ記録デバイスに実験的トリガー(例:トライアル/刺激開始または参加者の応答)を送受信する実験。
  • インターネット経由で他のサーバー/APIにオンラインで記録されたデータを送信し、それを処理する実験(例:AI/機械学習プロセスやリアルタイムデータ分析)。
  • Labvancedと、ローカルまたはリモートで実行できる他のプロセス間で双方向通信を作成する実験(例:BCI、生体フィードバック、または他のクローズドループシステム)。

Labvancedとローカルサーバー(デバイス接続用など)を接続する場合、現在は以下に説明する単純なスクリプトを使用して、Labvancedスタディエディタでイベントを設定することによって実現できます。将来的には、Labvanced Desktop Appに統合されたソリューションが提供され、ボタンをクリックするだけでこの接続を確立できるようになります。

スクリプトソリューション

スクリプトを使用することで、基本的なPythonコードをカスタマイズできます。これにより、スクリプトを実行する必要があり、最終的に研究ニーズに合った柔軟性が提供されます。別のPythonスクリプトを実行することで、LabvancedはWebSocket APIと通信し、Pythonは外部デバイスと通信します。

WebSocket APIの構成は、特定のポートとIPを指し示すことによって機能します。これがPythonコードに反映されます。お互いに指し示すことで、WebSocket APIを通じて通信経路が確立されます。

注意: 接続を表示するために、この半自動プロセスにはGUIを使用できます。

以前のアプローチ(Labvancedプログラムに直接埋め込む方法)は、異なるオペレーティングシステムで動作するのが難しく、少し制限がありました。そのため、これらの新しいPythonスクリプトを使用することで、すべてのプラットフォーム(Linux、MacOS、Windows)で動作し、双方向にLSLストリームデータを送受信できるはずです。

試すために必要なこと:

  1. pip install -r requirements.txt のようなもので、必要な4つのライブラリをインストールします。
  2. その後、Labvanced実験が開始される同じマシンでバックグラウンドで、(LabvancedでLSLマーカーを受信するために)python3 lsl_marker_receive.pyまたは(LabvancedからLSLマーカーを送信するために)python3 lsl_marker_send.pyを使用して開始できます。

注: 特定のLSLパラメータやストリーム名が必要な場合は、これらのスクリプトを簡単に適応することもできます。

私たちのGitHub WebSocket APIリポジトリでは、Lab Streaming Layerフォルダー内でLabvanced実験からLSLマーカーを送信または受信するための2つの例Pythonスクリプトと、そのセットアップ方法に関するより詳細な指示を見つけることができます。

また、私たちのパブリック実験ライブラリからこのソケット接続サンプルスタディをインポートし、イベントがどのように設定されているかを見ることができます。

LSL統合のためのWebSocket APIを利用した実験の例

上記に対応するLabvancedスタディライブラリに2つの例スタディがあります:

  1. LSLマーカーの送信 (lsl_marker_send.py): https://www.labvanced.com/page/library/53231

  2. LSLマーカーの受信 (lsl_marker_receive.py): https://www.labvanced.com/page/library/53230

これらの例スタディをインポートまたは点検する際には、 "実験機能"のサブセクションの「スタディ設定」にあるチェックボックスで「WebSocket接続」がチェックされていることを確認し、Labvanced実験が同じコンピュータ上で実行されているPythonスクリプトに接続できるように接続の詳細が示されている画像を確認してください:

LabvancedのWebSocket APIオプション

Prev
Webhook API