Gazepoint OpenGaze API USER_DATA Update

As of Gazepoint release V4.2.0 the USER_DATA option in the OpenGaze API has been updated to include an optional duration tag. The DUR tag allows for embedding discrete events into the data stream. Previously if a USER_DATA value was set in the gaze data stream:

<SET ID="USER_DATA" VALUE="EXP1" />

The USER_DATA value would then be set for all subsequent data samples, which is useful for blocking off portions of the data stream, such as Experiment 1, Experiment 2, etc. The duration option allows embedding single events (DUR=1) which means only a single data record will be tagged with the event.

<SET ID="USER_DATA" VALUE="EVENT1" DUR="1" />

With this update it is possible to read other sensors such as serial port devices and then use the API to embed the results in the data stream. An illustrative example using MATLAB is shown below, where Control is running to generate the gaze data, and Analysis is running to collect the data. In the example the original use case is shown where USER_DATA is set to EXP1 for 1 second of data, EXP2 for 1.5 seconds and EXP3 for 2 seconds (a simple delay is used instead of the actual experiment). Following this the new USER_DATA capability is demonstrated using fictional events 88, 99, 101 (these could be A,B,C, or any other ID for the events).

The source code is available in the demo folder of the Gazepoint installation C:\Program Files (x86)\Gazepoint\Gazepoint\demo\