-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
time in eyetribe not synchronized with libtime #117
Comments
Hi! I have the same issue. Anybody knows why this difference in time is happening? |
Actually checking the difference between the two type of time stamps I found that they agree when logging is off while it get gradually off inside the logging phase. e.g. in the previous code the interval between two calls of:
1010692563-1010683939=8624 Instead the difference between the two type of timestamps : Are eyetribe clock and libtime clock re-synchronized at the end of the logging? |
Hi both, Thanks for the issue report, and the thorough debugging! I have a few questions which should help narrow down the issue:
The reasons behind these questions: In its default setting, PyTribe uses Threads rather than Processes, meaning that the samples are streamed from the tracker in one Thread and logged in another. In the past, on some systems we've noticed issues where the buffer was written to file slower than samples were coming in, resulting in a delay in sample-to-buffer writing. Various improvements happened, and those issues were resolved. However, your issue seems slightly different: Current logging timestamps are based on the Python clock, whereas samples are based on the EyeTribe clock (which, as far as I can tell, is actually the PC clock, so it seems the EyeTribe Server is time-stamping samples when they come in). Hence, the two timestamps that you are comparing should come from the same clock. There are two reasons I can think of why your timestamps might be uncoupled: The first is that you're using an older version of the code (where the message logging timestamp was coupled to the most recent sample), and the second is that somehow |
Hi @dimitri-ognibene, I see you've closed the issue. Does that mean you solved the issue? Would you mind sharing what did it? |
sorry I don't know what happened. I did not intend/realized I closed the issue (actually I was on the bus without internet connection in the last hour). |
Hi, thank you so much for your suggestions! We installed new libraries and now the error is minimal. But I have data from 28 participants collected with old libraries, where the time of python and eyetribe was desynchronized. Is there a way to save my data? |
Thanks a lot! The weird thing is that with the same libraries another experiment (also involving videos but not audio) |
@dariakv Very good question, and the answer depends greatly on how you implemented your logging, and what version of PyGaze / PyTribe you used. Unfortunately, I wouldn't actually be able to tell you, given I know about neither. This is obviously not what you'd like to hear, but the main lessen here is to always double-check your data before you start testing participants. Sorry! |
Hello Guys, I am doing a research with Tobii pro glasses 2. I have problem with synchronization of data (eye movement and flight data). I have a stream of flight data and I can add timestamp based on time of my computer, I was thinking to do the same, but there is a problem. It is not clear whether Tobii uses my computers' time or not. Please let me know if anybody had this problem? |
Hi @Nimaa4u, In general, I would avoid trying to sync data based on timestamps, because independent clocks can drift in sometimes unpredictable ways. A better way is to write triggers into data files when particular events happen, so that you can align your data to said events. PyGaze allows for this with the Good luck! |
Hi,
in an experiment we have a loop visualizing a video but the time between eyetribe log and the libtime is not aligned.
analysing the messages we get that the difference between the time in the tracker and the time inserted using libtime.getime is about 600ms over 2000ms.
See:
944518082-944516699=1383
36991-34936=2055
This is a huge difference.
It works perfectly in dummy mode.
Actually if I check the difference between the first and the last trial the difference is not so high (1% instead of 30%)
944636770-944508375=128395
156249-2647=129773
Any suggestion?
The text was updated successfully, but these errors were encountered: