Register Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
hamed_neu

Junior Member
Registered:
Posts: 3
Reply with quote  #1 
The Eyelink has a digital output which can be sent by Ethernet protocol. Psychotoolbox has a bunch of Matlab codes for online reading x and y of the eye.  Is there any opportunities to use these codes in timing file. By doing this we can have a better SNR for eye position and even decrease the delay. One issue I had is that the mex files for interfacing with Eyelink are 64 bit while the matlab I used is 32 bit. Is there any way to do this and could it enhance the performance?
       
0
Wael.Asaad

Administrator
Registered:
Posts: 51
Reply with quote  #2 
We haven't tried to interface yet with the ethernet output of eyelink.  Typically, ethernet and USB have packet delays that make them less than ideal for near-real-time behavioral monitoring.  Unless the Eyelink has an internal delay that's greater for analog than for ethernet, usually the analog output is faster and has reliable, fixed timing delays.  Do you know what the delays are for the Eyelink outputs via ethernet vs. analog, and their variability?


0
ryklin

Administrator
Registered:
Posts: 235
Reply with quote  #3 
We could add a digital eye tracker(s) to the DigitalInputStream adapter I built for USB touchscreens. However, exactly as Wael said, we do not know what the latency characteristics are for the Eyelink ethernet output and we should assume it performs worse than analog output. Maybe things have changed with Gigabit ethernet, or 100 baseT. If we decided to do this, we could add connectivity for many eyetrackers not just EyeLink. Better yet, we could provide a simple programming interface that would allow users to implement it for their own eyetracker themselves. I know of a lab that built their own digital eyetracker from scratch and integrated it into MonkeyLogic with excellent results (that doesn't guarantee the Eyelink will run that well).

0
maloman

Junior Member
Registered:
Posts: 13
Reply with quote  #4 
Hey all,
I have discussed the Ethernet latency issue with Eddy before and on my home brew eye tracker nidaq c++ lib vs zeromq Ethernet lib did not make much of a difference. I had round trip (hardware tested with switching LEDs) latencies lower than 2ms. Ethernet has extremely low latencies potentially lower than analog output due to better integration. The key is to implement it into ML in a way that this edge is preserved. Another advantage of the digital would be no signal degradation even though 14 bit analog should be more than sufficient.
0
coxma

Junior Member
Registered:
Posts: 7
Reply with quote  #5 
Chiming in with a vote for this feature. We use eyelink and essentially have to calibrate twice, once on the eyelink size and once on the ML side, which wastes juice and time. 
0
Jaewon

Administrator
Registered:
Posts: 627
Reply with quote  #6 
Hi coxma,

You can make MonkeyLogic skip the calibration and take whatever signal EyeLink provides as it is. Then just one calibration on EyeLink should be good enough.
0
ryklin

Administrator
Registered:
Posts: 235
Reply with quote  #7 
Hi everyone,

I agree with Jaewon regarding double calibrations being unnecessary. Just calibrate in the EyeLink system.

Regarding properly integrating digital eye trackers, we will get back to you soon.

Thanks!
0
bcorrigan

Junior Member
Registered:
Posts: 3
Reply with quote  #8 
Hi,
So I know that this is an old topic, but we are looking at starting to use ML, and are interested in the ethernet connection with eyelink. Has there been any progress on this front? Thanks for any replies!
0
Jaewon

Administrator
Registered:
Posts: 627
Reply with quote  #9 
I have many Arrington trackers, so I am looking into their ethernet link. I don't have any EyeLink system, but I will try to support it since I know many people use it.
0
Jaewon

Administrator
Registered:
Posts: 627
Reply with quote  #10 
Now NIMH ML2 supports Ethernet links for Arrington ViewPoint EyeTracker and SR Research EyeLink.

http://forums.monkeylogic.org/post/nimh-monkeylogic-2-8444337?pid=1302275002
0
bcorrigan

Junior Member
Registered:
Posts: 3
Reply with quote  #11 
Thank for implementing this! I just wanted to post about our experience using the ethernet link. We used our EyeLink, and initially found that we had issues such that the eye position would not change for several  (~8+) samples even though EyeLink was sampling at 500Hz and ML at 1000Hz. We found that disabling the Nagle's algorithm was able to get the sampling down to reasonable errors, such that we might get only three samples in a row, or sometimes 4, whereas ideal would be 2. Has anyone else had experience dealing with this?

In a related topic, we have our EyeLink set-up put together, and will be using it soon, but I am also interested in a second set-up, and the EyeLink is out of our price range at the moment. Has anyone tried some of the cheaper eye trackers that do not have analog outputs? Particularly thinking about the GazePoint GP3HD which also uses tcp/ip communication.
0
Jaewon

Administrator
Registered:
Posts: 627
Reply with quote  #12 
Thanks for the information, Ben. I tried to get data via TCP/IP from an Arrington ViewPoint eyetracker a few days ago and found that samples changed at 8-ms intervals in my setup as well. I will try disabling Nagle's algorithm tomorrow. Although I wrote the code, the TCP/IP connection itself is not something that NIMH ML controls, so I didn't expect to see this kind of problem.

By the way, you can't just use any TCP/IP eyetracker with NIMH ML. Although the protocol is the same, data carried by the packets has all different formats. So, to read out the data, we need APIs or SDK provided by manufactures and I need to incorporate it with NIMH DAQ Toolbox. If they have well-written SDK and manual, I may be able to do the job in a few days but can't guarantee.

I visited the website you linked. It seems that we need a password that comes with the eyetracker, to download their software. So there is nothing I can do for this eyetracker for now.
0
bcorrigan

Junior Member
Registered:
Posts: 3
Reply with quote  #13 
Thanks for looking into this. For instruction for anyone else interested in disabling TCP_nodelay, (Nagle's algorithm) I used this tutorial .

Also, I contacted GazePoint and have asked for access to their software, and did let them know that it was for potential integration with MonkeyLogic. I also let them know that Jaewon was supporting it in case they wanted ot send you the software, as they seem pretty protective of it. Is it ok if I give them your publicly available email to contact you if they are interested in helping you integrate their product?


0
Jaewon

Administrator
Registered:
Posts: 627
Reply with quote  #14 
Disabling Nagle's algorithm makes my Arrington eyetracker system transfer data at its full speed. I think everyone who uses the TCP/IP connection should do it.
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.