This manual describes the eyevec-control application. This is the most important application in the EyeVec software suite as it serves both as a front- and backend for eye-tracking experiments using the EyeVec eye-tracker.
The application can either operate in stand-alone mode or in server mode. When started by the user it’s running in stand-alone mode. You will use this when configuring the system or for playing/testing. When the application is started from the SDK then it is running in server mode.
The user-interface of eyevec-control is divided into pages with a button-bar for controlling which page to show. The following pages are present:
-
Camera page for checking whether the participant’s eyes are properly detected
-
Participant page for entering relevant participant features
-
Settings page for specifying eye-tracker settings
-
Setup page for defining the physical setup of eye-tracker, screen and participant
-
Test & Record page for testing and playing (only in stand-alone mode)
-
Playback page for playing back recordings or walk through them frame-by-frame
At the bottom (or bottom-right) of each page you’ll see a help/message area. The help area will display a text for the user-interface element your mouse cursor is hovering over. This area will also be used to show calibration results etc. If desired you can freeze the message for some element by clicking the concerned label. To unfreeze click the label again or click an empty area.
In the sections below we’ll provide a short description of the user-interface elements on each page.
Camera page
The camera page shows the eye-tracker camera image and, if enabled in the dispay settings, the extracted eye images. Purpose is to position the participant so their eyes are in view and to make sure the eyes are properly detected. You can then start the calibration procedure.
Overview
Main image
The main image shows the live camera feed with overlay graphics for each eye. The displayed image is roughly restricted (trimmed) to the region containing the eyes. The thumbnail shows the full image.
The participant should be positioned so the eyes and (partially) the forehead are visible. If you need to change the camera tilt and/or height then adjust the Setup page accordingly.
Thumbnail image
The thumbnail image shows a scaled down version of the full camera image. If face blob detection is enabled then a vertical line roughy indicates the center of mass.
Adjust the position the participant so the face is horizontally centered in the thumbnail image. The vertical line will be bright green if OK and orange or red if too far to the side. A red triangle will appear if there are too many saturated pixels, which can be caused by the participant sitting too close to the eye-tracker, a sweaty face, or due to bright non-face objects.
Right eye image
(not visible in screenshot) The right eye image shows the participant’s right eye (same as yellow eye box in main image). The right eye is the eye on the left in the main camera image. Visibility depends on display settings and on whether there’s room for in on the page.
Left eye image
(not visible in screenshot) The left eye image shows the participant’s left eye (same as yellow eye box in main image). The left eye is the eye on the right in the main camera image. Visibility depends on display settings and on whether there’s room for in on the page.
Frame rate [Hz]
The number of frames processed per second. The divisor shown represents the number of frames averaged if applicable. The division of the two numbers shown yields the effective frame rate.
Camera gain [dB]
Sum of camera base gain (specified in the Settings page) and temporary gain. If the image is too dark or is too saturated (white) you can increase respectively decrease the gain value to correct. Make sure the participant is sitting at the appropriate distance to begin with.
Camera gamma
Sum of camera base gamma value (specified in the Settings page) and temporary gamma value. If the participant’s iris appears rather dark compared to the pupil (as can be the case in blueish eyes) you can increase the separation between iris and pupil by decreasing the gamma value.
Iris-pupil separation
The iris-pupil separation indicator shows the average pixel level difference between iris and pupil. A value near 20 or below should be considered small. You should decrease the gamma value and/or increase gain in this case. A value around 30 or above is good.
Irises with a bright pupillary zone, will yield a large iris-pupil separation value. For very large values it might be necessary to increase the gamma value and/or decrease gain to avoid detection problems.
Distance [mm]
The estimated distance from camera lens to the participant’s eyes or the marker, if applicable.
IPD [mm]
The defined or estimated interpupillary distance. Will be estimated in baseline measurement if both eyes are detectable. Otherwise the value defined on the Participant page applies.
Note, this value is not the IPD as measured by an optometrist.
Iris right [mm]
The defined or estimated right iris diameter. Will be estimated in baseline measurement if the eye is detectable. Otherwise the value defined on the Participant page applies.
Iris left [mm]
The defined or estimated left iris diameter. Will be estimated in baseline measurement if the eye is detectable. Otherwise the value defined on the Participant page applies.
Pupil right [mm]
The estimated right pupil diameter. If no pupil edge detection is performed then the diameter is based on the area.
Pupil left [mm]
The estimated left pupil diameter. If no pupil edge detection is performed then the diameter is based on the area.
Load [%]
The load indicator represents the average relative processing time per frame. It should be less than 100%, otherwise the system will skip frames.
If the load approaches or exceeds 90% then you should probably disable some measurements (for instance turn off marker or iris edge detection), or lower the base frame rate, or use a faster computer system.
Focal length [px]
(not visible in screenshot) Focal length in pixels measured from camera reference point (orange line on lens) to an EyeVec marker placed at subject distance (as specified in Setup page).
You can use this information in the Setup page to overrule the default value which is calculated as <focal length [mm]> divided by <sensor resolution [mm/px]>.
Only present in stand-alone mode when performing the camera focus distance calibration.
Focal length [mm]
(not visible in screenshot) Actual focal length in millimeters calculated from the focal length in pixels (above) and the camara resolution.
Only present in stand-alone mode when performing the camera focus distance calibration.
Show pupil
Select whether you want to see the detected pupil center and/or edge in the main image.
Show CR
Select whether you want to see the detected corneal reflection center and/or the P-CR vector in the main image. The P-CR vector if displayed will be stretched and mirrored across the pupil for better visibility.
Show iris
Select whether you want to see the detected iris center and/or edge in the main image. Requires iris detection enabled.
Show marker
Select whether you want to see the detected marker center and/or other features in the main image. Requires marker detection enabled.
Show gaze
Enable this to see the current estimated gaze position as a small dot in the main image. If Mean is checked then only one dot will be shown representing the mean of the left and the right eye gaze. If Both is checked then two dots will be shown (green for right, blue for left). Estimate will be inaccurate if not calibrated.
Show expected
Enable this to display a graphic indication of the expected IPD, baseline pupil size and iris size as specified on the Participant page. The presented dimensions assume a subject distance as defined on the Setup page.
Start/stop
Activate this button to start (or stop) the eye-tracking system.
Only present in stand-alone mode.
Baseline
Activate this button to perform the baseline measurement or drop current baseline measurement results. Requires proper camera and participant setup. Participant should face forward and look at the displayed attention grabber. When ready hit Enter or space to collect data and finish.
The procedure will be repeated automatically (once) if the eye-tracking data is noisy.
After a succesful baseline measurement two info signs will appear under the button. Hovering the mouse cursor over the first info sign will show the baseline results (IPD, iris diameters and baseline pupil diameters) in the message area.
Example output 1:
Baseline results Distance from camera [mm]: 650 Interpupillary distance [mm]: 59.8 Iris diameter, right [mm]: 13.5 Iris diameter, left [mm]: 13.4 Pupil diameter, right [mm]: 4.7 Pupil diameter, left [mm]: 5.0
Hovering the mouse cursor over the second info sign will show noise measuments over pupil and CR. If these numbers are high compared to what you usually observe then the participant was not sitting still, or the eyes are not at the expected focus distance, or the eye-tracker’s camera is noisy due to being used above its acceptable operating temperature. Note, the R1 will give higher noise values than the R2.
Example output 2:
Baseline results (RMSE of predictor) Mean RMSE of moving linear regression of pupil position and CR position (x, y and L2 norm). The value in parentheses times 2...3 generally makes suitable LR-filter pupil resp. CR thresholds for current LR-filter length (48ms) and frame rate (500Hz). Pupil, right [px]: 0.022, 0.027 (0.035) Pupil, left [px]: 0.016, 0.023 (0.028) CR, right [px]: 0.012, 0.014 (0.019) CR, left [px]: 0.013, 0.018 (0.022)
Calibrate
Activate this button to start the [re]calibration procedure. To be performed after the baseline has been set. See keyboard shortcuts below about how to drop calibration results. On successful completion this will yield a set of eye vector to gaze position mapping functions.
After a succesful calibration two info signs will appear under the button. Hovering the mouse cursor over the first info sign will show the calibration results (retrospective mapping errors averaged over all targets) in the message area. The errors will all be 0 if the gaze mapping polynomials and the calibration points form a well-determined system. When they form an over-determined system (i.e. more calibration points than polynomial coefficients) then the errors will not be 0. In that case you still want them to be small (say, less than 0.25°).
Example output 1:
Calibration results Targets presented: 9 Retrospective mapping errors: mean [mm]: mean 1.275 (σ 0.506), min 0.742, max 2.131 right [mm]: mean 1.531 (σ 0.854), min 0.360, max 1.725 left [mm]: mean 2.301 (σ 1.201), min 0.899, max 4.108 mean [°]: mean 0.089 (σ 0.036), min 0.051, max 0.147 right [°]: mean 0.108 (σ 0.059), min 0.026, max 0.190 left [°]: mean 0.164 (σ 0.090), min 0.064, max 0.291
Hovering the mouse cursor over the second info sign shows a graphic representation of the average raw eye-vector for all presented targets. This information is more useful than the numeric information given by the first info sign.
Example output 2:
If visual inspection shows that some points are clearly invalid you should repeat the calibration. If a few points seem a bit out of place, then you could perform a recalibration to see if you can get slighty better results, but generally it’s not worth the effort. It is best to just accept the results unless some points are clearly off.
Validate
Activate this button to start the validation procedure or drop current validation results. To be performed after a successful calibration. On successful completion this procedure will, unless started in check-mode, select the eye vector to gaze position mapping function yielding the smallest mean gaze error for all validation points. In check-mode the current gaze mapping function will not be changed.
After a succesful validation two info signs will appear under the button. Hovering the mouse cursor over the first info sign will show the validation results (deviation from target position averaged over all targets) in the message area. The deviations should preferably be less than 0.5°.
Example output 1:
Validation results Targets presented: 9 (3 fair, 6 good) Deviation from target position: mean [mm]: mean 3.4 (σ 2.8), min 1.2, max 9.6 right [mm]: mean 5.2 (σ 3.5), min 0.6, max 10.9 left [mm]: mean 4.2 (σ 2.0), min 2.0, max 8.5 mean [°]: mean 0.24 (σ 0.20), min 0.09, max 0.70 right [°]: mean 0.36 (σ 0.25), min 0.05, max 0.79 left [°]: mean 0.30 (σ 0.15), min 0.14, max 0.62
Hovering the mouse cursor over the second info sign shows a graphic representation of the average raw eye-vector for all presented targets. This information is more useful than the numeric information given by the first info sign.
Example output 2:
The centers of the green (right eye), blue (left eye) and cyan (mean eye) ellipes should ideally lie inside the white target circles (0.5° radius). In the example output above there are three points where the gaze estimation error for one or both eyes exceeds 0.5°: upper-left, upper-right and middle-right.
If visual inspection shows that some points are too far off then the validation didn’t go well. If repeating the validation doesn’t show better results then the calibration might be bad.
The validation results only gives information about the tested points. Even if the validation shows very accurate results, the gaze estimation between the validated points might be less accurate, especially if the gaze mapping polynomial contains 2nd order components. |
Drift-check
Activate this button to start the drift-check procedure or drop current drift-check results and drift-correction gaze offset.
Should not use this function during an experiment. During an experiment you want drift-checks to be triggered by the experiment (usually ahead of a stimulus), not by the experimenter. |
After a succesful drift-check two info signs will appear under the button. Hovering the mouse cursor over these info signs produces information in the same fashion as under validation.
Proceed
(not visible in screenshot) Activate this button to leave (hide) the eye-tracker control interface and yield control back to your experiment.
Only present in server mode.
Keyboard shortcuts
The table below lists the most important shortcuts.
Function | Key |
---|---|
shift camera ROI vertically |
Ctrl+↑, Ctrl+↓ |
shift camera ROI horizontally |
Ctrl+←, Ctrl+→ |
increase/decrease temporary gain |
Shift+PageUp, Shift+PageDown |
increase/decrease temporary gamma |
PageUp, PageDown |
reset temporary gain and gamma |
0 (zero) |
show/hide expected IPD, iris size and pupil size |
z |
increase/decrease expected IPD |
→, ← |
increase/decrease expected baseline pupil diameter |
↑, ↓ |
increase/decrease expected iris diameter |
Shift+↑, Shift+↓ |
start/drop baseline measurement |
b or B |
save measured IPD, iris size and pupil size as participant features |
s |
start new calibration |
c or C |
drop last calibration |
k or K or Ctrl+click |
drop all calibrations |
Ctrl+k |
start/drop validation |
v or V |
start validation, check-only |
Ctrl+v or Ctrl+click |
start/drop drift-check |
d or D |
abort running procedure |
Esc |
show/hide test window |
F9 |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
start/stop slide show (for infants) on test window |
F12 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |
See also
Participant page
On the participant page you can alter relevant participant features to inform the eye-tracker of what roughly to expect. In most cases the defaults will suffice.
Overview
Age [years;months]
Specify participant’s age in years, or in years and months if the particpant is under 5 years. If left empty, 20 years is assumed.
Specifying this field allows the system to choose a more appropriate default Expected noise level, Interpupillary distance and Iris diameter.
Expected noise level
Specify the expected pupil and corneal reflection noise relative to the default noise thresholds. A value of 1 should refer to the adult participant (with "normal" eyes) who can sit still. A value of 2 would mean twice as much noise is expected.
This setting controls whether a target presentation will be repeated when too much noise was observed. For participants where a high noise level is expected or observed set this to a value between 1 and 1.5. To avoid targets being repeated for infants, use a value near 1.5 or above.
Note, increasing this setting does not improve data quality, it simply allows accepting noisy eye data during target presentation.
Interpupillary distance [mm]
Specify an estimate of the participant’s interpupillary distance asuming the participant is looking at the center of the calibration plane, or choose the default value (dependent on Age).
Specifying this value allows the system to estimate the distance from participant’s eyes to the eye-tracker (provided looking straight forward and no head yaw).
Iris diameter [mm]
Specify an estimate of the participant’s iris diameter, or choose the default value (Age dependent for 5 years and under). You can specify a different value for the right and left eye if desired.
Specifying this value allows the system to roughly estimate distance from participant’s eyes to the eye-tracker (only applies if only one eye marked as detectable and no forehead marker used) and to calculate the pupil size relative to the iris size.
Baseline pupil diameter [mm]
Specify an estimate of the baseline pupil diameter, or choose the default value (4.5mm). You can specify a different value for the right and left eye if desired.
Specifying this value allows the system to roughly know the possible pupil size range.
Eyelash direction
Specify the direction of the upper eyelid eyelashes. You can specify a different value for the right and left eye if desired.
Downward pointing eyelashes may partly occlude the iris and possibly the pupil, causing pupil edge detection errors.
Specifying eyelash direction informs the system whether or not to expect artifacts caused by eyelashes and if so to be more tolerant to artifacts caused by eyelashes.
Visual aids
Specify whether spectacles or corrective lenses[1] are being worn. For clean scratch free spectacles select None. You can specify a different value for the right and left eye if desired.
Spectacles may cause systematic gaze errors if the glasses are scratched or dirty, since scratches, smudges or dust particles cause local intensity changes on pupil and/or iris image that depend on head position. Hard contact lenses may interfere with the detection of the iris as its edge is visible as a thin line in the eye image.
Specifying if and which visual aids are being used tells the system to be more tolerant to artifacts caused by dust specks.
Note, for spectacles the pitch angle may cause the light of the illuminator (near infrared light) to reflect onto the eye-tracker camera, making it impossible to detect the participant’s eyes. This can only be solved by tilting the spectacle legs.
Iris occlusion
Specify the level of vertical iris occlusion. You can specify a different value for the right and left eye if desired.
-
None: iris (almost) fully visible, pupil visible, corneal reflection visible
-
Mild: iris slightly occluded, pupil visible, corneal reflection visible
-
Moderate: iris partly occluded, pupil (partly) visible, corneal reflection not always visible
-
Severe: iris severely occluded, pupil partly visible, corneal reflection not visible
Iris occlusion mostly occurs due to a narrow vertical palpebral aperture, a droopy upper eyelid, or a sagged upper eyelid skin fold. It can also happen for infants if reclined too far back and the subcutaneous fat below their eyes gets in the way of the eye-tracker’s view.
Specifying iris occlusion informs the system about the detectability of the iris, pupil and corneal reflection.
Lazy eye
Indicate whether the participant has a lazy eye.
The lazy eye can’t be used to determine the point of gaze. If can however be used in detecting the location of the participant’s eyes and to some extent to determine the distance of the face to the eye-tracker.
Specifying a lazy eye informs the system not to use that particular eye in the point of gaze calculation.
Dominant eye
Indicate the participant’s dominant eye, or select neither to assign an equal weight to both eyes. The dominant eye is the participant’s preferred eye for taking visual input from.
Specifying a dominant eye tells the system that for the point of gaze calculation it should assign more weight to the dominant eye than to the other.
Eyes detectable
Indicate whether both eyes are considered detectable.
If the participant is wearing an eye patch over one eye or has a pathological condition on one eye that can’t be handled by the eye-tracker then that eye is considered not detectable. If the participant has one prostetic eye then it might either be flagged as a lazy eye or as not detectable.
Specifying a non-detectable eye informs the system to completely ignore that particular eye.
Save
Activate this button to make the current participant features persistent. Requires unlocking first.
Keyboard shortcuts
Function | Key |
---|---|
show/hide test window |
F9 |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |
See also
Settings page
On the settings page you can specify which features to detect/measure and also configure various eye-tracker settings.
Overview
Detect face blob
Enable this to check if there’s a bright blob visible in the camera image and assume it to be a face. Normally you should leave this on.
The face of the participant sitting in front of the eye-tracker will be illuminated by near infrared (NIR) light, causing the face to stand out in the camera image, whereas the surroundings of the face will (in general) be dark as there’s nothing reflecting the light. Monitoring the bright blob in the camera image gives a good indication of face presence and allows estimating the face center, which improves robustness.
For infants sitting on caregiver’s lap or in a baby chair this option will only work if the fabric behind the infant’s head absorbs most of the NIR light.
Analyze thumbnail
Enable this to analyze the thumbnail image for a preliminary estimate of the location of the eyes. This makes the eye detection more robust in eye-loss situations. You generally want to leave this on.
When enabled you should see a thin horizontal line in the thumbnail image at eye height. If the line is heavily jumping between the eyes and other objects (e.g. spectacle frame) you can disable this option.
The thumbnail analysis will not be performed if marker detection is enabled or if the image height is small (i.e. frame rate above 500Hz).
Detect EyeVec marker
Enable this if you want to determine the distance of the participant’s head to the eye-tracker by using an EyeVec marker placed above the nose on the participant’s forehead.
Note, the system doesn’t require using a marker. However using a marker improves eye location detection robustness (especially in single eye cases).
You can print the EyeVec marker on sticker paper yourself or order a roll of marker stickers at https://www.eyevec.com.
Detect iris
Enable this to estimate the visible iris edge. This yields iris center and diameter, and a rough estimate of vertical eye opening.
The iris occlusion level specified on the Participant page controls which segments of the iris circle will be scanned to find the iris edge.
Calibration type
Select the calibration type to be used. For the best accuracy over a large screen area it’s best to use one of the square patterns (4-point square, 5-point square, 9-point or up). The 1-point, 2-point and 3-point patterns should only be used if a coarse indication of gaze position is acceptable.
If a custom pattern is selected but its pattern data is not defined (by the controlling experiment program) then the default 9-point pattern will be used.
Validation type
Select the validation type to be used. For a good indication of overall accuracy select a pattern that also contains points not presented during calibration.
If a custom pattern is selected but its pattern data is not defined (by the controlling experiment program) then the default 9-point pattern will be used.
Shuffle target order
Enable this to shuffle the order of calibration/validation targets ahead of each calibration/validation run.
Self-paced (key press)
Enable this to make the calibration/validation procedure self-paced. Hitting space or Enter will trigger the target transition from phase 2 to phase 3.
Self-paced (mouse click)
Enable this to make the calibration/validation procedure self-paced. Clicking the center of the displayed target will trigger the target transition from phase 2 to phase 3.
Preset target timing
To collectively adjust the target timing settings (phase 1..4 duration, symbol duration and intertarget duration) tick one of the boxes. The infant timing assumes you will be presenting image targets.
Target phase 1 [ms]
Specify the duration of target phase 1. This is the first part of the attention getting phase. In this phase a fairly large attention grabber target will fade in. The attention grabber is a disk containing either a solid color, or a slowly rotating image.
Target phase 2 [ms]
Specify the duration of target phase 2. This is the second part of the attention getting phase. The target size remains steady during this phase.
If one or both of the self-paced options are ticked then the duration specified here will be irrelevant.
Target phase 3 [ms]
Specify the duration of target phase 3. This is the focus-in phase during which the attention grabber target will scale down leaving a black target disk (default visual angle 0.35°) with a white center disk (default 0.15°). At the start of this phase the calibration sample collection begins.
Target phase 4 [ms]
Specify the duration of target phase 4. This is final phase during which calibration samples will be collected. The size of the black target disk remains steady during this phase, but the size of the white center disk modulates (amplitude 25% of nominal size).
Target symbol [ms]
Specify the duration of target symbol display during phase 4. The target symbol is an upright or rotated cross (randomly chosen) displayed at target center during last part of phase 4. During target symbol display the white center disk will be frozen (not modulating) at the nominal size times 1.25.
You can use this option to encourage the participant to really look at the target center, by instructing them for example to (silently) name the symbols.
Intertarget interval [ms]
Specify the duration of intertarget interval. No target will be visible during this interval.
Synthesize points
Enable this to complement calibration results for patterns with less than 9 points with synthetic eye data. This assumes that the eye to gaze mapping is roughly linear and symmetric (check after calibration).
Recommended for the 2- and 3-point patterns, the 4- and 5-point diamond patterns and the 6- and 7-point patterns.
Record eye images
Enable this to record eye images during baseline, calibration and validation. It will use the storage type (memory or ramdisk) defined on the Test & Record page.
This setting is not persistent.
Frame rate [Hz]
Select the number of frames per second to process.
If you want to select 125Hz you might instead consider selecting 250Hz with Frames averaged set to 2 (or alternatively 500Hz / 4).
R2 specific: If you do select 125Hz, make sure to set the aperture of the camera lens above 2.8 (say 3.4 that’s halfway between 2.8 and 4), and adjust the focal ratio setting accordingly.
The actual number of gaze samples per second produced depends on whether frame averaging is enabled (see Frames averaged setting).
Duty-cycle [%]
Specify the exposure duty-cycle, or accept the default value (recommended).
The duty-cycle setting represents the exposure time (i.e. shutter time) as a percentage of the frame period. To reduce possible movement blur with lower frame rates you could reduce the duty-cycle. This will however increase the image noise.
Camera base gain [dB]
Specify the camera base gain, or accept the default value (recommended).
Generally you only want to touch this if the image is consistently too dark or has too much saturation (white) in your setup. The total camera gain will be the sum of a fixed gain, a framerate dependent gain, a duty-cycle dependent gain, a focus distance dependent gain, a focal ratio dependent gain, the base gain and the user controlled temporary gain (see Camera page).
Camera base gamma
Specify the camera base gamma, or accept the default value.
Setting the gamma value below 1.0 will produce more detail in dark areas (e.g. iris and pupil) at the cost of less detail in bright areas, and vice versa. 1.0 means no different treatment of dark and bright areas. The total gamma value used will be the base gamma value plus the user controlled non-persistent gamma value (see Camera page).
Eye position noise filter [%]
Specify a value above 0% to apply a noise suppression filter on pupil and CR position. This filter will have maximum effect at 100% and no effect at 0% (best is 50..70%).
This is a non-linear noise suppression filter that by design has no effect during head movement or saccades. It improves precision RMS-S2S during fixations. Perform a precison analysis with and without this filter to verify.
Note, if you need stable online gaze data this filter won’t help much. You might prefer the Eye features filter in this case.
This filter is not recommended for sample rates below 500Hz, unless with a low filter weight.
Eye features filter
Specify the order of the eye features filter. If non-zero the filter is enabled and the pupil, CR and iris features will be noise filtered.
When set to 1, 2 or 3, the filter calculates a weighted average of all estimated eye features (position being the most important one) over resp. the last 3, 5 or 7 frames at the cost of a 1, 2 or 3 frame data delivery delay.
Depending on the Gaze estimation method the filter will reduce variance of the gaze estimate.
Frames averaged
Specify the number of frames to be averaged per gaze sample. The default is 1 (i.e. no averaging done). Averaging takes place after filtering, if applicable.
This option improves precision STD (not precision RMS-S2S) but reduces the effective frame rate.
Gaze estimation method
Select the gaze estimation method to be used. Normally you will choose the Pupil-CR vector method. If None is selected then calibration, validation and evaluation will be disabled.
The Pupil only and CR only methods require stabilizing the participant’s head using a bite bar, chin rest or head rest. It is recommended to also use the forehead marker with these methods.
Save
Activate this button to make the current settings persistent. Requires unlocking first.
Keyboard shortcuts
Function | Key |
---|---|
show/hide test window |
F9 |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |
See also
Setup page
The setup page defines the physical setup of eye-tracker in the test environment, and also defines the properies of the camera lens. The entered dimensions enable converting visual gaze angles to screen pixels or millimeters. Normally you will enter these values only once.
Overview
Eye-tracker stand
Select the type of eye-tracker stand.
The EyeVec stand offers three notches at different heights. It is recommended to use the middle or upper notch, except if the eye height is relatively low, in which case a lower eye-tracker placement might be more suitable.
If you change this make sure to also update the Camera to screen distance if applicable.
Camera height from desk [mm]
Specify the vertical distance from desktop to the camera pivot axis, or choose the default value (dependent on Eye-tracker stand). See dimension line A in the drawing.
Camera to screen distance [mm]
Specify the horizontal distance from camera pivot axis to vertical screen center, or choose the default value. See dimension line B in the drawing.
Screen center from desk [mm]
Specify the vertical distance from desktop to vertical screen center, or choose the default value. See dimension line C in the drawing.
Eye height from desk [mm]
Specify an estimate of the vertical distance from desktop to the participant’s eyes. See dimension line D in the drawing.
Subject distance [mm]
Specify the distance at which the eye-tracker camera should produce a sharp image. See dimension line E in the drawing.
To make the camera focus at this distance follow instructions on the Calibrating camera focus distance page. Once you have calibrated the camera focus do not re-adjust the focus when tempted; if participant’s eyes are out of focus, you should adjust their chair, not the camera.
Camera lens focal length [px]
Specify the camera lens focal length in camera pixels in case you want to use the value produced by the camera focus calibration procedure. Special value 0 means use an auto-calculated default value (<focal length [mm]> divided by <sensor resolution [mm/px]>).
To use this setting please follow instructions on the Calibrating camera focus distance page.
Camera lens focal length [mm]
Specify the metric focal length of the camera in case a non-standard lens is mounted or if you want to fine tune the focal length instead of using the nominal value. Special value 0 means a device dependent default (16mm for the R1, 25mm for the R2) will be used.
It is recommended to keep this setting set to default. If however you do want to adjust it please follow instructions on the Calibrating camera focus distance page.
Camera lens focal ratio
Specify the focal ratio (i.e. f-number) the camera lens iris is set to. Special value 0 means a device dependent default will be assumed.
It is recommended to keep the camera lens iris at the default position (2.0 for the 16mm lens, 2.2 for the 25mm lens).
Screen number
Specify the number of the screen below which the eye-tracker is placed. Special value 0 means use the same screen the eyevec-control application is shown on.
Screen width [mm]
Specify the width of the screen. For regular screen-based eye-tracking select the default value 0, in which case the width will determined by the system.
In case your stimuli will be presented using a beamer or other means (e.g. physical objects held by a person) then you should specify the dimensions (both width and height) of the calibration plane. Make sure to also specify the actual Camera to screen distance.
Screen height [mm]
Specify the height of the screen. For regular screen-based eye-tracking select the default value 0, in which case the height will determined by the system.
In case your stimuli will be presented using a beamer or other means (e.g. physical objects held by a person) then you should specify the dimensions (both width and height) of the calibration plane. Make sure to also specify the actual Camera to screen distance.
Dimensional drawing of setup
The drawing shows the dimensions as entered.
Save
Activate this button to make the current setup persistent. Requires unlocking first.
Keyboard shortcuts
Function | Key |
---|---|
show/hide test window |
F9 |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |
See also
Test & Record page
The purpose of the test & record page is so you can easily test the device. You can record eye-tracking data (CSV) for various stimulus presentation types. Optionally image files for one or both eyes can be recorded too. The recording can be viewed from the Playback page.
This page is only available in stand-alone mode; not when controlling the eye-tracker from the SDK.
Overview
Shuffle item order
Enable this to shuffle the order of stimulus items.
Animate target
Enable this to animate (fade in, size down and modulate) targets.
Use default settings
Enable this to use default timing and screen margins for presentation of targets. If disabled the current settings from the Settings page will be used. Note, for the moving dot tests the screen margins used are fixed and won’t be affected by this option.
Analyze gaze error
Enable this prior to one of the dot pattern tests to perform a post-test gaze error analysis. When enabled the data collection procedure is the same as during calibration or validation. This means only during target phase 3 and 4 will any data be collected. This option is only available if a calibration has been performed.
For the most complete analysis be sure to use a calibration pattern with many points (the gaze mapping resulting from the calibration won’t be used for the test). Then select a dot pattern test with many points (preferably more than in calibration) and repeat the test a few times and check the analysis files to see if the results are consistent.
See Gaze error analysis results for the created analysis output files (text and CSV).
Open data file
Enable this to create an eye-tracking data file. The file will remain open as long as the checkbox is ticked. This enables including calibration data etc. and gaze data for multiple test runs if desired.
See Evaluation results for the created eye-tracking data file (BED).
Close data file after test
Enable this to make sure the eye-tracking data file (see Open data file) is closed after running a test. Note, enabling this might stop the recording during a fixation, which means this last fixation can not be analyzed.[2]
Reference number
Specify a reference number to include in the eye-tracking data file name. This may be convenient when evaluating the EyeVec system for multiple participants or situations. See Open data file.
Record eye images
Enable this to record eye images to memory or ramdisk. Recording images for both eyes at 500Hz yields 1000 files/s. For a standard configuration each eye image takes about 32..40kb. So storage may fill up quickly.
This application does not check if there’s enough space available. However there’s an adjustable restriction on the amount of data you can record.
Eye image storage
Select where to store eye images if applicable. If you want to process the images using an external program choose Ramdisk, otherwise choose Memory.
If you choose Ramdisk please check if the load reported on the Camera page is less than 80%. If the load is high turn off iris edge detection and/or marker detection, or select only one eye to record.
Start
Activate this button to run the selected test and record requested data. All currently present eye images will be deleted.
You don’t need to run the test all the way to the end. You can abort at anytime; the data collected so far won’t be lost.
Following the test you can graphically playback the recording from the Playback page.
Stop
Activate this button to abort a running test. You can abort a running test at anytime; the data collected so far won’t be lost.
Clear
Activate this button to delete currently present eye-images.
Right eye image
Shows the participant’s right eye. The right eye is the eye on the left in the main camera image.
Left eye image
Shows the participant’s left eye. The left eye is the eye on the right in the main camera image.
Test screen mirror
This rectangle represents a scaled down version of the test window. During the test the stimulus position and estimated gaze (if available) will be displayed here.
Show pupil
Select whether you want to see the detected pupil center and/or edge in the eye images.
Show corneal reflection
Select whether you want to see the detected corneal reflection center and/or the P-CR vector in the eye images. The P-CR vector if displayed will be stretched and mirrored across the pupil for better visibility.
Show gaze
Enable this to see the estimated gaze position (if available) on the test window during the test or explicitly when test window is made visible via F9.
Keyboard shortcuts
Function | Key |
---|---|
show/hide test window |
F9 |
show/hide calibration grid lines in test window |
L |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |
Playback page
Here you can walk through or playback the eye data recorded for the last baseline, calibration, validation or drift-check procedure run, and for the test run from the Test & Record page.
Overview
Right eye image
This shows participant’s right eye (if recorded) and other graphic information for the selected the Frame number.
Left eye image
This shows participant’s left eye (if recorded) and other graphic information for the selected the Frame number.
Test screen mirror
This rectangle represents a scaled down version of the test window. The stimulus position and estimated gaze (if available) will be displayed here. Post validation, the average gaze estimate and SD for each presented target can be displayed too (see Camera page for explaination of graphics).
Frame number
Adjust this to control which eye image (pair) is shown in the viewing area above.
Playback speed
Adjust this to speed up or slow down the eye image recording playback. This uses a logaritmic scale from 0.1% to 1000%. If the playback speed exceeds the monitor’s refresh rate (typically 60Hz) then frames will be skipped.
Show pupil
Select whether you want to see the detected pupil center and/or edge in the eye images.
Show corneal reflection
Select whether you want to see the detected corneal reflection center and/or the P-CR vector in the eye images. The P-CR vector if displayed will be stretched and mirrored across the pupil for better visibility.
Show gaze
Enable this to see the estimated gaze position (if available) in the playback window. This will also open the playback window if not yet opened.
Pupil, CR, P-CR, gaze graph
The upper graphs show the right/left pupil and/or CR position (in camera pixels) as function of time. The lower graphs show the right/left P-CR and/or gaze position (in camera pixels, resp. position on test screen) and/or gaze class as function of time.
All graphs except for gaze are auto-scaled. All upper graphs use the same scaling factor (offsets will differ). Similarly the lower P-CR graphs use the same scaling factor (offsets will differ). For the gaze graphs the scale corresponds to the full test screen. The height of the black bar represents ten camera pixels in the upper graphs and one camera pixel in the lower graphs. The time grid lines are 10ms apart. The red line indicates the current frame.
Plot pupil
Select whether to plot the pupil x- and/or y-position in the upper graphs. Use the Raw checkbox to toggle between filtered and unfiltered pupil position data.
Note, since the difference between filtered and unfiltered data is is typically at subpixel level you might not notice the difference if the recording contains large eye or head movement.
Plot CR
Select whether to plot the corneal reflection x- and/or y-position in the upper graphs. Use the Raw checkbox to toggle between filtered and unfiltered CR position data.
Note, since the difference between filtered and unfiltered data is is typically at subpixel level you might not notice the difference if the recording contains large eye or head movement.
Plot pupil-CR
Select whether to plot the P-CR x- and/or y-vector in the lower graphs. Use the Raw checkbox to toggle between filtered and unfiltered P-CR vector data.
Plot gaze
Select whether to plot the gaze x- and/or y-position in the lower graphs. Use the Raw checkbox to toggle between filtered and unfiltered gaze position data.
To see the gaze classification for the mean eye tick Class mean. This will show a colored horizontal bar a the top of both lower graphs. To see the gaze classification for each eye separately tick Class both. This will show a second bar below the mean bar. The color assigmnent is as follows: fixation: blue, saccade: red, blink: gray, undefined: no color
Keyboard shortcuts
Function | Key |
---|---|
move forward/backward |
→, ← |
jump to first/last frame |
Home, End |
move to next/previous stimulus onset |
Shift+↑, Shift+↓ |
move to next/previous blink/gap onset |
Ctrl+↑, Ctrl+↓ |
move to next/previous fixation onset |
↑, ↓ |
start/stop playback |
space |
increase/decrease playback speed |
PageUp, PageDown |
export eye-tracking data (excluding images) to CSV file |
Ctrl+e |
show/hide separate playback window |
F9 |
show/hide calibration grid lines in playback window |
L |
show/hide right gaze estimates (post validation) |
r |
show/hide left gaze estimates (post validation) |
l |
show/hide mean gaze estimates (post validation) |
m |
show/hide mean of right and left gaze in playback window |
g |
show/hide gaze for both eyes separately in playback window |
G |
toggle maximize window |
F10 |
toggle fullscreen window |
F11 |
save timestamped screenshot of window in PDF format |
Ctrl+F12 |
save timestamped screenshot of window in SVG format |
Shift+F12 |
save timestamped screenshot of window in PNG format |
Ctrl+Shift+F12 |