Has anyone gotten E-Prime to send triggers to EyeTribe? We are using E-Prime to run an EEG study and would like to synchronize stimulus presentation with eye tracking data. Thanks very much in advance
Our tool, EventIDE (www.okazolab.com), can easily carry synchronization of stimuli, eye-tracking logs and EEG recording. I can build and send you a test task for EyeTribe. However, be aware that eye-tracking samples are recorded with a certain delay, which you should take in account in data analysis.
We already have a whole battery of tasks coded in E-Prime (delivering stimuli and mediating EEG recording) -- does EventIDE interface with E-Prime or would this mean recoding all our tasks with EventIDE (for obvious reasons, we would like to avoid rescripting all our tasks)?
Just wondering if you ever figured this out - we're trying to do something very similar now, synchronising E-Prime with EyeTribe. Did you ever find a method of sending a trigger from E-Prime to EyeTribe?
1. connected the 2 PCs via a normal ethernet cable and set up a UDP connection via Matlab
2. use this Matlab toolbox for EyeTribe to do control logging of the eye movement data from EyeTribe (so you'd have to launch 2 servers -- the EyeTribe Server that comes with EyeTribe and the server for this Matlab toolbox):
3. Set up your E-Prime script to send the triggers via port or via the GUI (with the very help of (thanks very much to David Nicholson at PST for his immense help with that!). Apparently E-Prime will not send timestamps in an understandable format -- for that you need an inline script and use the socket method "writeString" rather than through the GUI. Here are more details from David:
"E-Prime 2.0.8.90 does support TCP/IP communications. However, it does not support UDP connections. E-Prime 2.0.10.242 (and beyond) supports both TCP/IP and UDP connections. In the production release, you can add the Socket device to your experiment via the Devices tab of the Experiment Object's property pages. Addition of the Socket Device on the Experiment Object allows you to specify the settings for the Socket Device directly on the Experiment Object.
UDP, by its nature, does not guarantee the delivery of packets, and if a packet is delivered, the delivery is not guaranteed to be in the correct order. UDP is faster but does not guarantee that intended data will actually be sent, whereas TCP is slower but guarantees that data is received. UDP is "connectionless". If you are using UDP on a "closed network", you should not encounter any issues.
PST highly-recommends the use of packet sniffers such as WireShark (http://www.wireshark.org/) for debugging network communications."
Hope that helps...I have little toy scripts I was using to test all this, if you're interested...just have to dig them up :-P
I haven't tested the reliability of this (notice how EyeTribe times out a lot and that means restarted all the servers)....
I should also add that if you are willing to port over from E-Prime to EventIDE, Ilia at EventIDE (see first reply to my post) has been really proactive and had offered to help converting our E-Prime scripts over to EventIDE.
Thanks Gina, that's fantastic! Sorry for the slow reply, I wasn't notified about your message for some reason. If you do have any example scripts I'd be really grateful if you could send them to me to get us started.
Sorry!!! Same thing here and I don't log in so regularly so I didn't see your reply...I am attaching my toy/test Matlab and E-Prime scripts...hopefully the comments and explanations above will lead you through (I haven't looked at it much since to be honest)