MWorks 0.5: Question about Eye positions

Hi Chris,

I was decoding an mwk file (Darren from DiCarlo’s lab was using an RSVP program as a template).
I noticed multiple Eye events with identical timestamps.

for example:
using pymworks, I got the “eye_h” events and sorted them in a variable called eye_x:

here’s an example of what I get:

In [87]: eye_x[3:10]
Out[87]:
[Event[code=33, name=eye_h, time=5967535107, value=-1.6082607686519623],
Event[code=33, name=eye_h, time=5967535107, value=-1.6082607686519623],
Event[code=33, name=eye_h, time=5991155802, value=-1.267778331041336],
Event[code=33, name=eye_h, time=5991155802, value=-1.267778331041336],
Event[code=33, name=eye_h, time=6014776498, value=-0.9162668645381927],
Event[code=33, name=eye_h, time=6014776498, value=-0.9162668645381927],
Event[code=33, name=eye_h, time=6038397193, value=-0.5472747087478638]]

notice how some of the eye_h events have identical timestamps and values.

I couldn’t tell from the 0.6 announcement (MWorks 0.6 released) if this was the error that was fixed. In particular: “Eye calibrator sample announcements now contain the correct values for sampled and desired data (previously, those fields contained copies of the calibrated data)”

Let me know. For now, I’m eliminating the duplications in python

Thanks.

Hi Romesh,

That is strange. Would you mind trying to unpack the file again, using the standard data file tools (as opposed to pymworks, which is a third-party package that I don’t maintain)?

I’ve attached a Python script you can use. To print all the eye_h events from your data file, execute the following command on a Mac with MWorks installed (replacing my_file.mwk with the path to your data file):

python dump_events.py my_file.mwk eye_h

If you still see the duplicates, then I’ll probably need to take a look at your experiment file. Also, if you could share the data file with me (on Dropbox, perhaps?), then that would be helpful, too.

I couldn’t tell from the 0.6 announcement if this was the error that was fixed. In particular: “Eye calibrator sample announcements now contain the correct values for sampled and desired data (previously, those fields contained copies of the calibrated data)”

No, that’s an unrelated issue that affected the value of the #announceCalibrator system variable.

Cheers,
Chris

Attachment: dump_events.py (826 Bytes)

Still have duplicates… here is a snippet of the results of the dump
(results.txt)
Below is a link to the mwk file (it’s um… big. 1.5G)

Hi Romesh,

Thanks for the additional info. I’m going to be out on vacation for the next two weeks, but I’ll take a deeper look at this when I return (the week of January 4).

Cheers,
Chris

Hi Romesh,

I think I see the problem: The experiment defines two identical copies of each filter. The first set starts at line 3 in the XML, and the second set starts at line 110. Since each pair of filters has the same parameters, each output (eye_h, eye_v, and saccade) is produced twice. The duplicated outputs have the same timestamp, because the timestamp is taken from the relevant input values, which are also the same.

To eliminate this issue for future runs, I recommend deleting the first set of filters and keeping the second (which is in the usual location of filters in experiment files).

Cheers,
Chris