2016年3月2日水曜日

TobiiをOpensesameで使用するために必要なこと:備忘録

Psychopyと同様Pythonで作られた刺激提示用プログラムにOpensesameというものがある。Psychopyと比較すると使用者は少ないと思われるが、GUIベースでありPsychopyのBuilderとはかなり構造が異なるが簡単である。これだけではOpensesame使用する理由には足らないが、Tobiiのアイトラッカーを導入したためPsychopyかOpensesameと同期させる必要が生じた。
TobiiはE-primeやInquisitといった商用ソフトとの連携は保証されている。しかし、これらの商用ソフトでセットアップするのは非常に経済的なコストがかかる。Pythonの場合、PygazeというPythonでTobiiも含めたさまざまなアイトラッカーの制御を可能とするものがフリーで存在するため、これを活用すればコストは抑えられる。しかし、基本的に気が短いことと素人に近いため自分でPsychopyにPygazeを組み込むのが難しいことがわかった。一方でOpensesameにはWindows版にはもともとPygazeが組み込まれているため、連携は相対的に容易である。したがって、OpensesameによるTobiiとの同期を試みることにした。しかし、容易であるはずのPygazeとの連携は多少の困難があった。現状について書き記しておく。

前提条件
・Python2.7(32bit)がインストール
・Opensesame(32bit)のインストール
・Tobii SDKのインストール

基本的には上記のことができていればOpensesame上でのTobiiの使用は可能である。しかし、これができているつもりでもエラーが発生し前に進まない。Opensesameのコミュニティをみるとこの手の問題が繰り返し質問に挙げられている。これらのコミュニティを探した結果、以下のことが重要であることがわかった。
・Tobii SDKのPython binding
・Pygazeの一部のスクリプトの変更
・適切なフォルダの指定および場所

・Tobii SDKのPython bindingsについてはTobii SDKのマニュアル参照。pygtkをpythonにインストールする必要がある。また、これは確信がないがコマンドプロンプトからパスを設定することも重要のようだ(起動するたびに必要かもしれない)。
・Pygazeの一部のスクリプトの変更については、コミュニティにて作成者がコメントしており、そのとおりに変更すればよい
・適切なフォルダの指定および場所については、パスを引いたTobii SDKのモジュールをOpensesameで読み込むことが可能なフォルダである必要がある。

上記の事項をおこなった後に、アイトラッカーが接続されていることを確認したうえでOpensesameのPygazeでのテンプレートを使用した。
Opensesame上でのPygazeではアイトラッカーのセッティングから始まり、その後キャリブレーション、測定開始、ログの取得、測定中断、測定終了の設定を行うことができる。現状ではログとして残るものがどういうものかは完全に把握できていない。
基本的な機能は使えるようになったが、Pygazeのキャリブレーションではそもそも赤外線光が眼球に投影されているかをチェックしていないので事前に位置あわせを十分行っておくのが良い(追記:tobii studioでキャリブレーションチェックするのが良いが、非常に重いソフトウェアなので同時使用は難しい)。

当面の課題はクリアできたので、後は刺激の位置と対応させてログがどのように残るかを把握し、Pygazeの他の機能も知る必要がある。
(追記:視線座標のデータがどのようにログに残るのかをひたすら調べていたが、実際に測定されたデータはtsv形式で保存されることがわかった。これに左右眼球のxy座標がタイムスタンプとともに記録されている。ダミーで走らせても意味のあるログは残らない。)

0 件のコメント:

コメントを投稿

ツイート @freeroll_をフォロー