Gaze Contigent Display
Overview
gazecd is an implementation of a Gaze-Contingent Display which utilizes modern graphics hardware to achieve real-time frame rates.
Gaze-Contingent Displays (GCDs) degrade the resolution of peripheral image regions, generally in a manner consistent with human vision, e.g., by degrading resolution matching human visual acuity. In such applications, an eye tracker is used to track the user's gaze so that a foveal region moves with the user's (overt) focus of attention.
In vision research, GCDs extend the classic "moving window" experimental paradigm and are thus invaluable for the purpose of studying visual perception. By removing information beyond perceptual limits, GCDs match the resolvability of human vision, providing compelling visualizations of visual field defects.
gazecd allows the user to create a Gaze-Contengent Display by simply providing gazecd with a stimulus image/video and a degradation map.
Below is an example of gazecd at work.
Requirements
gazecd requires OpenGL version 1.5 or greater. In particular, gazecd requires that the ARB_vertex_program and ARB_fragment_program OpenGL extensions be present on your system at runtime.
gazecd can use the following libraries if they are present on your system:
xine | Used to play back video streams in real-time. |
DevIL | Used to load images. By default gazecd can only load PNM images. DevIL allows gazecd to load in just about any image format on the planet. |
At least one of the following libraries is needed to build gazecd:
SDL | Simple Direct Media Layer. |
GLUT | OpenGL Utility Toolkit. |
SCons is required to build gazecd.
Documentation
For instruction on how to operate gazecd please refer to the user's manual.
For instructions on how to improve gazecd, refer to the hacker's guide. The hacker's guide contains information on topics such as:
- Adding support for windowing toolkits.
- Adding support for your eye tracking hardware.
- Writing shaders to simulate visual field defects.
If you do make any changes to gazecd, please feel free to submit them for inclusion in the next release.
Supported Harware/Platforms
The following hardware is natively support in gazecd:
- ISCAN Eye Tracker
gazecd is known to work on the following platforms:
- GNU/Linux
gazecd was designed with portability in mind. It should work on any platform supported either by SDL or GLUT.
If your platform is not listed above, that does not mean gazecd will not work on your platform. We may not have had the chance to test gazecd on your platform. If you have successfully gotten gazecd to work on a platform not listed above, please let us know.
Download
The latest release of gazecd can be found at Source Forge.
You can also retrieve gazecd via CVS.
Support
Please send all comments/complaints/support requests to Nathan Cournia.
Links
Andrew Duchowski also has some GCD code here.