LABSN / expyfun

Experimental paradigm functions.
BSD 3-Clause "New" or "Revised" License
13 stars 21 forks source link

FIX: Need to check EL calibration #42

Closed larsoner closed 10 years ago

larsoner commented 11 years ago

While we're at it, we need to set the config for the Windows computer. I couldn't do it before I got kicked off the behavioral laptop, shouldn't take more than a few minutes. But we need to do it before running any eyetracking experiments.

We also need to validate that the EL files that get written out correctly by the new setup, since that hasn't been tested. That will be slightly more annoying.

larsoner commented 10 years ago

We can also change the behavior of EL. In MATLAB, the order was:

  1. Run calibration.
  2. Open recording file.
  3. Start recording data.

But swapping 1 and 2 above will make it so the calibration data are saved, which is nice.

larsoner commented 10 years ago

Also need to check not just AV timing (which seems to be good), but rapid flipping. I haven't been able to secure accurate flips over multiple seconds (frames miss), which suggests that maybe the .flush() calls in write_data_line or something will need to be postponed.

@drammock @rkmaddox it's likely that we'll want to add a ec.trial_ok() call at the end of each trial, that signals that things like flushing logs and data files should take place. This will be expected to be a variable-latency operation (and thus done at the end of each trial), but probably not usually taking longer than 10-20 ms.

rkmaddox commented 10 years ago

A missed frame here and there isn't that big a deal as long as you are picking your frame based on the time you started the trial (and not just playing the frames in sequence). Missing lots of frames or missing two in a row would be a substantial problem. My PTB MATLAB code always misses a few, but I have never sweated it. That said, if there were a way to make that never happen it would certainly be preferable.

On Sat, Mar 15, 2014 at 10:49 PM, Eric89GXL notifications@github.comwrote:

Also need to check not just AV timing (which seems to be good), but rapid flipping. I haven't been able to secure accurate flips over multiple seconds (frames miss), which suggests that maybe the .flush() calls in write_data_line or something will need to be postponed.

@drammock https://github.com/drammock @rkmaddoxhttps://github.com/rkmaddoxit's likely that we'll want to add a ec.trial_ok() call at the end of each trial, that signals that things like flushing logs and data files should take place. This will be expected to be a variable-latency operation (and thus done at the end of each trial), but probably not usually taking longer than 10-20 ms.

Reply to this email directly or view it on GitHubhttps://github.com/LABSN/expyfun/issues/42#issuecomment-37749609 .

larsoner commented 10 years ago

There is another motivation behind a trial_ok standard, and that is that the Eyelink standard is to do TRIALID, SYNCTIME, TRIAL_OK as the sequence of events for trials. Most people don't follow it, but we might as well since we can. And we can force people to follow the standard by throwing an error if they don't :)