Eye tracking support

Open Ephys now has basic support for recording and processing eye tracking information in real time. 

The processor called "Eye Tracking" can interface with the commonly used eye tracking systems such as ISCAN (http://www.iscaninc.com/) or search coil.

Eye tracking information (x,y, pupil) are sent over serial port or two analog ADC channels and transmitted to GUI processors using a unique message code (EYE_POSITION). The information can be saved to disk using the PSTH sink module. 

To allow proper visualization, network events module can listen for specific messages that indicate how the signal should be calibrated.

To define the position of a fixations spot, simply send a TCP/IP message using 0MQ to NetworkEvents with the following format:

"FixationSpotPosition <X> <Y> <ScreenWidth> <ScreenHeight>"

To indicate that your animal is actually fixating at that position, send the following message:

"CalibrateEyePosition <X> <Y> <ScreenWidth> <ScreenHeight>"

where X,Y is the position of the fixation spot.

 

Calibration procedures:

Currently, only fixed gain is implemented. That is, the user manually input the gain of each channel, and when a CalibrateEyePosition message arrives, it calculates the offset using the following equation:

Offset = RawEyePositionSignal - (FixationSpotPosition-ScreenCenter) / Gain


Future implementation will include automatic calculation of both gain and offset from two (or more) subsequent calls of "CalibrateEyePosition" (using least squares fit).