As my honors dissertation (small version of a master thesis), I chose to develop open-source software that can be used to break raw eye tracking data streams into segments or trials defined by event markers that denote events occuring in the real-world. The reason behind doing this project is that there currently exists an affordable eye tracker developed by
Pupil Labs, but it lacks the capability to have it's data broken down into trials based on outside markers. I've implemented a processing library called
Pupil-Lib that does exactly this. I developed a simple TCP transmission system that experiments can use to trasmit event markers between the recording and stimulation device and it also has a marker outlet stream that can be used with
Lab Streaming Layer (LSL). Pupil-Lib uses a flag to distinguish between which type of data is being loaded. After the data is loaded into the library, the event markers can be used to segment data from the raw stream and process those segments in various ways. For example, it can remove baseline measurements and produce data that is represented as a percent change relative to the baseline means of each of the trials.
Development is still continuing to produce a Python version of the software as it is currently only available in Matlab. There are also other small improvements that will need to be made in order to ensure that the segments are as precise and error-free as possible. The library (which is heavily documented and much more information) can be found through the following link:
Pupil-Lib