Eye tracking for fMRI

Background: If you are doing experiments that are sensitive to subject's eye position, e.g. an attentional study, which involves attending to different parts in the visual field without moving eyes, there's a chance that there still will be some unconscious eye movements made in the direction of the attended stimulus. In addition a moving stimulus might induce OKN or OKAN. In that case one needs to track the eye position with rather high precision (<1 deg of visual angle).

Below is a description of a system, which does eye tracking inside a scanner. The actual image processing of the eye image for determining the coordinate of the pupil center  is done by the ISCAN eye tracker, which produces two analog signals representing horizontal and vertical deviation of the pupil from the straight direction of gaze. These signals can be read in by a computer that presents the stimulus, and used to e.g. control stimulus presentation and, in principle, fMRI data acquisition conditional on the direction of gaze.

Here's the scheme of the "front end" of the eyetracker adapted for MR scanning:

 

If you are using a Mac Powerbook (e.g. G3 or G4) for your stimulus presentation, you're welcome to use the I/O and eye tracking Matlab code supplied below.

System requirements: an Apple Powerbook (G3 and above) that runs Matlab (v.5.0 and up) that runs Brainard and Pelli's PsychoToolbox for matlab that runs National instruments I/O card (e.g. DAQCard series PCMCIA card) that samples analog eye position data

Eye tracking is done in two steps:


1) Calibration with eyecalib.m. It is an iterative procedure using eye position feedback to the stimulus presentation screen.

2) Actual eye tracking. It is done by a single function EyeTracking.m , which is called in the stimulus presentation code multiple times (for initialization, data collection, etc. Use help EyeTracking to figure out the rest.
 

eyecalib uses a mex file analin, which handles analog inputs from the National Instruments DAQCard series PCMCIA I/O cards.

Usage: data=analin(# channels, # datapoints to acquire, us between samples)

Binary mex files for macs are here:          analin.mex         analin2ch.mex
analin2ch is a 2-channel version of analin.

Send bug reports to: giedrius@salk.edu


 

Light Trigger for Synchronizing Stimulus Presentation and fMRI Data Acquisition

If you are stuck with a scanner that has no output signal indicating the scanning status, such as Siemens Vision, you may have to work around that somehow. Our solution is to actually use an LED light on the scanner’s console keyboard, which is bright during scanning and dim otherwise. We use a simple phototransistor mounted on the keyboard to read the LED. The amplified signal is then fed to the I/O card (same as the one used for eye-tracking, see above) on the Powerbook G3 Mac. Geoff and myself have written a bunch of handy Matlab functions that do the calibration of the phototransistor, and actually trigger stimulus presentation off the LED. Interested? Send e-mail: giedrius@salk.edu


 

Event Related fMRI

Event related fMRI experiments are something pretty cool. Actually they slightly resemble peri-stimulus histograms of real neuronal responses. This says all for a neurophysiologist. For a non-neurophysiologist ERfMRI is cool because it affords randomization of sequences of various activations associated with sensory, cognitive, motor etc. acts of the brain. You can use multiple event types occurring either synchronously, or asynchronously. ErfMRI Matlab functions developed at SNLB can handle all these cases, and take into account noise level. Noise correlation functions for Hemodynamic Response (HDR) estimation can be obtained from an arbitrary slice or ROI.

If you are using the Stanford Matlab package for fMRI data analysis (mrLoadRet), and would like to upgrade it with event-related analysis, send me e-mail: giedrius@salk.edu


 

M-sequences for Event Related fMRI

The not-so-cool side of ERfMRI is that you need lots more of event repeats before you can get effects as reliably as those obtained by block design. Interestingly, some random sequences of events may yield more reliable estimate of fMRI response than others. Therefore, it is essential to figure out what are those most efficient event sequences. Recently I discovered that in fact a variety of pseudo-random sequences --m-sequences-- are the best in terms of fMRI response estimation efficiency. For detalis check out the PowerPoint presentation on M-sequence use for fMRI. (NOTE: PowerPoint generates HTML files with a bug such that some graphics is not displayed on the first opening of a slide. Use Refresh button on the browser to view those figures).

Below is a matlab toolbox that can be used for generating m-sequences, random sequences, and comparing the efficiency of estimating HDR afforded by them.

Mseq.zip         

Mesq text