« さうして、このごろ 20130630 | 最新のページに戻る | さうして、このごろ 20130430 »
■ Eyelink 1000セットアップ中。
Eyelink 1000セットアップ中。課題はMacでPsychoPyで動かすということで、そのまえにSR Researchが提供しているappで稼働させて、つぎにPTB3で稼働させて、PsychoPyにやっとこさ辿りついた。
PsychoPyでは、SR researchが提供しているpylinkを使う。デモプログラム(gaze contingent display)があって、カクカクするがとにかく動いた。さてこれをこれまで使ってたプログラムとmergeするというのが次の課題。
そこでpygameまわりでハマった。いろいろやっていたがけっきょく、pygameはなんとデュアルモニタに対応してないということが判明。pygameを一旦開いて、閉じて、それからwin = visual.window()をするというきったない方法で対処。
そしたらPsychoPyは1.77からioHubというプラグインで外部入力を統一的に扱うという形式に移行していることを知る。EyelinkでもTobiiでもSMIでもぜんぶ同じスクリプトで、設定ファイルはアイトラッカーごとにyamlに別々に書かれている。これは魅力的。
だがかといってここでこれまでの環境(1.73)をアップデートして、せっかくこれまで稼働していたのをぶっ壊してしまうわけにもいかない。べつべつにインストールすることはできるけど、もともとそういうことを想定しているわけではないから、なんか予想外の挙動とか示されると困るのでやらない。
というわけで、mbp2011のほうはアップデートせずに、mba2013のほうで新しいバージョンを試してみることにする。Tobii X2-60がもうすぐ届くので、こっちと両方一挙にセットアップ出来れば手っ取り早くてよいのだけれど。
さてさてあとはディプレイに貼りつけたフォトダイオードの信号をどうやって取り込むかだけど、前回TX300を使ったときは急ごしらえだったのでwindowsでNI USB-6008への入力を取り込むC#プログラムを改変してなんとかしてた。
でもいま冷静になって見回してみれば、PyLibNIDAQmxなんてものがあることに気づいた。たぶんこれでMacでPsychoPy上で全部いけるんではないだろうか。PsychoPyからだったらLabjack U3という話もあるが。
ってよくよく見てみたら、開発は2009年で止まってるし、NI DAQmx baseには対応してないくさい。ダメじゃん。こっちが正解か:pydaq 日本語のブログ記事:NI 6008をpythonで
って話の発端は、十河さん@SogoHiroyuki の「PsychoPy/VisionEggからTobiiを使うTobiiController」を読んでいて、そこからいろいろ調べていたのであった。
後日談。結局Labjack U3を買ってテストしてみたら、win.flip()の時間とLabjack U3で測ったディスプレーの描画時間はきっかし33ms (60Hzで2frame分)で、繰り返しによるばらつきは<1msだったので、ちゃんと垂直同期とって誤差なく描画していることがわかった。そういうわけで、毎回フォトダイオード計測しなくても、この33msだけわかっていれば充分だということが判明。
あと、PsychoPyとEyeLinkの間の通信の遅延に関しても、tracker.sendMessage(msg)してやればイーサネットで1ms程度の遅延でタイムスタンプをedfファイルに送ることができる。こちらもこれで充分。ということでスレッドで平行してアイトラッカーとフォトダイオード計測するとかそういうややこしいことをする必要はなくなった。