Analysis of video- oculography

Recording eye movements in children can be very challenging. We created a program that reads eye movement data generated by the SMI and OtoAccess eye trackers as well as eye movement data stored in plain text files. Operation of the software is fairly straightforward if you are familiar with eye movement data. Screen shots and brief descriptions of how to operate the program are given below.

You can download the free software package in a zip file clicking the download button.
By downloading you agree to the terms listed at the bottom of this page.



(File size 1.4 MB; Version 4.3; last updated 1/30/2018;  see change log
Requirements: -Windows XP, Vista, Server 2003, Windows 7 or 10 (32 or 64 bit) with appropriate privileges.
-Runs under WINE for Mac OS 10.8.5 and higher but with some limitations and lower performance (see screen shot).

To Install:
Simply download the zip file then extract the folder to your local drive. There are no additional installations. All dependencies are included. To uninstall the software simply delete the folder containing the software. No changes are made to your computer's system.


Getting started:
Click the 'Txt' button to load a file. Supported files are formated text files, formated CSV files, or data exports from SMI 2D-VOG or OtoAccess. I have included a sample formated text file (recorded during horizontal smooth pursuit). The eye movements were originally exported from an SMI 2D-VOG system at 60Hz. Notice that SMI data export accumulates an aliased target position-- the target is not actually stepping this way. This software automatically fits a smooth curve to the target.

The format of the text file: The first two lines start with a semicolon. The first line is only a comment and the second line contains a word describing the eye movement recording condition. This is then followed by binocular eye position data
;First line is a comment-sample data provided with the download, values in degrees
;pursuit
0,0,0,0,0.015,0,0,0,0,
0.017,0,0,-0.179,0.418,0,0,1.44,0,
0.033,0,0,0.036,0.418,0,0,1.44,0,
0.051,0,0.029,0.021,0.417,0,0,1.44,0,
...etc..

The columns can be separated by a comma, space, or tab and are in the order:
Time(s),
Reye Hpos
Reye Vpos
<optional> Leye Hpos
<optional> Leye Vpos
<optional> Rpupil
< optional > Lpupil
< optional > HTarget
< optional > VTarget

** note it doesn't matter if you have data for only one eye is arbitrarily labeled right eye. Also note that if you have target values, you must enter in numbers for both eyes and both pupils (set values to 0.0 if you don’t have the data).


Screen shots



You "activate" one eye for artifact rejection or adding a relative position offset by clicking and dragging on the trace.  The Help button describes the main form buttons and shortcut keys.

***Please note that not all data input options for SMI and OtoAccess are provided in this public release version****

Here is the menu available when you right-click the main screen. You can reject recording segments based on velocity, position, or pupil criteria.


The Parm button allows for many options. SP stands for smooth pursuit. Max interp points is the maximum number of samples to allow linear interpolation when data is rejected. For example, if your sample rate was 100 Hz, then a value of 6 would linearly interpolate for rejected segments that are up to 60 ms long.




Data Analysis
 

When you click the 'Calc' button, the program will perform data analysis as described in our publications. The action of the Calc button is dependent upon the second line of the input text file. Options are
pursuit
gaze holding
saccade
vertical saccade
OKN
vertical OKN
VOR
spontaneous nystagmus
vergence

For example, the sample data is a recording from a smooth pursuit task. When you press "Calc" you will see this panel appear that calculates the gain, phase, and offset for each target cycle. The output is also automatically saved to a text file (see below).





Here is the panel that appears for you to semi-automatically score each saccade. Move the vertical lines to fine tune the start and end of the saccade. When you accept a saccade, the relevant analysis values are automatically saved to an output file (see below).




For analysis of OKN, Gaze holding, VOR you can obtain basic information with the "Vlines" button, which creates 2 vertical cursors.




You can also visualize the data in a 2-D plot and in a 3-D animated simulation. The 2D plot allows you to add user defined position offsets and correction for rotation (e.g., head tilt, VOG miror rotation).







Data Ouput
The output file is automatically generated as a .CSV file and stored in the same folder as the program. You can see the filename is based on the subject name, eye, and condition. That means it can be read by many analysis programs that accept CSV files (like EXCEL, SPSS, etc.)


Where is the source code?
The software was developed using Seattle Children's Hospital (SCH) funds. SCH therefore owns the rights to the code. If there are any concerns about the function of the software please contact me via correspondence addresses stated in our publications. (eg, Kelly JP, Phillips JO, Weiss AH. Does eye velocity due to infantile nystagmus deprive visual acuity development? J AAPOS. 2017 Dec 27).


Older Versions:
Version 4.2 is available here.

License

The License for the software follows a restricted freeware / MIT license with additional disclaimers.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"). You are not granted permission to deal, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software. The above notice and this permission notice shall be included in all copies or substantial portions of the Software. You are not allowed to redistribute the software. You cannot use the software for payment, nor for use as any material for which the user is asked to pay. You are not entitled to hide or deny any copyrights.

THE SOFTWARE IS PROVIDED "AS IS." THERE ARE NO WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL JOHN KELLY OR SEATTLE CHILDREN'S HOSPITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.