EducationalTestingService / Confero

Eye-tracking, Screen and Event Capturing System for Windows. A web application running on a separate PC allows for real time monitoring of the users actions.
GNU General Public License v3.0
9 stars 1 forks source link

The low-quality warning is not working #84

Closed isolver closed 9 years ago

isolver commented 9 years ago

The low-quality warning is not working. So I can see event notifications for start recording, stop recording, etc. And the % of valid data is being tracked. But when I block the eye-tracker, the eye info panel stops updating, and no warning messages come on. I didn't change the config for warning messages.

isolver commented 9 years ago

Ah, this is related to the parser being added. When in a blink, the parser collects samples but does not output any until the blink ends.

Since no samples are being output, the eye tracker status will not update.

Should change parser to output missing data samples as they come in, even though they will not have the interpolated values that the parser updates them with.

So really, it would be best if somehow the samples could be sent over the link in realtime, but only saved to the hdf5 file after the blink period ends and the samples can be updated before being saved.

garyfeng commented 9 years ago

Does it make sense to set a limit on blinks, say 1 sec, after which point the parser reports a state of missing data?

isolver commented 9 years ago

Missing data samples are queued up by the parsing filter until a non missing sample is found so that the velocity and position for each missing sample can be calculated by interpolating between the two valid samples that border on the series of missing samples. This interpolation is used to calculate filtered velocity and position data on the samples that border the missing data period without getting large transient effects.

This is only of importance to the parser filter and field filters. The interpolated samples are still flagged as missing data / invalid samples in the output sample stream.

So ideally, the parser filter should still output the missing samples as they are received, but we should also buffer the missing data samples like is being done now, but only for internal use by the parser filter. Then when a non missing sample is found, the internally queued up missing data samples would get interpolated and used for parser adaptive velocity calculations and field filtering of the filtered border samples around the missing data period, but would not get output again to the runtime client or hdf5 file.

I think this is doable, just need a bit of time to let the details settle in my head about the best way to implement it.

isolver commented 9 years ago

OK, First issue was that notifications all together were broken, due to the app config settings reorg that occurred when I split the app config file into 2 files, one for each app.

That is now fixed.

So the reported issue is what now remains and should be easier to fix now that notifications are working at all. ;)

isolver commented 9 years ago

sample issue fixed.