Home
        1 Video Eyetracker Toolbox
         Contents
1.                      MONITOR TYPE The manitor that you ere currently using  I your maritar             Fig 9  Documentation within vsgDesktop    Non Computer based Custom Display Device    If you are planning to use the Toolbox with a custom presentation  device you cannot calibrate the device directly  Instead you must  define the bounding dimensions of the device using the Toolbox   s  programming interface  This can be achieved using the function  vetSetDeviceParameters and passing the parameter  CRS deUser followed by the viewing distance and finally the  Width and Height of the device     Setting the Toolbox   s presentation device to CRS deUser  activates the vetSetCallbacklnitialiseDisplay   vetSetCallbackClearDisplay and vetSetCallbackDrawTarget  event call back procedures during the subject calibration process   These call backs can then be used to present targets at defined  locations to the subject during calibration  More information  regarding vetSetDeviceParameters and the callback functions can  be found in the Appendix A at the end of this manual        20    Video Eyetracker Toolbox Calibration    Positioning and Focusing your Subject  Imaging        The EyeLock headrest is designed to image the eye in a way that  is both safe and minimally invasive to the subject  It achieves this  via an infrared mirror  which appears transparent to the subject  while keeping the camera  and illumination sources out of their  field of view     The Toolbox is designed for ro
2.    During tracking  the Toolbox is able to accommodate fast eye  rotations  sudden head movement and changes in pupil size  By  imaging in the infrared  it is also relatively immune to changes in  ambient illumination and can accommodate a wide range of  spectacles or contact lenses  The system is intelligent enough to  know whether or not an eye is present in the video images  This  subject is therefore free to blink or take breaks between eye  tracking tests  if necessary  without the need to recalibrate each  time  The system can return eye position in Fick  Helmholz or  screen position in millimetres and will automatically return    Not  Tracked  if it detects that an eye is not present in the video image     videoEyetrace will automatically terminate saccade  smooth  pursuit or bitmap image tasks at the end of their defined duration     Alternatively  any eye tracking task can be terminated using the  stop icon on the main toolbar     9    Fig 42  Stop Icon       47    Video Eyetracker Toolbox videoEyetrace    Saving and Loading    videoEyetrace can save and load Data files  These can be saved  and opened either via the File menu or the Save and Open  buttons on the toolbar     Data Files    ved     The default videoEyetrace data files are text files containing all  the results collected from an eye tracking experiment  The header  section summarises the experiment in terms of the type of  stimulus used and the duration of the experiment  The header  section also states 
3.    error  Video Source not selected      end        68    Video Eyetracker Toolbox Communication    o      Calibrate the video eyetracker  vetCreateCameraScreen    errorCode   vetCalibrate    if errorCode  0   error  Calibration not completed      end      Create the Mimic Screen window  vetCreateMimicScreen   vetSetMimicScreenDimensions 400  0  400  300    vetSetFixationPeriod 300     vetSetFixationRange  10     vetSetMimicPersistenceType  CRS ptMotionAndFixations      Subject Calibration    VET Camera Window       Gy calibrating   step 16 of 20    Sy VET Camera Window i        E  Pupil Target Diameter  2   mmm e     Save as Default Calibration Cancel   Ok          Fig 60  250 Hz Live Camera and Calibration Windows   Calibration in Progress     The next section of code defines the colours  size and shape of all  stimuli and draws the stimuli into video memory  In this example  we have chosen a green circle as the fixation target and red  circles as saccade targets  All circles have a viewed diameter of  0 3 degrees       Set the palette and pen levels for drawing red and    green dots on a mean grey background     GreyLevel   1  GreyRGB    0 5  0 5  0 5    crsPaletteSetPixelLevel GreyLevel   GreyRGB     RedLevel   2  RedRGB    1 0  0 0  0 0    crsPaletteSetPixelLevel  RedLevel  RedRGB     GreenLevel   3  GreenRGB    0 0  1 0  0 0      crsPaletteSetPixelLevel GreenLevel  GreenRGB          69    Video Eyetracker Toolbox Communication      Draw the fixation point and target on 
4.   Fig 56  Select Stimulus Monitor    Select the appropriate monitor by clicking the relevant button  The  following lines of code will now display the stimulus image on the  chosen stimulus monitor        61    Video Eyetracker Toolbox Communication      Pick a stimulus image  and get the full path to the    file   The image file must be on your MATLAB path    ImageFile   which  Glasgow bmp         Read the selected image file  getting both the image    and the palette data    Image Palette    imread ImageFile  7      Create a figure window to display the stimulus    Load the bitmap image onto the selected monitor   Scaling appropriately    FigurelHandle   figure 1   AxesHandle   axes   set AxesHandle   Position    00 1 1       set FigurelHandle   MenuBar                  none   ToolBar   none     Position  SelectedPos     imagesc  Image      colormap  Palette     axis   oft       The same stimulus image will now be loaded onto a Mimic screen  on your Windows monitor      Create Mimic Screen and load Bitmap image  vetCreateMimicScreen   vetSetMimicScreenDimensions  400  0  400  300    vetSetFixationPeriod  300      vetSetFixationRange  10     vetSetMimicPersistenceType  CRS ptMotionAndFixations    vetLoadBmpFileToMimicScreen ImageFile 1      Notice that the Mimic screen has been set to show any fixations  which last for at least 300 milliseconds within a 10mm cluster  The  Toolbox will now track for 30 seconds  All eye movements and  fixations will be output to the Mimic wind
5.   e The draw mode will be set to CRS CENTREXY       33    Video Eyetracker Toolbox Calibration    e Any page cycling entries and stored LUTs should be  considered lost    Dual VGA    Video Eyetracker Toolbox creates a separate window to display  the calibration targets  This window is then destroyed after subject  calibration has been completed  Consequently  it is not necessary  to reset the stimulus window after calibration     Custom Device    The Toolbox has no direct influence over the state of custom  devices that are used with it  Cleaning up of the display after  Calibration is left entirely to the responsibility of the user        34    Video Eyetracker Toolbox videoEyetrace     d    In this section       Overview 36  The videoEyetrace Window 36  Initialising the Video Eyetracker Toolbox Camera 37  Changing Stimuli and Settings 40  Changing View Options 41  Graph Tab 42  Configuration Tab 43  Mimic Tab 43  EIB Tab  High Speed System Only  44  Eye Tracking 45  Saving and Loading 48  Data Files    ved  48  Custom Results Data Files    ved  49  MATLAB Data File    mat  49  Mimic Image    bmp  49       35    Video Eyetracker Toolbox videoEyetrace    Overview    It is important to remember that the software component of the  Video Eyetracker Toolbox is implemented to enable eye tracking  functionality to be accessed and controlled from MATLAB or any  Windows programming tool that supports Microsoft COM   However  for completeness and ease of use  the Toolbox is also  supp
6.   the Library Topics section on Triggering in the Documentation  supplied in your vsgDesktop for further details      The combined values for these three lines are returned to your  program as the DigitallO parameter in the data set for each  frame  Fig 47 displays the possible values for this parameter and  the corresponding states of the three channels     DigitallO Channel State  Value Line 2 Line 1 Line 0     o0 fF WM    o      E        O O OO    ES o Fee            NC      BN     Foe     Ec     NOS    Fig 47  Combined Digital I O Values    The fourth digital I O line is an output trigger  This line is set high  whilst the Toolbox is tracking and low when the Toolbox is not  tracking  Fig 48 describes the inter connections for the four digital  I O lines between the 25 way D type connector and the digital I O  lines of a ViSaGe or VSG2 5          When changing the state of a line it is good practice to allow for a transition period so that it  becomes impossible for a line to be read at the precise moment that it is being set        53    Video Eyetracker Toolbox Communication    Digital I O Pin on 25 way D type ViSaGe or VSG2 5  Line Connector 1 O Line  0 DOUT 6  1 DOUT 7  2 DOUT 8  3 21 DIN 7    Fig 48  Digital I O Pin Out Details    Synchronisation     High Speed Systems    Eyetracker Interface Box    Inputs    The High Speed system must be used in conjunction with the  Eyetracker Interface Box  EIB   Details of how to connect this are  available in the Hardware Instal
7.  1 is designed to demonstrate basic eye tracker  functionality in a Dual VGA configuration and is suitable for use  with the 50 Hz and High Speed systems  This example displays a  single bitmap image  calibrates your subject  tracks subsequent  eye positions for 30 seconds  displays the results and finally  saves the collected data to a file     This demonstration does not require a CRS Visual Stimulus  Generator  VSG  but assumes you are using a dual Windows  display configuration with the Primary output set to your Windows  desktop monitor and the Secondary output set to display the  visual stimulus  See the Dual VGA section in the Calibration  Chapter for further details     Run the demoVET_simpleVGAstimulus m script  The following  lines of code initialise the Video Eyetracker Toolbox system and  the stimulus display device        58    Video Eyetracker Toolbox Communication    function demoVET_simpleVGAstimulus      Declare CRS MATLAB constants  global CRS   if isempty CRS   crsLoadConstants  end       Set the stimulus device to Dual VGA    For use with a VSG  use the constant CRS deVSG   vetSetStimulusDevice  CRS deVGA                           Ask the user to select a video source   errorCode   vetSelectVideoSource  CRS vsUserSelect     if  errorCode lt 0   error  Video Source not selected      end         which will open the window shown in Fig 54    select video source      select source   camera    Video Eyetracker Camera es  ad Device Type  Cancel    Standard Camer
8.  106  vetSetDeviceParameters 106       82    Video Eyetracker Toolbox    vetSetEIBLEDsEnabled  vetSetEIB_XYOutputType  vetSetFixationPeriod  vetSetFixationRange  vetSetMimicBackgroundColor  vetSetMimicFixationColor  vetSetMimicPersistence  vetSetMimicPersistenceStyle  vetSetMimicPersistenceType  vetSetMimicScreenDimensions  vetSetMimicTraceColor  vetSetStimulusDevice  vetSetUlMonitor  vetSetViewingDistanceMM  vetStartRecordingToFile  vetStartTracking  vetStopRecording  vetStopTracking    vetSetCallbackClearDisplay  vetSetCallbackCollectResults  vetSetCallbackDrawTarget  vetSetCallbackFixate  vetSetCallbacklnitialiseDisplay  vetSetCallbackRegionChanged    Appendices    107  108  108  109  110  110  111  111  112  113  113  114  115  115  116  116  117  117    117  118  119  119  120  120       83    Video Eyetracker Toolbox Appendices    vetAddRegion    Video Eyetracker Toolbox Regions Of Interest are intended to  assist with fixation monitoring tasks  These regions are defined as  rectangular patches lying in the plane of the stimulus display   There may be as many regions as you wish  but no two regions  may overlap  Each region has a unique identifying number  called  the regionHandle  If the subject s direction of gaze intersects a  region  that region s identifying number is recorded in the Video  Eyetracker Toolbox data buffer along with all the other eye  position data that is being collected  The currently active region s  RegionHandle can also be obtained using the  v
9.  53 for details     Data dropped     A Boolean value where 0   FALSE and 1   TRUE  Data trigln      High Speed system only  EIB Trigger input values     See also    vetIsEyeDataAvailable  vetGetLatestEyePosition  vetClearDataBuffer       92    Video Eyetracker Toolbox Appendices    vetGetCalibrated    This function returns True if the subject has been calibrated and  False otherwise  You can use the vetCalibrate or  vetCalibrateAdvanced functions to calibrate your subject s  direction of gaze     MATLAB Syntax   isCalibrated    vetGetCalibrated     Return Values    isCalibrated     A Boolean  1 x 1 matrix  where 0   FALSE and 1    TRUE     See also    vetGetPupilCalibrated    vetGetEIB_LEDSENABLED    This property will determine whether the Eyetracker Interface Box  LEDs are currently set on or off  This property  when read  will  return true or false accordingly   MATLAB Syntax   LEDsEnabled   vetGetEIB_LEDsEnabled     Return Values    LEDsEnabled     A Boolean  1 by 1 matrix  where 0   FALSE and 1    TRUE    See also    vetVideoSourceType  vetSetEIB_LEDsEnabled    vetGetEIB_ XYOutputType    This function will return the XY output type for the Eyetracker  Interface Box   The values output on the two analog channels         93    Video Eyetracker Toolbox Appendices    These can either be 100 mm per volt  1000 mm per volt  degrees  elevation   azimuth  Helmholtz   or degrees longitude   latitude   Fick    This value will be one of the following constants   CRS otMM100   MM  10
10.  An integer scalar  1 by 1 matrix  holding one of the following  values        CRS vsUserSelect Displays a dialog box to allow the user to  select a camera type                104    Video Eyetracker Toolbox Appendices             CRS vsCamera Progressive scan 50 Hz camera  no  identifying label on camera case    CRS vsFile Takes video from a pre recorded saved     CAM    file   CRS vsCameral Interlaced mode 50 Hz camera  white       Camera l    label on camera case        CRS vsHighSpeedCamera60 High Speed Camera running at 60Hz       CRS vsHighSpeedCamera100 High Speed Camera running at 100Hz       CRS vsHighSpeedCamera160 High Speed Camera running at 160Hz       CRS vsHighSpeedCamera200 High Speed Camera running at 200Hz             CRS vsHighSpeedCamera250 High Speed Camera running at 250 Hz          If the value of this parameter is set to CRS vsUserSelect  then a dialog  box will appear  prompting the user to select a video source  This is  useful if you want to distribute your software     If CRS vsFile is used  then a filename is expected  specifying a  prerecorded  CAM  video file  CAM files can be created using the  vetStartRecordingToFile and vetStopRecording functions  Other  constant values refer to different camera types     The High Speed Video Eyetracker Toolbox camera can run at a  selection of different speeds up to 250 Hz  Selecting the appropriate  constant here will set the camera to run at the desired speed  NOTE   Higher speeds can put greater demands o
11.  Ensure that the camera lens  and infrared mirror are free of dirt or fingerprints using the  supplied lint free cloth     5  While the subject is still and viewing straight ahead  adjust the  height of the camera assembly so that the subject   s eye  appears vertically centred within the Toolbox   s camera  window     6  Horizontally position the subject s eye inside the camera  window by adjusting the horizontal position of the camera   This is achieved by releasing the locking screw located at the  back of the camera assembly and sliding the camera case in  the corresponding direction  Make sure that the locking screw  is gently tightened once the correct location is found        22    Video Eyetracker Toolbox Calibration    WARNING  High Speed System Only   The High Speed  camera can get very warm when used for extended periods   The camera case acts as a heat sink for the electronics inside  and therefore runs at an elevated temperature  This is normal  but your users should be aware of this     7  While the subject is still looking straight ahead  rotate the  focussing ring until the subject   s pupil  not their eyelashes or  eyebrow  appears as sharp as possible in the video image     8  Ensure that both Purkinje reflections remain distinct from any  bright secondary glints  This may occur if the subject is  wearing glasses or if the ambient illumination contains a  significant infrared component  The Toolbox is designed to  cope with any number of secondary glints pro
12.  Eyetracker Toolbox comes complete with a  demonstration program called videoEyetrace which allows you to  calibrate a test subject and present simple image files  If you have  a suitable CRS Visual Stimulus Generator you can also use  videoEyetrace to present smooth pursuit and saccade stimuli for  oculomotor research  These topics are covered in detail in the  following 2 chapters         Selected stimulus  Smooth Pursuit Task   vsg     Fig 1  Smooth Pursuit Eye Movements       10    Video Eyetracker Toolbox Introduction    Once you become familiar with the operation of your Video  Eyetracker Toolbox  you can exploit the Toolbox   s open interface  design either to     e Integrate eye tracking functionality with your existing  laboratory software or        Write new eye tracking applications using a familiar  programming environment     Your Video Eyetracker Toolbox is designed to allow all aspects of  its functionality to be accessed and controlled from MATLAB or  any Windows programming tool that support Microsoft COM  A  complete description of the MATLAB interface  including worked  examples  is covered in the final chapter of this manual  A  separate document describing the COM interface and examples  in Delphi  C   Builder and Visual Basic are available to download  from the Cambridge Research Systems Support Portal   www crsltd com support login         The 50 Hz version of the Video Eyetracker Toolbox is also  compatible with Eye Response Technologies s GazeTracker 
13.  Fig 53   This input can be a TTL or analogue voltage  signal within the range of  5 volts  In the MATLAB Data results  structure  the values are returned in the trigIn field and are in the  range of  1  This input also appears in videoEyetrace as the EIB  Trig ADC graphical plot and is also logged as part of the  ved  results data file        55    Video Eyetracker Toolbox Communication  CRS VSG 2 5    The High Speed system can receive digital timing triggers from a  VSG2 5 visual stimulus generator  The supplied trigger cable  connects from the Digital Trig port on your EIB  Fig 51  to the 25  pin Digital I O port on your Feature Connector  Fig 52  or BNC  Breakout Box  This input can also be three TTL digital voltage  signals  0 or 5 volts      The trigger signals are transmitted from the EIB via its USB port  to the PC where it is logged in the Digital I O column of the  videoEyetrace results file  and the digitallO field in the MATLAB  Data structure  see Appendix G for further details   However   unlike the 50 Hz system  the High Speed version does not output  a digital tracking signal to the VSG s Digital Input line 7 but is  instead output on the Tracked BNC connector  see Fig 53      The High Speed system can accept an input trigger from other  external devices via the Trig In BNC connector on the EIB front  panel  see Fig 53   This input can be a TTL or analogue voltage  signal within the range of  5 volts  In the MATLAB Data results  structure  the values are retur
14.  Fig 67  Tracked Video Image    Calibration Geometry    Calibration is required first to convert the image feature positions  into a computed view direction  This direction  together with the  computed eye position  then requires further calibration to  compute the corresponding gaze screen position  Both halves of  this calibration process are achieved by requesting the subject to  view a number of screen targets from a known viewing distance     Placing the ilumination sources symmetrically on either side of the  camera implies that the centre of corneal curvature in each image  is simply the midpoint between the resulting purkinje images        124    Video Eyetracker Toolbox Appendices    This  combined with requesting the subject to view a number of  screen targets from a known distance  which requires the user to  rotate the eye through known angles  enables the Toolbox to  determine the 3D distance between the cornea and pupil centres   This distance is denoted as K in the above illumination diagram     Once K is known for a particular individual and camera setting   the system can now determine the direction of gaze relative to the  camera  This gaze direction is denoted in the equation below as  the vector  Cx  Cy  Cz  and the centre of corneal curvature as the  vector  Xo  Yo      T  do boxe es BTX Y       A    offse   T 2 d e f C      x E  j         Y  Y oet  T  g h lle     Fig 68  Calibration Equation    The remaining unknowns in the calibration equation are the  
15.  a PC upgrade        Fig 81  250 Hz Eyetracking       144    Video Eyetracker Toolbox Appendices    Noisy eye tracking measurements may be due to one of the  following causes     e The eye is no longer in focus due to head movement  away from the infrared mirror  Ensure that the subject  maintains contact with the headrest at all times and  refocus if necessary     e Poor pupil contrast caused by room or outdoor  illumination interfering with the system s infrared eye  illumination  This may be reduced by altering the room  lighting  shielding the headrest from sources of outdoor  illumination  or removing spectacles if necessary     e Poor pupil illumination  Ensure both sets of infrared  LEDs are not occluded in any way and that both Purkinje  glints appear compact and visible in the video image     High Speed System Only        The High Speed Video Eyetracker Toolbox has an  adjustable iris which should always be set fully open so  that the image is as bright as possible  see Fig 82    Accidental adjustment of the lens iris will result in a  darker image as shown in Fig 83 which will result in  noisy or intermittent tracking          Focussing Ring    L     Fig 82  Focus and Iris Rings on High Speed Camera Assembly       145    Video Eyetracker Toolbox Appendices       Rum Zr        Fig 83  Iris fully Open  Left  and partially Closed  Right        146    Video Eyetracker Toolbox Notes     d           147    Video Eyetracker Toolbox Notes       148    Video Eyetracker Toolb
16.  also    vetGetLatestEyePosition  vetStartTracking    vetClearMimicScreenBitmap    Use this function to clear the background bitmap displayed on the  mimic screen     MATLAB Syntax    vetClearMimicScreenBitmap   See also    vetCreateMimicScreen  vetDestroyMimicScreen   vetSetMimicScreenDimensions  vetMimicPersistence   vetMimicPersistenceType  vetMimicTraceColor    vetCreateCameraScreen    This function creates a camera screen  displaying live video from  the eye tracking cameras  providing visual feedback of pupil and  Purkinje reflection tracking  You should call this function just prior  to calibration so that you can adjust the position and focus of the  camera to obtain a high quality image of your subject s eye for  tracking        88    Video Eyetracker Toolbox Appendices    MATLAB Syntax    vetCreateCameraScreen   See also    vetSelectVideoSource  vetDestroyCameraScreen   vetSetCameraScreenDimensions    vetCreateMimicScreen    This function creates the mimic screen window using the default  system parameters  The mimic screen is used to give visual  feedback on where the subject is looking     MATLAB Syntax    vetCreateMimicScreen   See also    vetDestroyMimicScreen  vetSetMimicScreenDimensions   vetMimicPersistence  vetMimicPersistenceType   vetLoadBitmapToMimicScreen  vetMimicTraceColor    vetDeleteRegion   This function is used to delete a specific region from the Video  Eyetracker Toolbox Regions Of Interest list  NOTE  It is often  preferable to delete all region
17.  and  vetSetFixationRange functions to modify the criteria that the  Video Eyetracker Toolbox software uses to determine if a fixation  has taken place or not     MATLAB Syntax    vetSetCallbackFixate  callbackString         119    Video Eyetracker Toolbox Appendices    Parameters    callbackString     A character array  MATLAB string  containing the  callback string to execute  This could  for example  be the name of an  M file function that handles the event     See also    vetSetFixateRange  vetSetFixationPeriod    This function is used during manual calibration of a user defined  stimulus device  for example LED or laser galvanometer stimulus  systems     The specified callback function will be processed when the VET  calibration routine requests that the stimulus device is initialised     MATLAB Syntax  vetSetCallbackInitialiseDisplay  callbackString       Parameters    callbackString     A character array  MATLAB string  containing the  callback string to execute  This could  for example  be the name of an  M file function that handles the event     See also    vetSetCallbackClearDisplay  vetSetCallbackDrawTarget    This function allows you to specify a MATLAB string to be  processed whenever the direction of gaze first enters a new  Region Of Interest     MATLAB Syntax  vetSetCallbackRegionChanged  callbackString         120    Video Eyetracker Toolbox Appendices    Parameters    callbackString     A MATLAB string containing the callback string to  execute  This could 
18.  be fixating the fixation flag in the  results data structure will be set to TRUE for the duration of the  fixation  The MATLAB string specified using the  vetSetCallbackFixate function will be executed  and the current  fixation location can be returned using the  vetGetFixationLocation function        109    Video Eyetracker Toolbox Appendices    MATLAB Syntax    vetSetFixationRange  fixationRange       Parameters    fixationRange   A positive  non zero  rational scalar  1 by 1 matrix    This value has units of millimetres     See also    vetSetFixationPeriod  vetSetCallbackFixate    vetSetMimicBackgroundColor    This function specifies the background colour of the mimic  window     MATLAB Syntax  vetSetMimicBackgroundColor  mimicBackgroundColor     Parameters    mimicBackgroundColor     A 3 by 1 or 1 by 3 RGB colour vector  each  component of which is a rational scalar in the interval  0 1       1 0 0  produces 100  red    0 1 0  produces 100  green    0 0 1  produces 100  blue     See also  vetCreateMimicWindow  vetSetMimicScreenDimensions   vetSetMimicFixationColor  vetSetMimicTraceColor  vetSetMimicFixationColor    This property sets the colour used to indicate fixations on the  mimic window     MATLAB Syntax    vetSetMimicFixationColor  mimicFixationColor          110    Video Eyetracker Toolbox Appendices    Parameters    mimicFixationColor     A 3 by 1 or 1 by 3 RGB colour vector  each  component of which is a rational scalar in the interval  0 1       1 0 0  produce
19.  device  use  vetSetDeviceParameters     MATLAB Syntax    vetSetStimulusDevice  stimulusDevice       Parameters    stimulusDevice     An integer value  1 by 1 matrix   One of the following  constants     CRS deVGA   CRS deVSG        114    Video Eyetracker Toolbox Appendices  See also    vetSelectVideoSource  vetStartTracking  vetSetDeviceParameters    vetSetUIMonitor    This function allows you to change the monitor that the Video  Eyetracker Toolbox User Interface appears on  For example  if  you are using a Windows Secondary VGA display configuration   you can use this function to make the VET User Interface appear  on either the primary or secondary Windows monitor     MATLAB Syntax  vetSetUIMonitor  UIMonitor     Parameters    UlMonitor     An integer scalar value  0  1  2   etc    Valid values will  depend on how many monitors you have in your system setup  but most  Dual Windows VGA display systems should return 0 or 1     vetSetViewingDistanceMM    This function allows you to set the Viewing Distance in Millimetres  that the Video Eyetracker Toolbox uses  The Viewing Distance is  the perpendicular distance between the centre of the stimulus  display and the centre of rotation of the eye     MATLAB Syntax    vetSetViewingDistanceMM viewingDistanceMM      Parameters    viewingDistanceMM     A positive  integer scalar  1 by 1 matrix    See also    vetStartTracking  vetStopTracking       115    Video Eyetracker Toolbox Appendices    vetStartRecordingToFile    Call vetStar
20.  for example  be the name of an M file function that  handles the callback     See also    vetAddRegion  vetDeleteRegion  vetClearAllRegions  vetRegionCount       121    Video Eyetracker Toolbox Appendices    f    p       122    Video Eyetracker Toolbox Appendices  Illumination Geometry    The Video Eyetracker Toolbox illuminates the eye using two sets  of infrared diodes identically positioned on opposite sides of the  infrared camera  Each set of diodes will create a glint  known as a  Purkinje image  as shown in the diagram below        Fig 65  Illumination Geometry       Fig 66  Typical Video Image    Imaging the eye using two infrared illumination sources creates a  dark pupil with two bright  horizontally separated Purkinje glints   as shown in Fig 66        123    Video Eyetracker Toolbox Appendices    The Purkinje glints will remain bright  compact and constantly  separated provided they are both imaged off the corneal surface   This gives allowable eye rotations of up to 40 degrees and  creates even ilumination over the whole eye     The Toolbox   s dedicated image processing algorithms are  designed to locate the pupil and both Purkinje glints in real time   The algorithms exploit their size  shape  intensity and relative  locations to optimise tracking efficiency and  once located  their  centres are determined to sub pixel precision by ellipse fitting   Tracking is indicated by superimposing the fitted ellipses onto the  live eye video window as shown below       
21.  l as you are running an  interlaced video camera  If there is no label  select Standard  Camera as your camera is running in progressive scan mode  If  you have purchased the High Speed system  select one of the  High speed Camera options as shown in Fig 23     Alternatively  if you wish to perform eye tracking on an existing  video  cam file  select the folder icon and use the browse button  to locate the relevant file     Title bar    The Title bar displays the program control icon  the application  and active protocol names  and the minimise  maximise and close  buttons        37    Video Eyetracker Toolbox videoEyetrace    Program icon Protocol name       5  Video Eyetracker toolbox   New    Application name    Fig 24  Title Bar    Menu bar    The Menu bar displays the headings that lead to the menu  controls  These menu controls are permanently available with the  exception of the Save tab which is disabled if the current data has  already been saved  As with most Windows programs  the menu  buttons are grouped together depending upon their functionality  and organised under more generic menu headings     file management menu buttons stimulus presentation and calibration menu buttons    access options window and graph scaling menu buttons    Fig 25  Menu Bar    Toolbar    The tool bar contains buttons that duplicate the functions of the  more frequently used menu options  The main purpose of the tool  bar is to provide quick and easy access to these menu controls     Ne
22.  s eye    vetCreateCameraScreen       Calibrate the subject  and return if    the user exits before completion     errorCode   vetCalibrate   if errorCode  0   error  Calibration not completed      end     vetSetDeviceParameters  CRS deUser         Check we have dual VGA monitor setup    Calculate primary and secondary monitor positons     MonitorPos   get 0   MonitorPosition     if  numel  MonitorPos   lt 8   error  Less than two monitors    detected     end     PrimaryPos   MonitorPos 1       SecondaryPos   MonitorPos 2       PrimarySize     PrimaryPos 3   PrimaryPos  1    PrimaryPos 4   PrimaryPos 2     1    SecondarySize    SecondaryPos  3      SecondaryPos  1  SecondaryPos  4   SecondaryPos 2     1   PrimaryLowerLeft    PrimaryPos  1  T    SecondarySize 2    PrimaryPos 2        PrimarySize 2     2    SecondaryLowerLeft    SecondaryPos 1       PrimarySize  2    SecondaryPos 2      PrimarySize 2     2        Display a dialog to allow the user to select the    stimulus display that they wish to use     MonitorToUse   uigetpref  Monitors   One           Stimulus Monitor Selection Dialog        Select which monitor to use      1   2    sss     CheckboxString   Always use this monitor     switch MonitorToUse     case  1    SelectedPos    PrimaryLowerLeft   PrimarySize     case  2    SelectedPos    SecondaryLowerLeft SecondarySize    end       66    Video Eyetracker Toolbox Communication               Pick an image file to display  and get the full path  to the file     The ima
23.  used in the calibration  The  total number of targets used for calibration is the product of  these to settings     Screen Scale Factor  This parameter determines the  percentage of the screen  originating from the centre that the  targets will be displayed over  Setting this value to 100 would  result in the targets covering 100  of the visible screen area   A setting of 50 would result in the targets covering 50  of the  total screen area     Shape  Allows different shapes for the target to be selected   This setting also enables a bitmap image  such as a cartoon  character  or face to be used as the calibration target    Size  Sets the size of the calibration targets  This setting does  not apply if a bitmap image has been selected as the target     Target Colour  Specifies the colour of the calibration targets   Again  this setting does not apply if a bitmap image is being  used     Background Colour  Set the background colour that the  targets are presented on     Filename  If a bitmap image has been selected in the Shape  setting this parameter will become active and will allow you to  browse specify the bitmap file to be used as the calibration  target     Note  All of these parameters  except the parameters located in  the Calibration Points group box  will be ignored if you have  elected to use a non computer based device as the presentation  display  The appearance of this display and calibration targets are  left entirely to the user when working with Custom Devic
24. 0 mm V  CRS otMM1000   MM  1000 mm  V  CRS otHelm1   0 1 Volts per degree Helmholtz coordinates  CRS otFicks1   0 1 Volts per degree Fick coordinates    MATLAB Syntax  XYOutputType   vetGetEIB XYOutputType     Return Values  XYOutputType   An integer constant which will be one of the values  listed above     See also    vetGetLatestEyePosition  vetVideoSourceType   vetSetEIB XYOutputType    vetGetFixationLocation    This function returns the location of the current fixation  This  function will return  0  0  0  if the subject is not fixating     MATLAB Syntax   isFixating xPositionMM  yPositionMM     vetGetFixationLocation     Return Values    isFixating     A logical value  1 by 1 matrix  containing the value 0 if the  subject is not fixating or 1 if the subject is fixating     xPositionMM   The x position  in mm  of the fixation  or 0 if the subject  is not fixating     yPositionMM   The y position  in mm  of the fixation  or 0 if the subject  is not fixating        94    Video Eyetracker Toolbox Appendices    See also    vetGetLatestEyePosition    vetGetLatestEyePosition    This function returns the most recent eye position analysed by the  Video EyeTracker Toolbox  This data point is NOT removed from  the data buffer that the Video Eyetracker Toolbox maintains   l e   you can get the same results later using  vetGetBufferedEyePositions      If there are no points available in the buffer  a MATLAB structure  filled with zeros is returned  together with a non zero   1   Err
25. A v7  bd     F A  Fig 29  Zoom Icons    Status bar   The Status bar displays information about videoEyetrace  The first  section of the status bar displays the name of the currently  selected stimulus and the second section displays the name of  the data file currently being shown on in the data window  The    second section of the status bar will stay empty until either data  has been collected or a data file has been opened     currently selected stimdus    Selected Stimulus  Saccade Task    nare d curert cata file    Fig 30  Status Bar       Changing Stimuli and Settings    The presentation stimulus can be controlled or modified using the  Stimulus window  This can be accessed by either clicking on the  Mona Lisa icon on the Toolbar or by clicking View Stimulus from  the Menu bar        Fig 31  videoEyetrace Stimulus Icon       40    Video Eyetracker Toolbox videoEyetrace    Video Eyetracker Options  stimulus    Global Parameters     Background Coo ST C    Stimulus Selection    Stimulus   Stil Picture   vga       Fig 32  videoEyetrace Stimulus Window    The window shown in Fig 32 controls the type of stimulus  presented to the subject  The currently selected stimulus is  displayed in the stimulus combo box located in the Stimulus  Selection area of the tab  Different stimuli can be chosen by  clicking on the down arrow to the right of the combo box and  selecting a new stimulus from the list  Fig 32 shows that there are  3 stimulus options available if you are using a VSG 
26. B matrix containing the mimic window bitmap   See also    vetCreateMimicScreen  vetLoadBitmapToMimicScreen    vetGetPupilCalibrated    This function returns True if the pupil size has been calibrated   False otherwise  The vetCalibrate or vetCalibrateAdvanced  functions can be used to calibrate your subject s pupil size     MATLAB Syntax   isPupilCalibrated    vetGetPupilCalibrated   Return Values    isPupilCalibrated     A Boolean  1 x 1 matrix  where 0   FALSE and 1    TRUE        96    Video Eyetracker Toolbox Appendices  See also    vetGetCalibrated    vetGetRegionCount   The vetGetRegionCount function returns the number of Regions   Of Interest that are currently defined in the Video Eyetracker  Toolbox Regions Of Interest list    MATLAB Syntax    RegionCount   vetGetRegionCount     Return Values    regionCount   A non negative  zero included  integer scalar  1 by 1  matrix      See also    vetAddRegion  vetDeleteRegion  vetClearAllRegions    vetGetResultsCount   The Video Eyetracker Toolbox maintains a buffer of eye position  data  The vetGetResultsCount function returns the number of  results currently stored in this buffer     MATLAB Syntax    resultsCount   vetGetResultsCount     Return Values    resultsCount     A non negative  zero included  integer scalar  1 by 1  matrix      See also    vetClearDataBuffer  vetGetLatestEyePosition  vetlsEyeDataAvailable       97    Video Eyetracker Toolbox Appendices    vetGetTracking    This function will return True or False  de
27. DataBuffer     This will create a comma delimited results data file which can be  imported into other applications  Fig 59 shows the data when it  has been imported into Microsoft Excel  You can see all the  calibration parameters plus the full eye tracking results for every  processed image        64    Video Eyetracker Toolbox Communication                                                                                        Tem Re  154  Ble Edt View Insert Format Tools Data RoboPDF Window Help forhep   BX  inu    i 1228 z 21 e give             Heil 3  R61 E    A 8  E D E F G H peg 5                        N_         1  EyeTracker Toolbox version 3 02  2  CalibrationParameters A11 0 05229  3  CalibrationParameters A12       0 36173  4  CalibrationParameters A13     0 01235  5  CalibrationParameters A21 0 44936  5  CalibrationParameters A22 0 03279  7  CalibrationParameters A23  0 12607  8  CalibratinParameters A31  0 00016  9  CalibrationParameters A32 0 00002  10  CalibrationParameters E11  0 18003  11  CalibrationParameters E12  0 00005    12  CalibrationParameters E21 0 0001  13 CalibrationParameters E22 0 20009  14  CalibrationParameters X  15 0971  15  CalibrationPararneters_Y  2 00868  16  CalibrationParameters  Rpc 147 21  17  CalibrationParameters Mean   185 837                      18  CalibralionParameters MeanY   137 334   19  CalibrationParameters ViewDist 1000   20  TimeStamp Tracked Calibrated ScreenPoc ScreenPos FicksLong FicksLat Helmholtz Helmholtz PupilDi
28. Examples    vetLoadCalibrationFile     C  Temp SubjectA scf      will open the file  SubjectA scf located in the temp folder stored on the C drive     vetLoadCalibrationFile     SubjectA scf      will fail to open because the full  path to the file has not been specified     See also    vetCalibrate  vetCalibrateAdvanced  vetSaveCalibrationFile       101    Video Eyetracker Toolbox Appendices    vetLoadBitmapToMimicScreen    Use this function to load a background bitmap onto the mimic  screen  The mimic screen is a graphical representation of eye  location  If a scaled image of the stimulus  or of landmarks in the  stimulus  is specified by the experimenter  then the mimic screen  will display the subject s gaze with respect to landmarks in the  stimulus image     MATLAB Syntax  vet LoadBitMapToMimicScreen  ImageMat rix   ScaleToStimulusDevice       Parameters    ImageMatrix     Specifies the image values to be loaded onto the mimic  window  This should be either a 3 dimensional width by height by 3  matrix   1 page each for Red  Green and Blue   or a 2 dimensional  width by height matrix for a monochrome image  The sample values in  this matrix should lie in the range  0 1      ScaleToStimusDevice   If this is TRUE  1   the bitmap is scaled to the  same scale as the selected stimulus device  otherwise if it is FALSE  0   it is stretched to fill the whole of the mimic screen     Note  Using the vetSetDeviceParameters function to set the  presentation device to CRS deUser resu
29. Hardware states after Subject Calibration    CRS Visual Stimulus Generator    In order for the VSG to perform a subject calibration it is  necessary for the Video Eyetracker Toolbox to draw targets onto  some of the VSG   s video pages  The Toolbox also needs to  modify the VSG s palette and may change global settings such as  the spatial units and colour space that are being used     The following section describes the state of a VSG after a subject  calibration has been performed using the Video Eyetracker  Toolbox with the CRS Toolbox for MATLAB  For ease of use we  recommend that you try to draw and define your presentation  stimuli after you have run a subject calibration  or if this is not  possible then you should be aware that some of the video pages  that your presentation stimulus appears on may be corrupted or  cleared and that the spatial units  colour spaces and Object  Animation System objects you have previously defined may also  need to be reset     e The first and second video pages will be cleared using pixel  level 254  CRS BACKGROUND         The Object Animation System  OAS  will be turned off        All  OAS  objects created prior to running a subject calibration  will be destroyed        Overlay pages will not be visible       Spatial units will be set to CRS PIXELUNIT   e The top left corner of video memory space will be set to  0  0   e The drawing origin will be set to the centre of the screen        The active colour space will be set to CRS CS_RGB  
30. Refer back to the subject  calibration section for further details         Fig 78  Excessive View Angle    e The image contains a shadow or foreign object that  creates a region darker than the pupil itself        141    Video Eyetracker Toolbox Appendices    System fails to track the Purkinje Glints    Failure of the system to locate both Purkinje glints could be due to  one or more of the following     e The pupil is no longer fully contained within the image         The image contains a spurious bright glint which is lies  close to the pupil  This may be caused by certain types  of spectacles or from secondary sources of infrared  illumination        Fig 79  Spurious Additional Glints    e The eye is no longer in focus due to head movement  away from the infrared mirror  see Fig 76      e One of the Purkinje glints has merged with a spurious  glint and is being rejected on position   size   shape  criteria  This is often the result of the eye rotating to the  point where one of the Purkinje glints no longer lies on  the corneal surface  see Fig 78         142    Video Eyetracker Toolbox Appendices    Eye tracking appears inaccurate    Occasionally  there may be consistent errors between where the  subject is looking and where the system thinks the subject is  looking  This may be solved by checking the following         The eye may be slightly out of focus due to head  movement away from the infrared mirror  Ensure that the  subject maintains contact with the headrest at a
31. UE  otherwise it is 0   FALSE  The diameter of the test subject   s pupil in  millimetres   Direction of gaze projected onto stimulus  display in mm   X  Y    Eye rotation in Fick coordinates  Longitude   Latitude    Eye rotation in Helmholtz coordinates   Elevation  Azimuth    Current region number    A value containing the combined digital         values  see page 53 for details     High Speed system only  A    5 volts TTL or  analogue voltage input signal which is returned  in the range of     1       136    Video Eyetracker Toolbox Appendices     d           Appendix H  Troubleshooting    In this section       System Slow to Calibrate 139  System Fails to Calibrate 139  System fails to track the Eye 139  System fails to track the Pupil 140  System fails to track the Purkinje Glints 142  Eye tracking appears inaccurate 143  Eye tracking appears noisy  erratic or intermittent 143       137    Video Eyetracker Toolbox Appendices    Poor performance or complete eye tracking failure is likely to be  the result of poor operating conditions rather than a fault with the  Toolbox itself  The troubleshooting guide is designed to eliminate  those problems which are most often experienced by new users   If  after making full use of this guide  you are still experiencing  problems  please create a Ticket using the Cambridge Research  Systems support postal  www crsltd com support login        The following sections use example video images from the 50 Hz  system although the issues ap
32. Video Eyetracker Toolbox     d    Video Eyetracker Toolbox    User Manual    version 3 11 January 2006    Cambridge Research Systems Ltd    80 Riverside Estate  Sir Thomas Longley Road  Rochester  Kent ME2 4BH  England    WWW crsltd com       Video Eyetracker Toolbox             Version   Date Changed by  Description of Changes  3 11 18 Jan 06   M  Hodgetts New sections for High Speed  S  Elliott Video Eyetracker Toolbox             Revised videoEyetrace  description    Added MATLAB worked  examples    Appropriate commands from  the CRS Toolbox for  MATLAB described in the  Appendix    Description of COM Server  interface removed             Video Eyetracker Toolbox Contents     d    Introduction 9  Overview of Video Eyetracker Toolbox Family 10  CRS Video Eyetracker Toolbox 12  50 Hz Video Eyetracker Toolbox 12  High Speed Video Eyetracker Toolbox 12  Images Acquired with 50 Hz and High Speed Systems13  Calibration 15  Monitor Configuration and Calibration 16  Dual VGA 16  Dual VGA with GazeTracker   18  CRS Visual Stimulus Generator 19  Non Computer based Custom Display Device 20  Positioning and Focusing your Subject  Imaging  21  Subject Calibration 24  Pupil Scale Calibration 25  Subject Gaze Calibration 27  Hardware states after Subject Calibration 33  CRS Visual Stimulus Generator 33  Dual VGA 34  Custom Device 34       Video Eyetracker Toolbox Contents    videoEyetrace 35  Overview 36  The videoEyetrace Window 36  Initialising the Video Eyetracker Toolbox Camera 37  T
33. a             Fig 54  Camera   Movie File Source Window       Select the Video Eyetracker Camera which corresponds to your  supplied system from the Device Type drop down box  This option  should be highlighted as shown in Fig 54  but if not  click the  EyeLock button to its left  You can select from Standard Camera   Standard Camera l or one of the High Speed options  Once the  correct camera has been selected  click OK to run the following  lines of code which open up the Camera  and Calibration  windows     oe    Create a live camera screen so that we can position  the camera to image the test subject s eye    oe    vetCreateCameraScreen        59    Video Eyetracker Toolbox Communication      Calibrate the subject  and return if  the user exits before completion     ole    errorCode   vetCalibrate   if  errorCode lt 0   error  Calibration not completed      end       Clear the VET VGA calibration window     vetSetDeviceParameters  CRS deUser       Once your subject is correctly positioned  click Start in the  Calibration window  The calibration routine will now proceed by  requesting the test subject to fixate on a number of calibration  targets on the stimulus monitor     Subject Calibration    VET Camera Window B   Gy calibrating   step 5 of 20      Sy VET Camera Window 9              Advanced    Pupil Target Diameter  2          Save as Default Calibration                Fig 55  Live Camera and Calibration Windows  Calibration in  Progress     Once calibration is compl
34. am Region Fixation DigitallO Dropped   21  0 1   981 9743 056  056 056 056 210   1 o o 0  2 20 1 1  10975  312 063 053 063 053 208  1 o 0 o  23 40 1 1  10791 943 062 054 062 054 209 4 o o 0  24 60 1 1 11087 9334 063  053 063 053 209 4 D    0  25 80 1 1  100011  9 446 057 754 057 054 212 A D o 0  26 400 1 1 10997  9 369 063  054 053  054 21  4 D 0 0  27 120 1 1 8474   562 049 032 049 032 200 4 o 0 0  28 140 1 1  8385 5454 021  031 021 031 215 A o 0 0  28 160 1 1  4102 523 024 03 024 03 27 A D o 0  30 180 1 1 5642 5891 032 034 032 034 211 4 D o 0  31 200 1 1 5608  5 941 032 034 032 034 21 A o 0 0         1 1  5413 aga nal nal                     2n 1     n na  M 4 9 H  N myResults   Ie x   Ready NUM    Fig 59  MATLAB Eyetracking Results Data File    The full code listing for this MATLAB example is as follows     function demoVET simpleVGAstimulus    This demonstrates the most basic functionality of  the Video Eyetracker Toolbox     oe oo                          Declare CRS MATLAB constants  global CRS   if isempty CRS   crsLoadConstants  end       Set the stimulus device to Dual VGA      For use with a VSG  use the constant CRS deVSG   vetSetStimulusDevice  CRS deVGA        Ask the user to select a video source  errorCode   vetSelectVideoSource  CRS vsUserSelect         65    Video Eyetracker Toolbox Communication    if  errorCode lt 0   error  Video Source not selected      end       Create a live camera screen so that we can position    the camera to image the test subject  
35. and a Still  Picture option if you are in dual VGA mode     Once the required stimulus has been selected its parameters can  be edited by clicking on the Properties button to the right of the  Stimulus combo box  The background colour used for the stimuli  is displayed in the colour panel  remember this colour is not  gamma corrected  and can be edited by either double clicking in  the colour panel or clicking on the browse button to the right of the  panel     Changing View Options    Click on the View Options icon on the toolbar        Fig 33  videoEyetrace View Options Icon       41    Video Eyetracker Toolbox videoEyetrace  to display the window shown in Fig 34     Video Eyetracker Options  options  Graph   Configuration   Mimic Window   EIB    Results    Results Type   Screen Position  mm     Appearance    Horizontal position  mm  em  Vertical position  rm       Untracked warning Gass     EIB Trig ADC    Pupil diameter        Digital 1 0    t  E  EJ EJ             Fig 34  Video Eyetracker Options     Graph Tab    Once the stimulus has been selected  the Options window  contains everything else necessary to configure your  experimental setup  This window has four different tabs  Graph   Configuration  Mimic Window and EIB     Graph Tab    Clicking on the Graph tab  see Fig 34  will reveal the following  options     The Results sub window allows videoEyetrace to return the  viewed screen position either in millimetres or in Fick or Helmholtz  angle co ordinates  see Append
36. andles the event     See also    vetlsEyeDataAvailable  vetGetBufferedEyePosition   vetGetLatestEyePosition       118    Video Eyetracker Toolbox Appendices    This function is used during manual calibration of a user defined   stimulus device  for example LED or laser galvanometer stimulus  systems  The specified callback function will be processed when  the VET calibration routine requests that a target be drawn     MATLAB Syntax    vetSetCallbackDrawYarget  callbackString       Parameters    callbackString     A character array  MATLAB string  containing the  callback string to execute  This could  for example  be the name of an  M file function that handles the event  This function will be called with  two parameters  the X and Y locations of the target to be drawn  in mm   so for example  if callbackString is specified as  myCallbackFunction   it  will be called as   myCallbackFunction xPosMM yPosMM       See also    vetCalibrate  vetCalibrateAdvanced  vetSetDeviceParameters   vetSetCallbackClearDisplay  vetSetCallbacklnitaliseDisplay    This function allows you to specify a MATLAB string to be  processed whenever the subject makes a fixation  Typically  this  string will contain the name of a MATLAB M file function  This is  called the callback function  Callback functions are typically  designed to execute rapidly  If a second fixation occurs before the  first callback has finished it s processing  that fixation will be  ignored     You can use the vetSetFixationPeriod
37. articular location before  the Toolbox considers it to be a fixation  When a subject is found  to be fixating  the fixation flag in the results data sets will be set to       108    Video Eyetracker Toolbox Appendices    TRUE  The value specified will be rounded UP to the nearest  multiple of the frame time  20ms for 50 Hz  4ms for 250 Hz      The minimum fixation period that can be specified is 100 ms  and  the maximum fixation period that can be specified is 60000 ms     When a subject is found to be fixating the fixation flag in the  results data structure will be set to TRUE for the duration of the  fixation  The MATLAB string specified using the  vetSetCallbackFixate function will be executed  and the current  fixation location can be returned using the  vetGetFixationLocation function     MATLAB Syntax    vetSetFixationPeriod  fixationPeriod  7    Parameters    fixationPeriod     A positive  non zero  integer scalar  1 by 1 matrix   in  the interval  100 60000   This value has units of milliseconds     See also    vetSetFixationRange  vetSetCallbackFixate    vetSetFixationRange    Use the vetSetFixationRange function to specify the fixation  tolerance range in millimetres  This value is used in the  calculations that determine if a subject is fixating  A subject is  deemed to be fixating if his gaze does not move by more than the  Fixation Range in any one Fixation Period  The Fixation Period is  set using the vetSetFixationPeriod function     When a subject is found to
38. been successful   otherwise will return False  0   If you wish to calibrate a subject  without passing any parameters you should use the Video  Eyetracker Toolbox vetCalibrate function instead     MATLAB Syntax  calibrationSuccessful    vetCalibrateAdvanced  xPoints yPoints targetShape   targetSize targetColour backgroundColour   ScaleFactor fixationDuration accuracyLevel   imageFilename      Parameters    numxX   A scalar integer value in the closed interval  2 10  indicating the  number of dots across to use     numY   A scalar integer value in the closed interval  2 10  indicating the  number of dots down to use     targetShape     A scalar integer value drawn from the following set   CRS tsSquare  CRS tsCircle  CRS tsCross  CRS tslmage    targetSize     A rational scalar value in the closed interval  0 01   5 0    This indicates the diameter of the target  measured in degrees of Arc   This value is ignored when a tslmage is selected     targetColour     A 3 by 1 or 1 by 3 RGB colour vector  each component  value a rational number in the interval  O  1      backgroundColour   A 3 by 1 or 1 by 3 RGB colour vector  each  component value a rational number in the interval  0  1      scaleFactor     A scalar value in the interval  1 100   indicating the  calibration area as a percentage of total screen area  a sensible value  for this parameter would be 90         86    Video Eyetracker Toolbox Appendices    fixationDuration     A scalar value  measured in milliseconds  indicat
39. box maintains a data buffer in which it  records eye position data  The vetSaveResults function saves  the contents of the data buffer to a user specified file  Several  different file formats are supported  although it is recommended  that users use either the default  CRS ffCommaDelimitedNumeric format or CRS ffMATfile  format  The function utilVETreadDataFile is provided to read  Comma Separated Value  CSV  files back into the MATLAB  workspace        103    Video Eyetracker Toolbox Appendices    MATLAB Syntax  vetSaveResults  filename     vetSaveResults filename  format      Parameters    Filename     This specifies the name of the file which the results data will  be saved to  This string must include the full path eg   C  myDirectory results csv    Format   Use this flag to specify the format that the file will be written  in  Accepted values include     CRS ffCommaDelimitedNumeric  CRS ffSemiColonDelimitedNumeric  CRS ffMATfile         is omitted  CRS ffCommaDelimitedNumeric is used by  efault     See also    vetClearDataBuffer  vetGetLatestEyePosition  vetlsEyeDataAvailable     vetSelectVideoSource    vetSelectVideoSource can be used to select the video source  used by the Video Eyetracker Toolbox  vetSelectVideoSource  can display a dialog box were the user can select the video  source at run time  or alternatively it can directly specify the  camera type or pre recorded CAM file name     MATLAB Syntax  vetSelectVideoSource  source  filename    Parameters    Source  
40. bust operation over a wide range of  subjects and will easily meet its quoted technical specification if  used with care  It is therefore important that your subject   s eye is  imaged under the best possible conditions  This will be achieved  by carrying out the following instructions     1  Ensure that the surface of the stimulus display is both centred  and perpendicular to this subject   s view axis     2  Position the subject s head so that their chin is resting on the  chin rest and their forehead is resting against the head strap   The height of the chin rest and head strap should be adjusted  so that the subject is comfortable and their eye is level with  the centre of the presentation display  as shown below  Note   the subject s head should not be tilted as this may cause the  eye lid to obscure the pupil        Fig 10  Correct Viewing Geometry       21    Video Eyetracker Toolbox Calibration    WARNING  When adjusting the height of the chin rest over  large distances it is advisable to use one hand to rotate the  adjuster knob and the other hand to guide the other end of the  chin rest in the desired direction  see Fig 11   This also  applies to moving the camera assembly     Support and guide  this end of the  chin rest when  moving the vertical  position over a 3  large range    Fig 11  Adjusting the Chin Rest    3  Use the MATLAB calibration scripts  see page 24  or another  application that uses the Toolbox   s functionality     4  Remove the camera lens cover 
41. cedure  will need to be repeated if the screen resolution of the second  monitor is subsequently changed in any way        17    Video Eyetracker Toolbox Calibration    Now click the Advanced button to reveal the dialogue box shown  in Fig 7     VGA Calibration      advanced settings    Calibration Square Size  1100 w  pixels    Default Viewing Distance   po         mm  Switch Displays RES  Cancel OK    Fig 7  VGA Viewing Distance Calibration       To complete VGA Calibration it is necessary to measure and  enter the correct Viewing Distance between the test subject and  the stimulus monitor  This window also gives you the option of  changing the size of the white calibration square to 200 or 400  pixels  This is sometimes preferable if working with high resolution  monitors or if you are concerned with parallax measurement  errors  If this is changed to a 200 or 400 pixel white square  it is  important to measure and enter its new size as shown in Fig 6     Dual VGA with GazeTracker       GazeTracker operates in a different mode to the conventional  Dual VGA setup in that the Video Eyetracker Toolbox User  Interface controls  e g  Calibration and Camera windows  and the  GazeTracker program run on the Secondary monitor  while the  VET calibration targets and stimuli presented by GazeTracker run  on the Primary monitor     To achieve this  click the Switch Displays button on the VGA  Pixel Calibration Advanced Settings as shown in Fig 7 and then  complete the VGA calibration 
42. cking       Tidy up by clearing away the camera screen   vetDestroyCameraScreen   vetDestroyMimicScreen        71    Video Eyetracker Toolbox Communication    VET Mimic Window    VET Mimic Window       Fig 62  Mimic Window during Saccade Test    Finally  the tracked eye positions and triggering results are plotted  and the data is saved to MATLAB file              Retrieve the recorded eye positions  remove   false   DATA   vetGetBufferedEyePositions  remove         Display the eye positions and triggers  g   figure    plot  DATA  ficksPositions   1   b      longitude in blue  hold on    plot  DATA ficksPositions   2   r      latitude in red  hold on    plot DATA digitallO  g      triggers in green   grid on       Finally  save the results to disk as a  mat file   tempfile    C  myResults mat    vetSaveResults tempfile  CRS ffMATfile         72    Video Eyetracker Toolbox Communication    Figure 1    File Edit Yiew Insert Tools Desktop Window Help    eH kaana E DE                                              Fig 63  Tracked Eye Data for Triggered Saccade Stimulus    The blue and red traces in Fig 63 represent horizontal and vertical  angular eye movements  while the green trace represents the  triggers output by the ViSaGe to coincide with the presentations  of saccade targets  Furthermore  opening the myResults mat file  in MATLAB   s current directory  will declare all your results as  variables in MATLAB   s own workspace as shown in Fig 64       73    Video Eyetracker Too
43. coefficients a to h  alpha to delta and  Xoffset  Yoffset   These are  given initial estimates which are then refined by requesting the  subject to view a set of screen targets with known positions        Fig 69  Calibration Targets       125    Video Eyetracker Toolbox Appendices    The Toolbox computes the differences between where these  targets are and where the Toolbox calculates them to be using  the initial estimates  These differences are used to create an error  term which is then minimised by altering the calibration  parameters using iterative numerical techniques  Those values  which minimise this error term are then used in the above  calibration equation for all subsequent analysis     The Toolbox can now determine the position and orientation of  the eye relative to the monitor and has all the information  necessary to determine the view axes for all subsequent images   It is therefore able to determine the current point of fixation on the  monitor from the relative positions of the pupil and Purkinje  centres in subsequent images        126    Video Eyetracker Toolbox Appendices    p    Appendix    Template for  Fixed Mount Eyelock  Headrest       127    Video Eyetracker Toolbox Appendices    The fixed mount EyeLock headrest is designed to be bolted  directly to a CRS Experimental Workbench or table top for extra  rigidity  This requires drilling two 20 mm diameter holes into the  top of the workbench to a depth of at least 20mm followed by two  concentric 8 1
44. d MinTime    rand     MaxTime   MinTime           Specify target locations from 5 to 10 degrees  We    invert the x and y locations because we are moving    the video window offset  not the video memory    Xlocations    crsDegreesToPixels   5 0  7 5  10 0     Ylocations    crsDegreesToPixels   0 0  0 0  0 0          70    Video Eyetracker Toolbox Communication      Generate random locations for each entry   Indices   ceil rand size Pages       numel  Xlocations      Xlocations   Xlocations  Indices    Ylocations   Ylocations  Indices        Make sure the fixation point always appears at 0 0  Xlocations  Pages  FixationPage    0   Ylocations  Pages  FixationPage    0        Fig 61  Fixation and Saccade Targets    The next section of code defines triggers and associates them  with the relevant video pages  We then commence eye tracking  and present the stimuli  The Camera and Mimic screens are  destroyed when the test is complete       Specify triggers to identify when a target shift has  occurred       The VET captures digital output lines 6  7 and 8    Triggers   zeros size Pages      Triggers  Pages  FixationPage    bin2dec  011100000       oe             Set up RTS page cycling    Repeating   false   crsSimplePageCycle  Pages  Xlocations  Ylocations  Times T  riggers  Repeating  7      Start eye tracking and stimulus cycling   vetStartTracking    crsSetCommand  CRS CYCLEPAGEENABLE      pause  crsFramesToSeconds  sum  Times          crsSetDisplayPage  BlankPage    vetStopTra
45. e chessboard will be replaced with a white  square on the stimulus display  To calibrate this display you must  measure the width and height of the square using a ruler and  if  necessary  adjust the horizontal or vertical scales on the display  to ensure that both measurements are equal   Please note that  the    The Size of Square    box gives you the option of changing  from a 100 pixel to either a 200 or 400 pixel white square which  will be easier to measure and will reducing parallax errors   When  the white stimulus is truly square  enter its height   width in the     Height of Square    box     To complete calibration it is also necessary to measure and enter  the correct Viewing Distance between the test subject and the  stimulus monitor in the Default Viewing Distance box  Note   although you can set the viewing distance parameter in your VSG  program  the Toolbox   s calibration routines will use the value you       19    Video Eyetracker Toolbox Calibration    set here to create the calibration targets and determine your  subject   s direction of gaze     Full details of how to configure the stimulus monitor are available  by clicking on the vsgDesktop Documentation plug in  as shown  below  Note  that the VSG calibration procedure will need to be  repeated if the screen resolution of the stimulus monitor is  subsequently changed in any way           TEN  MENEE z   6     p Auto Configuration    Description             Functions       Function Dest                 
46. e horizontal  azimuth   component  These coordinate systems are demonstrated in the  figure below        Fick Coordinates Helmholtz Coordinates    Fig 73  Angular Coordinate Systems    It is important to be aware of which angular coordinate system is  being used  as their angular components do not commute  For  example  a longitude of 50 degrees followed by a latitude of 30  degrees is not equivalent to an elevation of 30 degrees followed  by an azimuth of 50 degrees        134    Video Eyetracker Toolbox Appendices           Appendix G  Data Returned  hy the Toolbox       135    Video Eyetracker Toolbox    Technical Specification    Appendices    The table below contains a list of all of the entries stored in the  MATLAB Data structure which is returned by the functions   vetGetLatestEyePosition and vetGetBufferedEyePositions     Data timeStamps    Data tracked  Data calibrated    Data fixation    Data dropped    Data pupilDiameter  Data mmPositions  Data ficksPositions    Data helmholtzPositions  Data region    Data digitallO    Data trigIn    The time in milliseconds since tracking started  If the frame is successfully tracked this value is  set to 1   TRUE  otherwise it is 0   FALSE   If the subject has been calibrated this value is  set to 1   TRUE  otherwise it is 0   FALSE   If the subject is fixating this value is set to   1   TRUE  otherwise it is 0   FALSE   If the frame has been dropped  not processed   by the Toolbox in order to keep real time it is  set to 1   TR
47. e stimulus  or of landmarks in the  stimulus  is specified by the experimenter  then the mimic screen  will display the subject s gaze with respect to landmarks in the  stimulus image     MATLAB Syntax  vet LoadBmpFileToMimicScreen  ImageMatrix   ScaleToStimulusDevice       Parameters    ImageMatrix     Specifies the image values to be loaded onto the mimic  window  This should be either a 3 dimensional width by height by 3       100    Video Eyetracker Toolbox Appendices    matrix  1 page each for Red Green and Blue   or a 2 dimensional width   by height matrix for a monochrome image  The sample values in this  matrix should lie in the range  0 1      scaleToStimulusDevice   If this is TRUE   1  the bitmap is scaled to  the same scale as the selected stimulus device  otherwise if it is FALSE    0   it is stretched to fill the whole of the mimic screen     See also    vetCreateMimicScreen  vetLoadBitmapToMimicScreen    vetLoadCalibrationFile    This function loads a Subject Calibration File  previously created  by the Toolbox  Subject Calibration files are identified by a  scf file  extension and must be referenced by their absolute address   vetLoadCalibrationFile will return TRUE  1  if it is successful   FALSE  0  if it is unable to open the file     MATLAB Syntax  vetLoadCalibrationFile  filename    Parameters    Filename     A char array  matlab string  specifying the name of the  calibration file to be opened   You need to include the full windows path  to the file     
48. emain in the VET data buffer  and  will be available for reading using the  vetGetBufferedEyePositions function     MATLAB Syntax  vetStopTracking     See also    vetStartTracking    This function is used during manual calibration of a user defined  stimulus device  For example  LED or laser galvanometer  stimulus systems  The specified callback function will be executed  when the VET calibration routine requests the stimulus display to  be cleared     MATLAB Syntax    vetSetCallbackClearDisplay  callbackString         117    Video Eyetracker Toolbox Appendices    Parameters    callbackString     A character array  MATLAB string  containing the  callback string to execute  This could  for example  be the name of an  M file function that handles the event     See also    vetCalibrate  vetCalibrateAdvanced  vetSetDeviceParameters   vetSetCallbackDrawTarget  vetSetCallbacklnitaliseDisplay    This function allows you to specify a MATLAB string to be  processed whenever a new batch of results is ready to be  collected  This MATLAB string normally defines the name of a  MATLAB M file  which will execute when the callback occurs  This  script should be designed to execute quickly  as any subsequent  calls that collide may be dropped and lost     MATLAB Syntax  vetSetCallbackCollectResults  callbackString     Parameters    callbackString     A character array  MATLAB string  containing the  callback string to execute  This could  for example  be the name of an  M file function that h
49. es   Information regarding where targets should be displayed are  returned in the Toolbox s vetSetCallbacklnitialiseDisplay        31    Video Eyetracker Toolbox Calibration    vetSetCallbackClearDisplay and vetSetCallbackDrawTarget  event call back procedures     The final aspects of the Calibration window are the Test  Load  and Save buttons  The Test button can be clicked after the  calibration procedure has been completed and  via visual  feedback  can be used to test the accuracy of a calibration  In  Test mode  the Toolbox will display a fixed set of 9 dots and will  display the subject   s calculated gaze position as a red dot in the  Calibration window in real time     Subject Calibration    Sy tracking test       C Show Tracking Location on Stimulus Display        Save as Default Calibration       Fig 21  Calibration Window in Test Mode    The Save and Load buttons allow the calibration settings for a  specific subject to be stored and retrieved at any time  The data is  stored as a  scf Subject Calibration File which should remain  accurate provided it is used by the same subject that created it  and the viewing geometry has not been altered in any way  If in  any doubt  the calibration procedure should be repeated     The Toolbox will continue to use the current calibration settings  until the end of the session or it is explicitly overwritten  either by  loading a different calibration file or via recalibration        32    Video Eyetracker Toolbox Calibration    
50. etGetActiveRegion function  When the direction of gaze first  enters a region  the MATLAB function specified using  vetSetCallbackRegionChanged is executed     MATLAB Syntax     regionHandle     vetAddRegion  leftMM  topMM  rightMM  bottomM        Parameters    LeftMM     A rational scalar  1 by 1 matrix   specifying the left edge of  the region of interest     TopMM   A rational scalar  1 by 1 matrix   specifying the top edge of  the region of interest     RightMM     A rational scalar  1 by 1 matrix   specifying the right edge of  the region of interest     BottomMM     A rational scalar  1 by 1 matrix   specifying the bottom  edge of the region of interest     Return Values    regionHandle   An integer scalar  1 by 1 matrix   denoting the region  created by the operation   Example    regionHandle    vetAddRegion 50  50  100  100      will add a square Region of Interest 50mm in size with a mid point  75mm right and 75mm up from the centre of the screen        84    Video Eyetracker Toolbox Appendices    See also    vetDeleteRegion  vetClearAllRegions  vetRegionCount   vetSetCallbackRegionChanged    vetCalibrate    This function launches a calibration dialog that can be used to  configure and control subject calibration  Through this dialog  eye  position and pupil diameter can be calibrated  and calibration  options can be configured  Normally  calibration options are  recalled from the previous session  If specific calibration options  are required  they can be specified 
51. etGetVideoSourceType 99  vetlsEyeDataAvailable 100  vetLoadBmpFileToMimicScreen 100  vetLoadCalibrationFile 101  vetLoadBitmapToMimicScreen 102  vetSaveCalibrationFile 102  vetSaveMimicScreenBitmap 103  vetSaveResults 103  vetSelectVideoSource 104  vetSetCameraScreenDimensions 106  vetSetDeviceParameters 106  vetSetEIB LEDsENABLED 107  vetSetEIB XYOutputType 108  vetSetFixationPeriod 108  vetSetFixationRange 109  vetSetMimicBackgroundColor 110  vetSetMimicFixationColor 110  vetSetMimicPersistence 111  vetSetMimicPersistenceStyle 111  vetSetMimicPersistenceType 112  vetSetMimicScreenDimensions 113  vetSetMimicTraceColor 113       Video Eyetracker Toolbox Contents    vetSetStimulusDevice 114  vetSetUlMonitor 115  vetSetViewingDistanceMM 115  vetStartRecordingToFile 116  vetStartTracking 116  vetStopRecording 117  vetStopTracking 117  vetSetCallbackClearDisplay 117  vetSetCallbackCollectResults 118  vetSetCallbackDrawTarget 119  vetSetCallbackFixate 119  vetSetCallbacklnitialiseDisplay 120  vetSetCallbackRegionChanged 120  Appendix B Imaging Geometry 122  Illumination Geometry 122  Illumination Geometry 123  Calibration Geometry 124    Appendix C Template for Fixed Mount  EyeLock Headrest 127    Appendix D Technical Specification 129    Technical Specifications 130    Appendix E Hot Mirror Spectral  Transmission 131    Appendix F Fick and Helmholtz Coordinates  133    Technical Description 134    Appendix G Data Returned by the Toolbox    135   Technical Specification 135  Techn
52. ete  click OK in the subject Calibration  window  The following lines of code will check that Windows has  been configured in dual VGA mode and calculate both monitor  positions       Check we have dual VGA monitor setup    Calculate primary and secondary monitor positions     MonitorPos   get 0   MonitorPosition     if numel MonitorPos   8   error  Less than two monitors    detected     endj       60    Video Eyetracker Toolbox Communication    PrimaryPos   MonitorPos 1      SecondaryPos   MonitorPos 2      PrimarySize    PrimaryPos 3    PrimaryPos 1    PrimaryPos 4    PrimaryPos 2     1   SecondarySize    SecondaryPos  3   Secondary Pos  1   SecondaryPos  4j  Secondatybos  27i   1   PrimaryLowerLeft    PrimaryPos  1      SecondarySize 2    PrimaryPos  2       PrimarySize 2     2    SecondaryLowerLeft    SecondaryPos 1      PrimarySize  2    SecondaryPos 2        PrimarySize 2     2      The following lines of code will then display the dialogue box as  shown in Fig 56 and await a user response             Display a dialog to select the stimulus display   MonitorToUse   uigetpref  Monitors   One        Stimulus Monitor Selection Dialog        Select which monitor to use      1   2        CheckboxString   Always use this monitor       switch MonitorToUse     case  1    SelectedPos    PrimaryLowerLeft   PrimarySize     case  2    SelectedPos    SecondaryLowerLeft SecondarySize    end     Stimulus nix    Select which monitor to use           Always use this monitor     EE JES  
53. ewing  distance  screen resolution and scale  The following sections  describe the calibration process for each presentation device     Dual VGA    If you are using the Toolbox in a Windows dual display  configuration  you must calibrate the size of the stimulus display   The Toolbox assumes a minimum of two monitors  the Primary  monitor is used to display Windows desktop and the Secondary  monitor to display the visual stimulus  It is the size and resolution  of this Secondary stimulus monitor that needs to be calibrated     Display Properties    Themes   Desktop   Screen Saver   Appearance   Settings    Drag the monitor icons to match the physical arrangement of your monitors    ga    Display   1  Plug and Play Monitor on VSG Visage Video Adaptor  VP990      v  Soreen resolution Color quality  Less J More Highest  22 bit  X  1024 by 768 pixels                                             Identity    Troubleshoot       7 Advanced          Fig 5  Display Properties       16    Video Eyetracker Toolbox Calibration    Before carrying out the calibration procedure ensure that the  Windows desktop has been extended to both monitors and that  the screen resolution and frame rates for the Primary  Windows  desktop  and Secondary  stimulus monitor  agree with the  minimum or recommended settings for both monitors as given in  the Installation Manual   If you intend to use videoEyetrace  your  Primary and Secondary monitors must have a resolution of 1024  x 768 pixels   These setting
54. ge file must be on your MATLAB path    ImageFile   which  Glasgow bmp                                        Read the selected image file  getting both the image  and the palette data   Image Palette    imread ImageFile  7    m o                Create a figure window in which to display the  stimulus  then stimulus on the figure window   Load the bitmap image onto the selected monitor     scaling appropriately   FigurelHandle   figure 1   AxesHandle   axes   set  AxesHandle   Position    00 1 1       oe oe    Jo    set FigurelHandle   MenuBar          none   ToolBar   none   Position  SelectedPos      imagesc  Image    colormap  Palette    axis  off         Create Mimic Screen and load Bitmap image    vetCreateMimicScreen   vetSetMimicScreenDimensions 400  0  400  300    vetSetFixationPeriod 300     vetSetFixationRange  10     vetSetMimicPersistenceType  CRS ptMotionAndFixations    vetLoadBmpFileToMimicScreen ImageFile 1        Start tracking   vetClearDataBuffer   vetStartTracking     oe    Track for 30 seconds  then stop tracking  pause  30    vetStopTracking     oe    Tidy up by clearing away the camera and mimic  Screens    vetDestroyCameraScreen    vetDestroyMimicScreen    close figurelHandle      oe                  Retrieve the recorded eye positions     without removing them from the buffer   Remove   false    DATA   vetGetBufferedEyePositions  Remove          67    Video Eyetracker Toolbox Communication    9      Display the retrieved positions   figure 2   cla  hold
55. ge of the mimic screen  Width   Specifies the width of the mimic screen    Height   Specifies the height of the mimic screen    Example  vetSetMimicScreenDimensions 2  10  200  150      will set the dimensions of the mimic screen on its parent window so that  it is located 2 pixels from the left  10 pixels from the top  is 200 pixels  wide and 150 pixels high     See also    vetCreateMimicScreen  vetDestroyMimicScreen  vetMimicPersistence   vetMimicPersistenceType  vetLoadBitmapToMimicScreen   vetMimicTraceColor    vetSetMimicTraceColor    The vetSetMimicTraceColor function specifies the colour of the  trace on the mimic screen        113    Video Eyetracker Toolbox Appendices    MATLAB Syntax  vetSetMimicTraceColor  mimicTraceColor     Parameters    mimicTraceColor     A 3 by 1 or 1 by 3 RGB colour vector  each  component of which is a rational scalar in the interval  0 1       1 0 0  produces 100  red    0 1 0  produces 10096 green    0 0 1  produces 100  blue     See also    vetCreateMimicScreen  vetDestroyMimicScreen   vetSetMimicScreenDimensions  vetSetMimicPersistence   vetSetMimicPersistenceType  vetLoadBitmapToMimicScreen    vetSetStimulusDevice    The vetSetStimulusDevice function allows you to select the  stimulus device which will be used by the Video Eyetracker  Toolbox for calibration purposes  Valid devices are CRS deVSG   i e  a ViSaGe or VSG2 5  or CRS deVGA  which is usually the  Secondary Windows VGA Display     Note  to set the Toolbox to work with a custom
56. ical Specification 136  Appendix H Troubleshooting 137  System slow to calibrate 139       Video Eyetracker Toolbox Contents    System fails to calibrate 139  System fails to track the eye 139  System fails to track the Pupil 140  System fails to track the Purkinje Glints 142  Eye tracking appears inaccurate 143    Eye tracking appears noisy  erratic or intermittent 143    Notes 147       Video Eyetracker Toolbox Introduction     d    p            In this section       Overview of the Video Eyetracker Toolbox Family 10  CRS Eyetracker Toolbox 12  50 Hz Video Eyetracker Toolbox 12  250 Hz High Speed Video Eyetracker Toolbox 12    Images Acquired with 50 Hz and 250 Hz Systems 13       Video Eyetracker Toolbox Introduction    Overview of Video Eyetracker Toolbox Family    This manual is intended to cover the hardware and software use  of the Cambridge Research Systems Video Eyetracker Toolbox  family of eye trackers  It is intended to be read only when all the  steps in the corresponding Installation Manual have been  successfully completed     The Video Eyetracker Toolbox family of 50 Hz and 250 Hz video  eye trackers share most of their functionality in common  As a  result  this document will treat common functionality without  reference to particular models and add sections specific to  particular versions only where necessary     The Video Eyetracker Toolbox allows you to add robust and  accurate eye tracking to new or existing experimental systems  In  addition  your Video
57. ing  how long a fixation needs to last in order to be detected    A sensible  value for this parameter would be around 500ms     accuracyLevel     A scalar integer value drawn from the following set   CRS acLow  CRS acMedium  CRS acHigh    This value indicates how much movement will be tolerated when  detecting a fixation     imageFilename     A char array   Matlab string  containing the filename  and full path  This parameter should be set to an empty string if  targetShape has been set to anything other than tslmage     Example    vetCalibrateAdvanced 3 3 CRS tsSquare 0 5  1  0 0   0 0 1  90 100   CRS acMedium        See also    vetCalibrate  vetCalibrationStatus  vetSelectVideoSource   vetStartTracking  vetLoadCalibrationFile  vetSaveCalibrationFile    vetClearAllRegions    This function deletes all Regions Of Interest from the Video  Eyetracker Toolbox Regions of interest list  See the help for  vetAddRegion for a description of Regions Of Interest     MATLAB Syntax  vetClearAllRegions     See also    vetAddRegion  vetDeleteRegion  vetRegionCount       87    Video Eyetracker Toolbox Appendices    vetClearDataBuffer    The Video Eyetracker Toolbox maintains a buffer in which it  records eye position and related eyetracking data  If you are  running multiple trials back to back  and your experimental  paradigm requires you to collect data separately for each trial  this  function will allow you to clear the buffer between trials     MATLAB Syntax    vetClearDataBuffer   See
58. itle bar 37  Menu bar 38  Toolbar 38  Data windows 39  Status bar 40  Changing Stimuli and Settings 40  Changing View Options 41  Graph Tab 42  Configuration Tab 43  Mimic Tab 43  EIB Tab  High Speed System only  44  Eye Tracking 45  Saving and Loading 48  Data Files    ved  48  Custom Results Data File    ved  49  MATLAB Data File    mat  49  Mimic Image    bmp  49  Communicating with the Toolbox 51  Synchronisation     50 Hz Systems 52  Synchronisation     High Speed Systems 54  Eyetracker Interface Box    Inputs 54  CRS ViSaGe 55  CRS VSG 2 5 56  Eyetracker Interface Box    Outputs 57  Video Eyetracker Toolbox and MATLAB 57  Worked MATLAB Eye Tracking Examples 58  Example 1  Bitmap Stimulus with Dual VGA 58  Example 2  Triggered Saccade Stimulus for ViSaGe 68  Appendices 79  Appendix A MATLAB Commands 81  Functions 82  Events 83  vetAddRegion 84  vetCalibrate 85  vetCalibrateAdvanced 86       Video Eyetracker Toolbox Contents    vetClearAllRegions 87  vetClearDataBuffer 88  vetClearMimicScreenBitmap 88  vetCreateCameraScreen 88  vetCreateMimicScreen 89  vetDeleteRegion 89  vetDestroyCameraScreen 90  vetDestroyMimicScreen 90  vetGetActiveRegion 90  vetGetBufferedEyePositions 91  vetGetCalibrated 93  vetGetEIB LEDsENABLED 93  vetGetEIB XYOutputType 93  vetGetFixationLocation 94  vetGetl atestEyePosition 95  vetGetMimicScreenBitmap 96  vetGetPupilCalibrated 96  vetGetRegionCount 97  vetGetResultsCount 97  vetGetTracking 98  vetGetToolboxVersion 98  vetGetVideoSourceFile 98  v
59. ix F for further details   The  Appearance sub window displays the current settings for all  graphical traces which can be customised by clicking on the  appropriate browse icons  The EIB Trig ADC input trigger trace is       42    Video Eyetracker Toolbox videoEyetrace    only available for the High Speed system  See page 54 for further  details     Configuration Tab    Video Eyetracker Options  options          Graph    Configuration    Mimic Window   EIB    Environment       v  Display warning before over writing unsaved data     v  Display NOT CALIBRATED warning on graph                       Record video stream to file             Always track eye position       Fixation Duration   300  Data file field separator character    semi colon v    Save Tracked field data as  Yes No v       Fig 35  Video Eyetracker Options   Configuration Tab    The Configuration tab displays a set of configuration settings  covering visual warnings and the option to record the video  stream to file  In addition  you can control the minimum duration  necessary to identify a fixation and choose the type of field  separator in the results data file  The last option box controls  whether the tracked status in each image is recorded in the  results file as either an alphabetic    Yes No    or binary    1 0    format     Mimic Tab    The Mimic tab controls how the measured eye tracking trace is  presented in the Mimic window  The top dialog box controls the       43    Video Eyetracker Toolbox videoE
60. lation section of the High Speed  Video Eyetracker Toolbox Installation Manual     Trigger Cable to  Power Cable VSG  if required      You must install  Firewire Cable Firewire Cable      software before        lcs Kis aes connecting these                                             N E  Ts A Camera Cable     BEE Gable                                                 Eyetracker Interface Box  EIB     Fig 49  Connections to Camera  EIB and PC       54    Video Eyetracker Toolbox Communication  CRS ViSaGe    To receive digital timing triggers  the High Speed system requires  a trigger cable connecting from the Digital Trig port on your EIB   see Fig 51  to the 5 pin Accessory connector on your ViSaGe   see Fig 50   This frees up ViSaGe s 25 pin digital IO port for use  with  for example  an EEG system        Fig 50  Accessory Connector on ViSaGe    The trigger signals are transmitted from the EIB via its USB port  to the PC where it is logged in the DigitallO column of the  videoEyetrace results file  and the digitallO field in the MATLAB  Data structure  see Appendix G for further details   However   unlike the 50 Hz system  the High Speed version does not output  a digital tracking signal to the VSGs Digital Input line 7 but is  instead output on the Tracked BNC connector  see Fig 53         Fig 51  Eyetracker Interface Box     Rear Panel    The High Speed system can accept an input trigger from other  external devices via the Trig In BNC connector on the EIB front  panel  see
61. lay screen     Instruct the subject to fixate on the target  The Toolbox will  analyse all of the incoming images to identify a sequence of  consistent pupil and Purkinje measurements     Once the Toolbox is satisfied with the measurements it has  collected the target will disappear and a new target will be  displayed in a different location  This procedure will repeat  itself until an entire sequence of targets has been displayed to  the subject     Note  The Toolbox will not proceed to the next target until it  has identified a consistent cluster of measurements  For this  reason  it is important that the subject remains as still as  possible during calibration          The size of a target is indicated underneath each target on the Scale Calibration Stick        27    Video Eyetracker Toolbox Calibration    4     After the subject has worked through the complete set of  calibration targets  the Toolbox will perform its internal  calibration and present a second set of dots in the Calibration  window  see Fig 17   The dots show the screen target  positions  while the green lines show the relative positions  where the system calculated the subject was actually looking   A good calibration is indicated by a set of short green lines   The following picture shows an example of a good calibration     Subject Calibration       subject calibration    Pupil Target Diameter             Save as Default Calibration    Fig 17  Successful Calibration    5  Sometimes during the calibrati
62. lbox Communication          Workspace a x         a m NL se Base  Name   Value Class  A11 1 0127 double      A12 D 027078 double    A13 0 08322 double  A21 0 024665 double  A22  1 0535 double    A23 0 02163 double    A31 D 0012532 double  A32  D 00022519 double 3  DigitallO  lt 11439x1 double   double  Dropped  lt 11439x1 double   double  7 E11  D 18003 double    E12  2 9164e 005 double    E21  5 5426e 005 double  E22 0 19996 double E    FicksLatitude  lt 11439x1 double gt  double   H FicksLongitude       11439x1 double   double    FrameRate 50 double  HelmholtzAzim      11439x1 double   double  HelmholtzEleva      11439x1 double   double  MeanX 158 89 double    Mean Y 89 325 double    lt  ili           lt     Fig 64  Calibration and Tracked Eye Data as MATLAB Variables    You can now use MATLAB to analyze  plot or process any of your  calibration or recorded eye results data     The full code listing for demoVETsacc1 is as follows        74    Video Eyetracker Toolbox Communication    function demoVETsaccl   A simple VET demo to elicit reflexive horizontal  saccades    This demo requires a CRS ViSaGe   global CRS    crsLoadConstants     oe oe oe    oe    Check we are running on a VSG ViSaGe  CheckCard   crsGetSystemAttribute  CRS DEVICECLASS    if CheckCard    7    error  Sorry  this demonstration requires a VSG  ViSaGe      end     Select the VET camera to use   vetSetStimulusDevice  CRS deVSG     errorCode   vetSelectVideoSource  CRS vsUserSelect     if  errorCode lt 0   e
63. lied with an example application called videoEyetrace  which  demonstrates the Toolbox   s functionality in a ready to use form     The videoEyetrace Window    Start videoEyetrace by clicking on the videoEyetrace icon  or via  the Windows Start menu  The main window provides a ready   made user interface for the Toolbox  see Fig 22 below   The  buttons on the menu bar and tool bar are used to control the type  of stimulus displayed  how the data is collected and how the test  subject is calibrated     toolbar pupil position       untracked E  Pupil diameter  mm  MI       video window mimic window pupil diameter    Fig 22  videoEyetrace Main Window       36    Video Eyetracker Toolbox videoEyetrace    Initialising the Video Eyetracker Toolbox Camera    videoEyetrace is designed to work with the whole Video  Eyetracker Toolbox family  as well as pre recorded video  cam  files  Use the Select Video Source option from the File menu to  reveal the following window     select video source      select source   camera    OK  Video Eyetracker Camera      ad Device Type        Standard Camera    Standard Camera  Standard Camera l  High speed Camera  High speed Camera  High speed Camera  High speed Camera  High speed Camera          Fig 23  Select Video Source Window    The EyeLock icon allows you to select between the different  cameras and their range of sampling frequencies  If you are  running a 50 Hz system  and your camera was shipped with a  Camera l label  select Standard Camera
64. ll times  and refocus if necessary         The eyelid may be obscuring the pupil slightly  which  would reduce the accuracy of finding the pupil centre     e The system may have been poorly calibrated or lost  calibration due to movement of one of the headrest  components  Ensure that all headrest adjustments are  correctly and securely set and then recalibrate     Eye tracking appears noisy  erratic or intermittent    In normal use  the Toolbox will track the subject   s point of fixation  with angular noise of between one quarter and one half of a  degree  which is approximately 2 5     5mm positional error at a  viewing distance of 500mm   These specifications can be  achieved by ensuring that         The radial lines on the iris are clearly visible  i e  the  pupil   iris is in focus    not the eyelashes         There are no bright spurious glints close to the pupil    e The pupil is in the centre of the image and not occluded  by the eyelid in any way    These are illustrated in Fig 80        143    Video Eyetracker Toolbox Appendices          Fig 80  Good Video Imaging Conditions  High Speed Eyetracker Only    Intermittent tracking can also be caused by the PC failing to keep  up with the video frame rate  If this occurs  the user should check  that the PC is not performing any non vital background  processes  If the problem continues  the user should either  reduce camera speed in the Select Video Source window or if  this is not viable  it may be necessary to consider
65. lts in the picture always being  stretched to fill the entire mimic screen     See also    vetCreateMimicScreen  vetDestroyMimicScreen   vetSetMimicScreenDimensions  vetMimicPersistence   vetMimicPersistenceType  vetMimicTraceColor   vetSetDeviceParameters    vetSaveCalibrationFile    This function stores a subject s calibration data to a file  specified  by Filename for future use  For example  this file could be used to  provide a default calibration to be used with subjects that cannot  fixate or are unable to calibrate for other reasons     MATLAB Syntax    vetSaveCalibrationFile  filename          102    Video Eyetracker Toolbox Appendices    Parameters    Filename     This specifies the name of the file which the calibration data  will be saved to  NB  Windows standard separation characters  single  backslashes  should be used  E g   C  myDirectory myCalibFile scf    See also    vetCalibrate  vetCalibrateAdvanced  vetLoadCalibrationFile    vetSaveMimicScreenBitmap    Use this function to save a background bitmap copy of the mimic  screen to a Windows bitmap image file     MATLAB Syntax    vetSaveMimicScreenBitmap  Filename       Parameters    Filename     This specifies the name of the file which the mimic window  bitmap will be saved to  This parameter should be a MATLAB char array   string   including the full path to the image file     See also    vetCreateMimicScreen  vetGetMimicScreenBitmap   vetLoadBitmapToMimicScreen    vetSaveResults    The Video Eyetracker Tool
66. mination sources will appear slightly  larger in the images obtained by the High Speed version as more  illumination is required to obtain clear high contrast images        Fig 4  Comparison of 50 Hz  left  and 250 Hz  right  Images       13    Video Eyetracker Toolbox Calibration     d    In this section       Monitor Configuration and Calibration 16  Dual VGA 16  Dual VGA with GazeTracker   18  CRS Visual Stimulus Generator 19  Non Computer based Custom Display 20   Positioning and Focusing your Subject 21   Subject Calibration 24  Pupil Scale Calibration 25  Subject Gaze Calibration 27   Hardware states after Subject Calibration 33  CRS Visual Stimulus Generator 33  Dual VGA 34  Custom Device 34       15    Video Eyetracker Toolbox Calibration    Monitor Configuration and Calibration    The Video Eyetracker Toolbox is primarily designed to work in a  dual computer screen configuration with separate displays for the  Windows desktop and visual stimulus  It is also possible to use  the system with a non computer based display such as a TV   blackboard or LED array  However  in this scenario  you must  manually configure and calibrate your display source and subject   To provide a second stimulus display  you can either use a single  PC graphics card with dual outputs  two separate PC graphics  cards  or a CRS Visual Stimulus Generator e g  the ViSaGe     Whichever solution you choose to use it is extremely important to  correctly calibrate the stimulus display in terms of vi
67. mm holes through the remainder of the  worksurface  A cross section through one of these holes is shown  below     20 mm  diameter     4              20 mm  depth table thickness  30 mm  min       gt   8 1mm  diameter    Fig 70  EyeLock Hole Cross Section    To prevent unnecessary stressing of the headrest  it is important  that these holes are positioned accurately relative to each other  and to the edge of the workbench  Use the template below to  ensure all holes are drilled correctly  Take care not to damage this  template so that it remains available for future use     Base of EyeLock Headrest  va  85 mm diameter             200 mms       20 mm diameter hole 8 1 mm diameter hole   for vertical supports   for M8 bolt     Fig 71  Positioning of EyeLock Holes       128    Video Eyetracker Toolbox Appendices     d     d    Appendix D Technical  Specification    The following specifications state what the Toolbox is designed to  achieve in normal use provided reasonable care has been taken  during imaging set up and calibration  The stated variation in  tracking accuracy is dependent on each subject s ability to fixate  on the calibration targets        129    Video Eyetracker Toolbox    Technical Specifications    Measurement Technique    Imaging Technique    Sampling Frequency  50  Hz High Speed     Latency   Resolution  Pupilometry Range  Pupilometry Accuracy  Tracking Accuracy  Horizontal Range    Vertical Range    Allowable Head Movement    Measurement Units    Appendice
68. n the subject s direction       90    Video Eyetracker Toolbox Appendices    of gaze enters a region  the MATLAB command specified with the  vetSetCallbackRegionChanged function is executed     MATLAB Syntax    activeRegion   vetGetActiveRegion     Return Values    activeRegion   An integer scalar  1 by 1 matrix  in the interval   1 int_max   showing the current active region     See also    vetAddRegion  vetGetLatestEyePosition    vetGetBufferedEyePositions    This function returns eye position data from the buffer that is  created and maintained by the Video Eyetracker Toolbox  software  Eye positions that are returned by this function are  by  default  removed from the data buffer  so subsequent calls will not  return duplicate data     If there are no points available in the buffer  a structure filled with  zeros is returned  together with a non zero   1  ErrorCode  NOTE   In order to determine if the subject is fixating  eye position data is  delayed by the user specifiable fixation period  defined using the  vetSetFixationPeriod function     This function has two optional parameters  a Boolean logical  value  removeFromBuffer  and a numeric  integer  value   maximumPoints  If the removeFromBuffer parameter is set to  False  then data points are left in the VET buffer  allowing them to  be retrieved again by a second call  If the removeFromBuffer  parameter is set to True  then data points are deleted from the  buffer after they are read  The maximumPoints parameter allo
69. n your PC  The original Video  Eyetracker Toolbox  50 Hz fixation monitor  has two camera types   CRS vsCamera refers to the progressive scan camera type  and  CRS vsCameral refers to the newer mode Camera  Interlaced mode  Cameras can be identified by a white or yellow  Camera l  sticker on the  casing     Filename   If the selected video source is CRS vsFile  then this  parameter should contain a full path to a prerecorded CAM file  e g     C  myDirectory myVideo cam     If the selected video source is CRS vsUserSelect  then this parameter  should contain a CAM file to default to     If the selected video source is a camera of some description  then this  parameter should be an empty string           105    Video Eyetracker Toolbox Appendices    See also    vetStartRecordingToFile  vetStopRecording  vetSetStimulusDevice   vetVideoSourceFile    vetSetCameraScreenDimensions    This function is used to set the dimensions of the camera screen  control  Note that the camera screen control does not have to  exist before this function is called     MATLAB Syntax  vetSetCameraScreenDimensions  Left  Top  Width   Height    Parameters  Left     Specifies the left edge of the camera screen  Top     Specifies the top edge of the camera screen  Width   Specifies the width of the Camera screen    Height   Specifies the height of the Camera screen    Example  SetCameraScreenDimensions 10  20  400  300       will set the dimensions of the camera screen on its parent window so  that it is l
70. ned in the trigIn field and are in the  range of  1  This input also appears in videoEyetrace as the EIB  Trig ADC graphical plot and is also logged as part of the  ved  results data file     VSG2 5    Feature p Digital          Connector       Fig 52  25 pin Digital I O on VSG2 5       56    Video Eyetracker Toolbox Communication    Eyetracker Interface Box    Outputs       Fig 53  Eyetracker Interface Box     Front Panel    Apart from the Trig IN BNC  the other BNC connectors output the  recorded eye position data which can then be logged using  external equipment  The Pupil output is statically scaled at 0 1  volts per mm of pupil diameter  Trig Out replicates any signal fed  into Trig In and Tracked outputs a standard TTL signal of either 0  or approximately 5 volts  The scales of the X and Y outputs can  be set using the vetSetEIB_XYOutputType command which is  detailed in Appendix A  or within videoEyetrace under the EIB tab  of Graph Options      Video Eyetracker Toolbox and MATLAB    MATLAB is a data analysis and visualisation application built  around a simple scripting language and is widely used in the  creation of models and in the analysis of experimental results  By  providing tools to help the vision researcher control and analyse  their experiments from a single environment  we hope to reduce  the training burden on new entrants to the field  as well as making  it easier for existing experimenters to integrate their experimental  design and control with their 
71. ocated 10 pixels from the left  20 pixels from the top  is 400  pixels wide and 300 pixels high     See also    vetCreateCameraScreen  vetDestroyCameraScreen    vetSetDeviceParameters    If you are using a custom stimulus device such as an LED array  or laser galvanometer system  then you should use this function  to provide the Video Eyetracker Toolbox with information about  your stimulus device  such as viewing distance and screen size        106    Video Eyetracker Toolbox Appendices    This information is used during the VET calibration procedure to  specify target locations for your calibration routine     If you are using a Cambridge Research Systems VSG2 5   ViSaGe or a secondary Windows VGA display  you should use  vetSetStimulusDevice instead of vetSetDeviceParameters  as  viewing distance and stimulus display size are obtained  automatically from the VSG Software Library or VGA Calibration  utility     MATLAB Syntax    vetSetDeviceParameters  device  ViewingDistance_mm   Width_mm  Height_mm     Parameters  Device   Only use the following value   CRS deUser     Note  Setting device to deUser has a direct effect on the function  vetLoadBitmapToMimicwindow    ViewingDistance_mm   Specifies the viewing distance of the subject  to the stimulus display screen in millimetres     Width_mm  this parameter specifies the width of the display screen in  millimetres  If Device is not set to deUser this parameter is ignored     Height mm   this parameter specifies the Height of 
72. on   plot DATA fickPositions   1   b     Longitude in blue  hold on    plot DATA fickPositions   2   r     Latitude in red  grid on      Save the results to disk as a comma delimited file   CurrentDirectory   cd    tempfile    CurrentDirectory   myResults csv     vetSaveResults tempfile  CRS ffCommaDelimitedNumeric         Clear the data buffer   vetClearDataBuffer     Example 2  Triggered Saccade Stimulus for ViSaGe    Example 2 is specifically designed to demonstrate how the High   Speed system can be integrated with a Cambridge Research  Systems ViSaGe for a typical oculomotor research application   This example calibrates a test subject  generates a series of  fixation and saccade targets and tracks the subject   s eye  positions  The eye movement results and stimulus timing triggers  are then displayed as a graph and saved to a file     The first section of code initialises the ViSaGe  selects the video  source  creates Camera and Mimic windows and performs  calibration as in the previous MATLAB example     function demoVETsaccl    A simple VET demo to elicit reflexive horizontal    saccades  This demo requires a ViSaGe    global CRS   crsLoadConstants   Check we are running on a VSG ViSaGe  CheckCard   crsGetSystemAttribute  CRS DEVICECLASS     if  CheckCard    7    error  Sorry  this demonstration requires a VSG  ViSaGe     end     Select the VET camera to use   vetSetStimulusDevice  CRS deVSG     errorCode   vetSelectVideoSource  CRS vsUserSelect    if  errorCode lt 0
73. on procedure the subject may    focus on the wrong part of the display screen away from the  target  If this happens you will see a large green line or a  cluster of large green lines in one region of the Calibration  window  You may also see smaller lines from surrounding  targets being pulled in the opposite direction of the larger  lines  See figure Fig 18     If this happens it is possible to select the individual targets that  contain the largest errors for recalibration  To select the  targets you want to represent  just left click on them with your  mouse  The calibration procedure can now be repeated on  these selected targets by clicking the Start button as before   Note  left clicking on a selected target will deselect it        28    Video Eyetracker Toolbox Calibration    Subject Calibration      Gy subject calibration    Pupil Target Diameter   2 mm Apply        Save as Default Calibration          Fig 18  Calibration window illustrating two bad calibration targets  that have been selected    Subject Calibration     subject calibration    Pupil Target Diameter   2 mm Apply       C Save as Default Calibration       Fig 19  Calibration window illustrating the same calibration as  above after the two targets have been re calibrated       29    Video Eyetracker Toolbox Calibration    Sometimes when calibrating a subject it may be necessary to  change the Toolbox   s default settings  You may want to make it  easier harder for the subject to fixate on a target or try 
74. options    Front Panel LEDs        v  Enable Front Panel LED Operation    X Y BNC Outputs    Output Type   mm 0 01   mm       Fig 37  Video Eyetracker Options     EIB Tab  Eye Tracking    Once the calibration procedure is complete and a stimulus has  been loaded  press the Run icon on the Toolbar to enter tracking    mode     Fig 38  Run Icon       45    Video Eyetracker Toolbox videoEyetrace    This will initiate tracking and output the results in the graph  window in real time  A typical graph output for a sinusoidal  smooth pursuit task is shown in Fig 39        Fig 39  Smooth Pursuit Task    The horizontal axis represents time in seconds while the vertical  axis represents eye gaze screen position in millimetres  In this  example  the target was moving horizontally which is indicated  here by the sinusoidal red  horizontal  trace while the vertical   blue  trace represents biological and system noise     A NS  bd 4 F AB  Fig 40  Graph Zoom Icons    The horizontal and vertical scales of the output graph can be  changed before  during or after tracking using the above icons  available on the main toolbar     During tracking  videoEyetrace will also project the recent eye  positions into the mimic window and will detect and display any  fixations as circles with radii proportional to their duration  A  typical example of this is shown in Fig 41       46    Video Eyetracker Toolbox videoEyetrace       Fig 41  Mimic window showing locus of tracked eye positions  and fixations 
75. orCode  This may happen if you attempt to read data soon  after tracking starts  as eye position data can be delayed by the  user specifiable fixation period  defined using the  vetSetFixationPeriod command     MATLAB Syntax    Data   vetGetLatestEyePosition     Return Values  Data     A MATLAB structure containing the VET eye position data   Data timeStamps     Time in milliseconds since tracking started   Data tracked     A Boolean value where 0   FALSE and 1   TRUE  Data calibrated   A Boolean value where 0   FALSE and 1   TRUE  Data pupilDiameter     Pupil diameter in millimetres     Data mmPositions     Direction of gaze projected onto stimulus display  in  mm   X Y     Data ficksPositions     Eye rotation in Fick coordinates  Longitude   Latitude     Data helmholtzPositions     Eye rotation in Helmholtz coordinates   Elevation  Azimuth      Data region     Current region number  Data fixation   A Boolean value where 0   FALSE and 1   TRUE       95    Video Eyetracker Toolbox Appendices    Data digitallO     A value containing the combined digital IO values  see  page 53 for details     Data dropped   A Boolean value where 0   FALSE and 1   TRUE  Data trigln      High Speed system only  EIB Trigger input values     See also    vetlsEyeDataAvailable  vetGetBufferedEyePosition    vetGetMimicScreenBitmap    This function returns the mimic window bitmap as a MATLAB  matrix     MATLAB Syntax    ImageMatrix   vetGetMimicScreenBitmap     Return Values    ImageMatrix     A MATLA
76. ow as shown in Fig 57      Track for 30 seconds  then stop tracking  vetClearDataBuffer    vetStartTracking    pause  30     vetStopTracking      Tidy up by clearing away camera and mimic screens   vetDestroyCameraScreen    vetDestroyMimicScreen    close figurelHandle         62    Video Eyetracker Toolbox Communication    VET Mimic Window    VET Mimic Window       Fig 57  Mimic Window with Motion and Fixations Trace    The tracked results will now be plotted in Fick angular coordinates  with longitude in blue and latitude in red  Some example results  are shown in Fig 58      Retrieve the recorded eye positions     without removing them from the buffer   Remove   false    DATA   vetGetBufferedEyePositions  Remove                Display the retrieved positions   figure 2   cla  holdon    plot  DATA fickPositions   1   b     Longitude in blue  hold on    plot  DATA fickPositions   2   r     Latitude in red  grid on        63    Video Eyetracker Toolbox Communication    Figure 3 DER     File Edit View Insert Tools Desktop Window Help                                                OB so                            Fig 58  Tracked Eye Data in Fick Angular Co ordinates    Finally  the results are saved to disk and the eye position data  buffer is then deleted       Save the results to disk as a comma delimited file   CurrentDirectory   cd    tempfile    CurrentDirectory   myResults csv     vetSaveResults tempfile  CRS ffCommaDelimitedNumeric         Clear the data buffer   vetClear
77. ox Notes       149    Video Eyetracker Toolbox Notes       150    Video Eyetracker Toolbox Notes       151    Video Eyetracker Toolbox Notes       152    
78. pending on whether the  Video Eyetracker Toolbox is currently tracking     MATLAB Syntax    tracking   vetGetTracking     Return Values    tracking     A boolean value  1 by 1 matrix   where 0   FALSE and 1    TRUE     See also    vetStartTracking  vetStopTracking    vetGetToolboxVersion    This function returns the current video eyetracker toolbox version  number     MATLAB Syntax    toolboxVersion   vetGetToolboxVersion     Return Values    toolboxVersion     The Video Eyetracker Toolbox Software version  number     vetGetVideoSourceFile    If the Video Eyetracker Toolbox is set to play and track a pre   recorded video file then calling vetGetVideoSourceFile will  return the full name and file path of the  CAM file that has been  selected     MATLAB Syntax    videoSourceFile   vetGetVideoSourceFile        98    Video Eyetracker Toolbox Appendices    Return Values  videoSourceFile     A char array  a Matlab string  between 1 and 500  characters long  inclusive of the terminating null character      See also    vetSelectVideoSource    vetGetVideoSourceType    The Video Eyetracker Toolbox can obtain a video stream from a  number of different camera types  The function  vetSelectVideoSource allows you to specify the video source  that you are using  This function returns the value that has been  set using vetSelectVideoSource  or zero if no source has yet  been selected     MATLAB Syntax    videoSourceType   vetGetVideoSourceType     Return Values    videoSourceType   An intege
79. ply equally to the 50 Hz and 250 Hz  versions  Before proceeding further  it may be useful to make a  brief comparison between the video images obtained from the two  systems        Fig 74  50 Hz  Left  and 250 Hz  Right  Video Images    These images of the same test subject were taken using the 50  Hz CCD and 250 Hz CMOS cameras  The noticeable differences  are clarity  scale and the size of the Purkinje glints  The lower  clarity in the 250 Hz system is partly due to using a high speed  CMOS sensor and partly due to reduced depth of focus from  using a wider aperture lens to gather sufficient light  However  the  effects of lower image clarity are compensated for by using higher  optical magnification and larger Purkinje glints  In tests  both  systems meet the same specifications for accuracy although the  High Speed version will tolerate slightly less head movement        138    Video Eyetracker Toolbox Appendices    System slow to calibrate    The calibration process requires the subject to fixate on a series  of screen targets  The system will not advance to the next screen  target until it has made a number of consistent measurements  from the current fixation  A delay in advancing to the next screen  target may be caused by head movement which is tolerated  during normal use but not during calibration  Alternatively  slow  calibration may be the result of intermittent or noisy eye tracking      see relevant sections below     System fails to calibrate    Refusal to ad
80. procedure as described in the  previous section for a standard Dual VGA configuration  Since  GazeTracker uses the Primary Windows monitor to display  stimuli  you may find it easier to use if you drag the desktop icons  and Windows Task Bar onto the Secondary monitor   s desktop        18    Video Eyetracker Toolbox Calibration  CRS Visual Stimulus Generator    If you are using the Toolbox with a CRS Visual Stimulus  Generator  e g  ViSaGe or VSG2 5   you must configure the  stimulus monitor using the VSG Software Library  First  open  vsgDesktop from the Start menu via Start   Programs   VSG  Software Library   VSG Desktop and click on the Monitor  Configuration plug in  A red and green chessboard will be  presented on the VSG stimulus display            Monitor Configuration                          c   ato   Manual                                     Curent Settings  D    Device Moritor Flame Rate Scan Rate Width Height  VSG ViSaGe   256MB  VSG 71 01 0040  SONY GDM F520 100 00 8140 1024 768          TesiPatten  Piel Sie Calbration E          jer fr the VSG to prod         sized objects on screen  Fist setup                           with ofthe ma bec  the equi the snall square tuely square           Size of Square   00     v  pie Height of Square  37 40     mn          j Default Viewing Distance       480                                        Fig 8  Monitor Configuration within vsgDesktop    Now click on the Calibration tab  located in the main window of  vsgDesktop   Th
81. r Toolbox Communication    Synchronisation     50 Hz Systems    The cable supplied with your Video Eyetracker Toolbox  terminates with a 9 pin D type connector and a 25 pin D type  connector  The 9 pin connector attaches to the Picolo frame  grabber and the 25 pin connector to a Digital I O port on either a  VSG2 5 Feature Connector or a ViSaGe as shown in Fig 45    VSG2 5    Feature   Digital I O  Connector       Fig 45  25 pin Digital I O on ViSaGe  Left  and VSG2 5  Right     Note  It is not necessary to connect the 25 pin D type end of the  cable unless you are planning to synchronise the data collected  by the Toolbox with your stimulus presentation system     Trigger Cable to  VSG  if required                                       Cable to Picolo  Frame grabber                      Fig 46  Cable Connections for Triggering       52    Video Eyetracker Toolbox Communication    The Toolbox   s video capture card has four digital I O lines  The  first three  least significant  of these lines are set as input lines  and their states are read every frame  Thus  it is possible to feed  in three independent signals that will be read by the Toolbox  every frame  In order to guarantee that your trigger values are  read by the Toolbox they should last for at least a frame length as  the Toolbox only samples the lines once every frame     If you are  using a VSG  it is advisable to create stepped  rather than pulsed   triggers which are only modified when the stimulus changes   See
82. r scalar value  one of the following  constants              CRS vsCamera Progressive scan 50 Hz camera  no  identifying label on camera case    CRS vsFile Takes video from a pre recorded saved     CAM file   CRS vsCameral Interlaced mode 50 Hz camera  white       Camera l    label on camera case        CRS vsHighSpeedCamera60 High Speed Camera running at 60Hz       CRS vsHighSpeedCamera100 High Speed Camera running at 100Hz       CRS vsHighSpeedCamera160 High Speed Camera running at 160Hz       CRS vsHighSpeedCamera200 High Speed Camera running at 200Hz             CRS vsHighSpeedCamera250 High Speed Camera running at 250 Hz             99    Video Eyetracker Toolbox Appendices    See also    vetSelectVideoSource                                       6                                                         1     6    This function returns the value TRUE  1  if there are any results in  the data buffer  Results can only be entered into the buffer if the  Toolbox has been successfully calibrated and tracking has been  started     MATLAB Syntax  eyeDataAvailability   vetIsEyeDataAvailable     Return Values  eyeDataAvailability     An integer scalar  1 by 1 matrix  holding the  value 1 if eye data is available  and 0 if it is not     See also    vetClearDataBuffer  vetLatestGetEyePosition    vetLoadBmpFileToMimicScreen    Use this function to load a background bitmap onto the mimic  screen  The mimic screen is a graphical representation of eye  location  If a scaled image of th
83. ramming tool that supports Microsoft COM     The CRS Toolbox for MATLAB contains the commands you need  to use to control the Video Eyetracker Toolbox  To download the  CRS Toolbox for MATLAB  login to the CRS Support Portal     www crsltd com support login      What follows is a listing of the functions that make up the  MATLAB interface and the ways in which they can be used  A  description of the COM programming interface and additional  demonstrations are available from the Cambridge Research  Systems support portal  www crsltd com support login            81    Video Eyetracker Toolbox Appendices    vetAddRegion 84  vetCalibrate 85  vetCalibrateAdvanced 86  vetClearAllRegions 87  vetClearDataBuffer 88  vetClearMimicScreenBitmap 88  vetCreateCameraScreen 88  vetCreateMimicScreen 89  vetDeleteRegion 89  vetDestroyCameraScreen 90  vetDestroyMimicScreen 90  vetGetActiveRegion 90  vetGetBufferedEyePositions 91  vetGetCalibrated 93  vetGetEIBLEDsEnabled 93  vetGetEIB_XYOutputType 93  vetGetFixationLocation 94  vetGetLatestEyePosition 95  vetGetMimicScreenBitmap 96  vetGetPupilCalibrated 96  vetGetRegionCount 97  vetGetResultsCount 97  vetGetTracking 98  vetGetToolboxVersion 98  vetGetVideoSourceFile 98  vetGetVideoSourceType 99  vetlsEyeDataAvailable 100  vetLoadBmpFileToMimicScreen 100  vetLoadCalibrationFile 101  vetLoadBitmapToMimicScreen 102  vetSaveCalibrationFile 102  vetSaveMimicScreenBitmap 103  vetSaveResults 103  vetSelectVideoSource 104  vetSetCameraScreenDimensions
84. royMimicScreen   vetSetMimicScreenDimensions  vetSetMimicPersistence   vetLoadBitmapToMimicScreen  vetSetMimicTraceColor   vetSetMimicPersistenceType    vetSetMimicPersistenceType    vetSetMimicPersistenceType specifies the type of trace that is  displayed in the mimic window control  To display a continuous  trace illustrating eye position vetSetMimicPersistenceType  should be set to CRS ptMotion  To display eye position displayed  as growing Fixation circles linked by motion traces  vetSetMimicPersistenceType should be set to  CRS ptMotionAndFixation  Finally  to display just growing  Fixations set vetSetMimicPersistenceType to CRS ptFixations    MATLAB Syntax    vetSetMimicPersistenceType  mimicPersistenceType       Parameters    mimicPersistenceType     An integer value  1 by 1 matrix  which should  be one of the following constants     CRS ptMotion   CRS ptFixations   CRS ptMotionAndFixations        112    Video Eyetracker Toolbox Appendices    See also    vetCreateMimicScreen  vetDestroyMimicScreen   vetSetMimicScreenDimensions  vetSetMimicPersistence   vetLoadBitmapToMimicScreen  vetSetMimicTraceColor   vetSetMimicPersistenceT ype    vetSetMimicScreenDimensions    Use this function to set the dimensions of the mimic screen  Note  that this function should be called before the mimic screen is  created     MATLAB Syntax  vetSetMimicScreenDimensions  Left  Top  Width   Height    Parameters  Left     Specifies the left edge of the mimic screen  Top     Specifies the top ed
85. rror  Video Source not selected      end     Calibrate the video eyetracker  vetCreateCameraScreen   errorCode   vetCalibrate   if errorCode  0   error  Calibration not completed      end     Create the Mimic Screen window  vetCreateMimicScreen   vetSetMimicScreenDimensions 400  0  400  300    vetSetFixationPeriod 300    vetSetFixationRange  10    vetSetMimicPersistenceType  CRS ptMotionAndFixations        Set the palette and pen levels for drawing red and    green dots on a mean grey background     GreyLevel   1  GreyRGB    0 5  0 5  0 5    crsPaletteSetPixelLevel GreyLevel   GreyRGB     RedLevel   2  RedRGB    1 0  0 0  0 0    crsPaletteSetPixelLevel  RedLevel  RedRGB     GreenLevel   3  GreenRGB    0 0  1 0  0 0      crsPaletteSetPixelLevel GreenLevel  GreenRGB      oe    Draw the fixation point and target on their  respective video pages  whilst displaying a blank  page to  hide  the drawing   TargetSize   crsDegreesToPixels  0 3 0 3     BlankPage   1   crsClearPage  BlankPage  GreyLevel     FixationPage   2   crsClearPage  FixationPage GreyLevel       oe    oe             75    Video Eyetracker Toolbox Communication    TargetPage   3   crsClearPage  TargetPage   GreyLevel     crsSetDisplayPage  BlankPage        Draw a green fixation point on the fixation page  crsSetDrawPage  FixationPage     crsSetPenl  GreenLevel    crsDrawOval  0 0  TargetSize        Draw a red target on the target page  crsSetDrawPage  TargetPage     crsSetPenl  RedLevel    crsDrawOval  0 0  TargetSi
86. s    Video utilising Pupil and dual  first Purkinje images     Infrared camera plus 2 infrared  sources    50 Hertz   Up to 250 Hertz    20 msec   4    100 msec   0 05 Degree   3     10 Millimetres         0 5 Millimetres   0 125     0 25 Degree         40 Degrees   4     20 Degrees       12 Millimetres  50 Hz      8 Millimetres  250 Hz     Fick and Helmholtz co   ordinates in degrees or screen  position in millimetres       The maximum 100 msec latency figure quoted for the High   Speed System is due to the time required for the Eyetracker  Interface Box to create an analogue output for the tracked eye    positions        130    Video Eyetracker Toolbox Appendices    p    AppendixE Hot Mirror  Spectral Transmission       131    Video Eyetracker Toolbox Appendices    EN  N a              e e e e e            o     o o 2 o  eo       o  e  e  e                 E  22 E  eas x  so a  Ti      3 a  8  zs    00001    0 00 1    Fig 72  Spectral Transmission of Infrared Mirror       132    Video Eyetracker Toolbox Appendices    p       133    Video Eyetracker Toolbox Appendices    Technical Description    The Video Eyetracker Toolbox is able to return the view position  either in horizontal   vertical millimetres or in Fick or Helmholtz  angle co ordinates     The Fick system of angular coordinates specifies the horizontal   longitude  component first followed by the vertical  latitude   component  The Helmholtz system specifies the vertical   elevation  component first followed by th
87. s 100  red    0 1 0  produces 100  green    0 0 1  produces 100  blue     See also    vetCreateMimicWindow  vetSetMimicScreenDimensions   vetSetMimicBackgroundColor  vetSetMimicTraceColor    vetSetMimicPersistence    The vetSetMimicPersistence function specifies the duration of  the trace that appears on the mimic screen  For example  setting  mimicPersistence to 2 will cause the mimic screen control to  display eye positions for the most recent 2 seconds only     MATLAB Syntax    vetSetMimicPersistence  mimicPersistence      Parameters  mimicPersistence     A positive rational scalar  1 by 1 matrix   greater  than or equal to 0 05  This value has units of seconds     See also    vetCreateMimicScreen  vetDestroyMimicScreen   vetSetMimicScreenDimensions  vetSetMimicPersistenceType   vetLoadBitmapToMimicScreen  vetSetMimicTraceColor    vetSetMimicPersistenceStyle    The vetMimicPersistenceStyle function specifies the  appearance of the mimic trace  Setting  vetMimicPersistenceType to CRS psConstant will cause the  trace to appear as a constant color  good for picture search       111    Video Eyetracker Toolbox Appendices    tasks   If it is set to psFade  the trace will gradually fade into the  background     MATLAB Syntax    vetSetMimicPersistenceStyle  mimicPersistenceStyle       Parameters    mimicPersistenceStyle     An integer value  1 by 1 matrix  which  should be one of the following constants     CRS psConstant   CRS psFade     See also    vetCreateMimicScreen  vetDest
88. s at once using the  vetClearAllRegions function     MATLAB Syntax    vetDeleteRegion  RegionIndex     See also    vetAddRegion  vetClearAllRegions  vetRegionCount       89    Video Eyetracker Toolbox Appendices    vetDestroyCameraScreen    This function destroys the camera screen control created using  the vetCreateCameraScreen function    MATLAB Syntax    vetDestroyCameraScreen   See also    vetCreateCameraScreen  vetSetCameraScreenDimensions    vetDestroyMimicScreen    This function destroys the mimic screen  A mimic screen can be  created using the vetCreateMimicScreen function  Only one  mimic screen can exist at any one time  Mimic screens are used  to display the recent gaze direction in a graphical format     MATLAB Syntax    vetDestroyMimicScreen   See also    vetCreateMimicScreen  vetSetMimicScreenDimensions   vetMimicPersistence  vetMimicPersistenceType   vetLoadBitmapToMimicScreen  vetMimicTraceColor    vetGetActiveRegion    This function returns the current active Video Eyetracker Toolbox  Region Of  Interest  This is the region that the subject s direction  of gaze currently intersects  If the subject s direction of gaze does  not currently intersect a specified Region Of Interest  this function  will return a negative number   1      Regions of interest can be specified using the vetAddRegion   function  and are intended to assist with fixation monitoring tasks   The current region is also returned by vetGetLatestEyePosition  and vetGetBufferedEyePositions  Whe
89. s can be configured by a right mouse  click on the desktop and choosing the Properties option to open  the window shown in Fig 5     Once the Primary and Secondary screens have been suitably  configured  start the Toolbox   s VGA Calibration application  located in the Video Eyetracker Toolbox directory or from the  desktop via Start   Programs   Video Eyetracker Toolbox   VGA  Calibration  The VGA Calibration application will create a white  square on a black background on the Secondary monitor and  open the following window on the Primary monitor    VGA Pixel Size Calibration    Gy vga calibration    The system needs to know how big the pixels on the  display are in order to calibrate sizes correctly     To correctly calibrate your display please adjust your monitors width and height  settings as required to make the white square truly square     Use a ruler to measure the height of the box on the second display and then  enter the value into the edit box below  Click  OK  when finished to save the  value     Size of Square  24 0 a mm  Advanced Cancel i          Fig 6  VGA Pixel Size Calibration    To calibrate the Secondary monitor you must measure the width  and height of the square using a ruler and  if necessary  adjust  the horizontal or vertical scales on the display monitor itself to  ensure that both measurements are equal  When the white  stimulus is truly square  enter its height   width in the    Size of  Square    box and click OK  Note  this VGA Calibration pro
90. tRecordingToFile to record the currently selected  source to a file  The Toolbox does not perform any form of  compression on the recorded stream and consequently requires a  lot of space on a drive to record a file  30 seconds of recorded  data at 50 Hz requires approximately 200 Mb of storage     MATLAB Syntax  vetStartRecordingtoFile  filename     Parameters    Filename     A char array  Matlab string   containing a full filename and  path  This specifies the name of the file which the streamed video signal  will be saved to  You must specify the full path to your CAM file     C  myDirectory myVideo cam  See also    vetSelectVideoSource  vetStopRecording    vetStartTracking    This function initiates tracking and the collection of data  Note that  any data that has already been collected will be lost when this call  is made and data will only be collected if the subject has been  successfully calibrated   You can  however load a default  calibration file instead if your subject is unable to fixate  or difficult  to calibrate for other reasons      MATLAB Syntax  vetStartTracking     See also    vetStopTracking       116    Video Eyetracker Toolbox Appendices    vetStopRecording    Call vetStopRecording to stop the Toolbox recording the current  video stream to file     MATLAB Syntax  vetStopRecording     See also    vetStartRecording  vetSelectVideoSource     vetStopTracking    This function instructs the Video Eyetracker Toolbox to stop  tracking  Eye position data will r
91. the File menu  can be  used to deselect any of the default file entries shown in Fig 43  It  also provides an option to modify the field separator character  and include a time field  if required  This field is expressed in  milliseconds and starts at zero for the first results data entry   Temporal quantisation is dependant on the sampling rate of your  Selected Video Source     Save Custom Data File    File name            Include column headings  Fields  C Time   v  Tracked Yes No v    v  Horizontal Position   v  Vertical Position   v  Pupil Diameter   v  Digital 1 0       Data file field separator character    semi colon v    Cancel       Fig 44  Custom Data File Options Window    MATLAB Data File    mat     The results data file can also be saved as a MATLAB  mat format  from the File menu     Mimic Image    bmp     The Mimic image window  complete with mimic trace  can be  saved as a Bitmap image from the File menu        49    Video Eyetracker Toolbox videoEyetrace       50    Video Eyetracker Toolbox Communication     d    Communicating with the  Toolbox    In this section       Synchronisation     50 Hz Systems 52  Synchronisation     High Speed Systems 54  Eyetracker Interface Box     Inputs 54  CRS ViSaGe 55  CRS VSG2 5 56  Eyetracker Interface Box     Outputs 57  Video Eyetracker Toolbox and MATLAB 57  Worked MATLAB Eye Tracking Examples 58  Example 1  Bitmap Stimulus with Dual VGA 58    Example 2  Triggered Saccade Stimulus with VSG 68       51    Video Eyetracke
92. the Toolbox will track and measure it  Successful  tracking is indicated by a green outline located around the  circumference of the target  The current estimate for the size  of the target will be displayed in the top right corner of the  camera window  This value is calculated based upon the  current scaling factor     4  Move the Scale Stick so that it is focused on the number  shown in the Pupil Target Diameter box  8mm by default   If  you want to set the scale using a different size calibration dot   choose a different size from the drop down box labelled Pupil       26    Video Eyetracker Toolbox Calibration    Target Diameter located on the Calibration window  The  value selected in this box should always be set to the same  size as the target being tracked in the camera window        Pupil Target Diameter  3    mm       Fig 16  Pupil Target Diameter Dropdown Box  Now click the Apply button to set the new scaling factor     The reported diameter of the target will now be identical  or  very close to  the diameter of the target displayed in the  camera window  Measuring the remaining targets on the  calibration stick can be used as a method to check the  accuracy of the calibration over a large range     6  Click on the Scale button again to exit the pupil scale mode     Subject Gaze Calibration    1     With the subject positioned correctly in the EyeLock headrest  click the Start button on the Calibration window  A calibration  target will appear on the stimulus disp
93. the display screen  in millimetres  If Device is not set to deUser this parameter is ignored     Example    vetSetDeviceParameters CRS deUser viewingDistance mm width mm   height mm      See also    vetSetStimulusDevice  vetSetViewingDistanceMM   vetLoadBitmapToMimicWindow    vetSetEIB LEDsENABLED    This property sets the Eyetracker Interface Box LEDs on or off   Set this property to on  true  in order to turn the Eyetracker       107    Video Eyetracker Toolbox Appendices    Interface Box LEDs on  and set this property to off  false  in order  to turn the LEDs off     MATLAB Syntax  vetSetEIB_LEDsEnabled  LEDsEnabled       See also    vetVideoSourceType  vetGetEIB_LEDsEnabled    vetSetEIB XYOutputType    This property allows you to select the XY analog output type of  the Eyetracker Interface Box  The values output to the two analog  channels   These can either be 100 mm per volt  1000 mm per  volt  degrees elevation   azimuth  Helmholtz   or degrees  longitude   latitude  Fick      This value must be one of the following constants   CRS otMM100   MM  100 mm V  CRS otMM1000   MM  1000 mm   V  CRS otHelm1   0 1 Volts per degree Helmholtz coordinates  CRS otFicks1   0 1 Volts per degree Fick coordinates    MATLAB Syntax  vetSetEIB XYOutputType  XYOutputType      See also    vetGetLatestEyePosition  vetVideoSourceType   vetGetEIB XYOutputType    vetSetFixationPeriod    Set the value of fixationPeriod to specify the amount of time  in  milliseconds  a subject has to look in a p
94. the position of the first line of tracked eye  position and pupil diameter data  This results data is delimited so  that it may be readily imported into an Excel worksheet  as shown  below                                      a oso 6 e Data O  i84  fie Edit view Insert Format Tools Data RoboPDF Window Help  8X        Arial   10 x  BZ U  amp E  192   fe  A  B c                 7  1   DataStart   2  Line 12  3  Stimulus     4  Stimulus Still Picture   vsg  5   Still Picture   vsg   B  Duration 60    7  ImageFileName C  Glasgow  bmp    8  BackgroundColour 0 500 0 500 0 500    9   DataFormat   1D  SeparatorChar 44  11  Tracked Horizontal Position Vertical Position Pupil Diameter     DigitallO   12  1 13 494 0  13   1 13 545  2 61 5 6 0  14 1 13 6  2 615 5 61  n   15  1 13 561  2 638 561 0  46  1 13 605  2 68 56 0    17   1 13 638  2 647 5 61 0    18   1 13 613  2 644 5 6 0    19  1 13 602  2 638 5 59 0    20   1 13 67  2 678 5 62 0  2 1 13 667  2 643 5 62 0  22  1 13 623  2 63 5 61 0    23   1 13 624  2 608 5 6 0  24 1 13 658  2 648 5 61 0  25  1 13 616  2 633 5 61 0    26   1 13 637  2 605 5 61      27   1 13 653  2 607 5 62 0  28 1 13 695  2 613 5 62 0  29  1 13 758  2 592 5 62  n   30  1 13 708  2 671 5 61 0  31 1 13 686  2 664 5 62 0    1 T  2 61 5 62 0 v  5      gt  MNSheet1   Sheet2 J 5666   zen   lt        Ready    Fig 43  Results Data File       48    Video Eyetracker Toolbox videoEyetrace    Custom Results Data File    ved     The custom data file option  available from 
95. their     respective video pages  whilst displaying a blank    page to  hide  the drawing  TargetSize   crsDegreesToPixels  0 3 0 3     BlankPage   1     crsClearPage  BlankPage  GreyLevel     FixationPage   2   crsClearPage  FixationPage GreyLevel     TargetPage 23        crsClearPage  TargetPage   GreyLevel     crsSetDisplayPage  BlankPage        Draw a green fixation point on the fixation page  crsSetDrawPage  FixationPage     crsSetPenl  GreenLevel    crsDrawOval  0 0  TargetSize        Draw a red target on the target page  crsSetDrawPage  TargetPage     crsSetPenl  RedLevel    crsDrawOval  0 0  TargetSize         The next section of code defines the randomised timings and  locations of the fixation and saccade target stimuli  This is  designed to prevent the test subject from anticipating the position  or timing of the next stimulus  This test will present a total of 10  horizontal fixation and saccade targets with displacements of 0   fixation  5  7 5 and 10 degrees                Specify the timing for one trial       We use a 1   3 second random interval to elicit     reflexive  rather than predictive saccades   PageOrder    FixationPage  TargetPage  FixationPage    MinTime   crsSecondsToFrames   0 5  1  0 5     MaxTime   crsSecondsToFrames   1 5  3  1 5         Replicate the trials to provide data for all trials  NumTrials   10     Pages   repmat  PageOrder 1 NumTrials     MinTime   repmat MinTime  1 NumTrials    MaxTime   repmat  MaxTime  1 NumTrials    Times   roun
96. theoretical modelling and analysis     The Toolbox   s open interface design allows you to integrate eye  tracking functionality with your existing laboratory software or  write new eye tracking applications using a familiar environment   Because the Toolbox has been designed in this way  all aspects  of its eye tracking functionality can be accessed and controlled  from MATLAB or any windows programming tool that supports  Microsoft COM        57    Video Eyetracker Toolbox Communication    In particular  MATLAB   s relatively simple and concise scripting  environment has gained a widespread following among the vision  research community  As a result  MATLAB is now the default  software environment for which Cambridge Research Systems  provides support  What follows are two worked examples which  demonstrate the simplicity of using the Video Eyetracker Toolbox  from within MATLAB     The commands that make up the Video Eyetracker Toolbox  interface for MATLAB are detailed in Appendix A  If you want to  use a different programming tool  you will find more information  about the COM interface in the CRS Support Portal   www crsltd com support login      Worked MATLAB Eye Tracking Examples    The MATLAB scripts discussed in this section are distributed with  the CRS Toolbox for MATLAB which should be downloaded from  the Cambridge Research Systems Support Portal   www crsltd com support login  as described in Appendix A        Example 1  Bitmap Stimulus with Dual VGA    Example
97. tion    To obtain accurate data regarding the diameter of your  subject   s pupil you need to calibrate the Toolbox so it knows  the geometric scale of the video image it is being fed   Once  the correct scale factor has been set the Toolbox will be able  to determine pupil diameter to within a few hundredths of a  millimetre     Note  The scale factor does not have to be calibrated in order  to track a subject s gaze position correctly     To calibrate the scale factor for your subject follow the  instructions below     1  Temporally remove the subject s head from the EyeLock  headrest        2  Changing the focus point of the camera lens whilst positioning your subject will affect the scaling  factor of the Toolbox        25    Video Eyetracker Toolbox Calibration    2  Click the Scale button on the Calibration window to enter pupil  scale mode     3  Hold the Scale Calibration Stick in front of the camera lens  so that it is in the same vertical plane that the subject   s eye  was located  correctly focused and so one of the target dots  appears in the centre of the Toolbox   s camera window  The  target being presented to the Toolbox should be focused by  altering the distance between the calibration stick and the  mirror  Do not adjust the camera   s focusing ring     The camera window should now contain an image similar to  Fig 15 below        Fig 15  Tracking the Pupil Scale Calibration Stick    Whilst a target on the calibration stick is centred in the camera  window 
98. tly  from the image data  Subject calibration works as follows        Subject Calibration       subject calibration            Save as Default Calibration    Fig 13  Calibration Window with Default Settings    The calibration window in Fig 13 can be displayed using one of  the supplied demonstration scripts which are part of the CRS  Toolbox for MATLAB  These can be downloaded from our       1 Note  these instructions assume the subject has been positioned correctly with their eye in focus  and that the stimulus monitor has been calibrated for pixel size and viewing distance  For more  information consult the previous sections        24    Video Eyetracker Toolbox Calibration    Support Portal  www crsltd com support login   see Appendix A  on page 81   The calibration scripts are saved by default in the  vetDemos folder        You need to run either demoVETcalibrationVGA or  demoVETcalibrationVSG depending on whether you have a  Dual VGA or CRS Visual Stimulus Generator monitor setup  This  will create and display the Toolbox   s Calibration window as shown  in Fig 13   Note  this window can also be accessed by clicking on  the Calibrate icon  Fig 14  within videoEyetrace  If the Calibrate  icon appears greyed out  you need to make sure you have  initialised your VET camera by choosing the appropriate type  using the Select Video Source on the File menu     see  videoEyetrace chapter on page 35 for further details                 Fig 14  Calibrate Icon    Pupil Scale Calibra
99. to match  the conditions of the task that will be conducted by the subject  after calibration  To do this you should click on the Advanced  button to display the Advanced Calibration Parameters window  as shown in Fig 20     Using the options on this window it is possible to adjust the  following characteristics  These settings are listed in the order that  they appear on the window     Advanced Calibration Parameters      Sy advanced calibration parameters  Fixation Characteristics  Duration  501 E ms    Calibration Accuracy Level    Calibration Points    Vertical Points  Horizontal Points    Screen Scale Factor    Target Stimulus  Shape  Circle    Size  0 30 a Degrees    Target Colour          Background Colour Sy m    Cancel          Fig 20  Advanced Calibration Parameters Window    e Fixation Duration  This sets the time period data is collected  over when making pupil and Purkinje measurements  The  larger this parameter the more frames will be used in the  calculations and the longer the calibration procedure will take         Calibration Accuracy level  Allows you to adjust the tolerance  the Toolbox uses when validating clusters of pupil and  Purkinje measurements        30    Video Eyetracker Toolbox Calibration    Vertical Points  Calibration targets are arranged in a 2D array   This setting determines how many vertical locations are used  to perform the calibration     Horizontal Points  Same as above except this setting specifies  the number of horizontal elements
100. ue  stimulus presentation and eye movement analysis software   GazeTracker    is a powerful software package that consolidates  stimulus presentation  information synchronisation  data analysis  and visualisation  See our website  www crsltd com  for further  information              Fig 2  GazeTracker     Analysis of Dynamic Scene Content       11    Video Eyetracker Toolbox Introduction    CRS Video Eyetracker Toolbox    The Video Eyetracker Toolbox family of video eye trackers are  designed to work with a standard PC running Windows XP  without any custom processing hardware  Apart from the obvious  difference in the range of supported video frame rates  from a  user   s perspective  all systems share most of their functionality in  common  This document will therefore treat common functionality  by default and only refer to specific systems where necessary     50 Hz Video Eyetracker Toolbox    The 50 Hz Video Eyetracker Toolbox is a monocular eye tracker  primarily intended for gaze tracking applications where the  objective of the research is to determine where a test subject is  looking and for how long  The videoEyetrace picture in Fig 1 is an  example of where the 50 Hz system has been used to track a  horizontal smooth pursuit target while monitoring pupil diameter     The 50 Hz systems are supplied with one of two different camera  configurations called  Standard Camera or Standard Camera l   Standard Camera uses a progressive scan mode to acquire the  video frames 
101. using the  vetCalibrateAdvanced function     The vetCalibrate function will display targets on either a  Secondary Windows VGA display  or on a VSG  depending on the  stimulus device that has been selected using the  vetSetStimulusDevice function     If a  user  stimulus device has been selected  then it is up to the  user to draw fixation targets on their stimulus device  under the  control of user  specifiable callbacks  You can specify these  callbacks using the following functions   vetSetCallbacklnitialiseDisplay  vetSetCallbackClearDisplay   vetSetCallbackDrawTarget  User device parameters also need  to be set using the vetSetDeviceParameters function     NOTE  You must select the video source and the stimulus device  before calling vetCalibrate  See demoVETQuickstart for a  worked example     MATLAB Syntax    vetCalibrate   See also    vetCalibrateAdvanced  vetCalibrationStatus vetSelectVideoSource   vetStartTracking  vetLoadCalibrationFile  vetSaveCalibrationFile       85    Video Eyetracker Toolbox Appendices    vetCalibrateAdvanced    Like vetCalibrate this function can be used to calibrate a subject   vetCalibrateAdvanced opens the Calibration window but unlike  vetCalibrate it passes a number of parameters to the window  overwriting the Calibration window   s default settings  Thus  this  function makes it possible to perform a non standard calibration  without using the Advanced Calibration Parameter dialog  This  function returns True  1  if the calibration has 
102. vance beyond the first screen target during  calibration will either be the result of the system failing to locate  the Purkinje glints or the pupil  or both  The actual mode of failure  will be shown in the live image window by the absence of one or  more fitted ellipses     see relevant section s  below     System fails to track the eye    A sudden failure to track the eye will either be the result of the  system failing to locate the Purkinje glints or the pupil  or both   The actual mode of failure will be shown in the live image window  by the absence of one or more fitted ellipses     see relevant  section s  below        139    Video Eyetracker Toolbox Appendices    System fails to track the Pupil    Failure of the system to locate the pupil could be due to one or  more of the following     e The pupil is no longer fully contained within the image or  very close to the image edge           Fig 75  Poorly Positioned Eye    e The eye is no longer in focus due to head movement  away from the infrared mirror  Ensure that the subject  maintains contact with the headrest at all times and  refocus if necessary           Fig 76  Out of Focus Eye       140    Video Eyetracker Toolbox Appendices    e The eyelid is partially obscuring the eye        Fig 77  Pupil Obscured by Eyelid    e The eye is looking beyond its intended range of rotation   If this occurs during calibration  it may be necessary to  reduce the screen scale factor in the calibration  advanced settings window   
103. vided they are  either not as bright as the Purkinje reflections or do not lie  close to the pupil     You should now be able see an image of the subject   s eye  similar to Fig 12        Fig 12  Typical Video Image of Eye    9  Lastly  before performing a calibration  ask the subject to view  the four corners of the stimulus screen  Ensure that the two  Purkinje glints remain compact and maintain constant  separation over the full range of intended eye movements  If  not  it will be necessary to reduce the range of intended eye  rotations to ensure that both Purkinje glints always lie on the  corneal surface  This can be achieved by moving the stimulus  screen further away from the eye or by changing the    Screen       23    Video Eyetracker Toolbox Calibration    Scale Factor    in the Advanced Calibration Settings  see next  section   Note  if you move the stimulus display  you must re   measure the Viewing Distance and set the new value using  the scheme appropriate to your graphics configuration  see  the Monitor Configuration section in this chapter for details      Subject Calibration    Calibration enables the Toolbox to learn the relationship between  where a subject is looking and where their pupil and Purkinje  glints appear in the video image  This is achieved by asking your  subject to fixate on a number of screen targets whose positions  are known to the system  Once calibration is complete  the  Toolbox will be able to calculate all subsequent viewpoints direc
104. w protocol Save protocol Calibrate subject Run stimulus presentation    T BP I cti x      A Boo   v s  Open protocol View options Load Trace zoom Stop stimulus  and data file window stimulus in out presentation    Fig 26  Toolbar       38    Video Eyetracker Toolbox videoEyetrace    Data windows    videoEyetrace outputs eye tracking results using two data  windows  The upper data window outputs the tracked eye  positions in graphical form using the horizontal axis to represent  time and the vertical axis to represent eye position  During  tracking  the graph displays two traces showing how the  horizontal and vertical components of eye position vary with time   Untracked sections caused by blinking or looking outside the  legitimate viewing range are denoted by a yellow trace  superimposed on the horizontal time axis     untracked  9  Horizontal screen position  mm       Vertical screen position  mm  Ii          Fig 27  videoEyetrace Eye Tracking Graph    The lower data window  which shares the same horizontal time  axis  plots the calculated pupil width for each tracked frame plus a  digital input trace if timing signals are used        Pupil diameter  mm  IM  DigitallO                    Fig 28  videoEyetrace Pupil Diameter and Digital  O Graph       39    Video Eyetracker Toolbox videoEyetrace    During tracking  both graphical outputs will automatically scroll  forwards and can be zoomed in or out  either horizontally or  vertically  using the following toolbar icons     
105. whereas Standard Camera l uses an interlaced  mode  Both will give equivalent performance but it will be  necessary to select the appropriate type to match the supplied  camera configuration before enabling the eye tracker  Standard  Cameras are supplied unlabelled whereas Standard Camera l  versions are supplied with a label on the camera assembly     High Speed Video Eyetracker Toolbox    The High Speed version of the Video Eyetracker Toolbox is a  monocular video eye tracker primarily intended for oculomotor  research  It provides a sampling frequency that is sufficient to  capture the frequency spectrum of eye dynamics  Fig 3 shows  where videoEyetrace has been used with a 250 Hz sampling rate  to measure eye movements during a saccade task while  monitoring pupil diameter        12    Video Eyetracker Toolbox Introduction          Re  B E Bem    z                                                    Selected Stimulus  Saccade Task vso     T Pipil Diameter  3 21    Calibrated    Fig 3  High Speed Eyetracker with Saccade Stimulus    Images Acquired with 50 Hz and High Speed Systems    The major difference between the 50 Hz and High Speed  versions of the Video Eyetracker Toolbox lies in the camera and  illumination geometries required to operate at higher frame rates   The 50 Hz system uses a standard CCD sensor whereas the  High Speed version requires a CMOS sensor to operate at  frequencies up to 250 Hz  In addition  the dual Purkinje glints  generated by the infrared illu
106. ws  you to limit the number of points returned by this function  This is  useful if the buffer is large and you can only deal with a limited  number of points at any one time     MATLAB Syntax  data   vetGetBufferedEyePositions       91    Video Eyetracker Toolbox Appendices    data vetGetBufferedEyePositions  removeFromBuffer   data vetGetBufferedEyePositions  maximumPoints   data   vetGetBufferedEyePositions  maximumPoints   removeFromBuffer       Parameters    maximumPoints      Optional parameter  A scalar integer indicating the  maximum number of points to return to MATLAB     removeFromBuffer      Optional parameter  A scalar logical controlling  the removal of returned eye positions from the VET buffer    Return Values  data     A MATLAB structure containing the VET eye position data   Data timeStamps     Time in milliseconds since tracking started   Data tracked     A Boolean value where 0   FALSE and 1   TRUE  Data calibrated   A Boolean value where 0   FALSE and 1   TRUE  Data pupilDiameter     Pupil diameter in millimetres     Data mmPositions     Direction of gaze projected onto stimulus display  in  mm   X Y     Data ficksPositions     Eye rotation in Fick coordinates  Longitude   Latitude     Data helmholtzPositions     Eye rotation in Helmholtz coordinates   Elevation  Azimuth      Data region     Current region number  Data fixation   A Boolean value where 0   FALSE and 1   TRUE    Data digitallO     A value containing the combined digital IO values  see  page
107. ycle  Pages Xlocations Ylocations Times T  riggers  Repeating       Start eyetracking and stimulus cycling   vetStartTracking    crsSetCommand  CRS CYCLEPAGEENABLE     pause  crsFramesToSeconds  sum  Times          crsSetDisplayPage  BlankPage      vetStopTracking     Tidy up by clearing away the camera screen   vetDestroyCameraScreen   vetDestroyMimicScreen      Retrieve the recorded eye positions  remove   false    DATA   vetGetBufferedEyePositions  remove        Display the eye positions and triggers  g 7 figure    plot DATA ficksPositions   1   b      longitude in blue  hold on    plot DATA ficksPositions   2   r      latitude in red  hold on    plot DATA digitallO  g      triggers in green   grid on      Finally  save the results to disk as a  mat file   tempfile    C  myResults mat    vetSaveResults tempfile  CRS ffMATfile         77    Video Eyetracker Toolbox Appendices     d    In this section       Appendix A MATLAB Toolbox Commands 81  Appendix B Imaging and Illumination Geometry 122  Appendix C Template for Fixed Mount EyeLock 127  Appendix D System Specification 129  Appendix E Hot Mirror Frequency Response 131  Appendix F Fick and Helmholtz Coordinates 133  Appendix G Data Returned by the Toolbox 135  Appendix H Troubleshooting 137  Notes 147       79    Video Eyetracker Toolbox Appendices       80    Video Eyetracker Toolbox Appendices           d    Appendix A  MATLAB Commantds    The Video Eyetracker Toolbox can be controlled using MATLAB  or any Windows prog
108. yetrace    amount of time that the trace will persist before disappearing  This  is set  by default  to 5 seconds duration but can be altered  accordingly  The second dialog box controls whether the trace  should persist with constant or fading intensity for the prescribed  duration     Video Eyetracker Options  options  Graph   Configuration    Mimic Window   EIB  Settings  Trace Persistence  5 00    seconds  Trace Style   Constant  v    Trace Type   Motion v    Tace coo o C    Fixation Colour                          Fig 36  Video Eyetracker Options   Mimic Tab    The third box controls the type of information to be plotted on the  Mimic window  This can be set to map out eye motion  eye  fixations  or both  Eye fixations are represented as circles where  the centres represent eye position and the radii represent  duration  The last 2 boxes control the motion trace and fixation  colours     EIB Tab  High Speed System only     The EIB tab allows you to configure the High Speed Eyetracker  Interface Box  The first sub window allows you to disable the  LEDs on the Eyetracker Interface Box front panel if  for example   their light output could possibly interfere with the experiment  The       44    Video Eyetracker Toolbox videoEyetrace    second sub window controls the signal output for the detected  eye position  This can be either 0 01 volts per mm  0 001 volts per    mm  or 0 1 volt per degree in either Fick or Helmholtz angular co   ordinates     Video Eyetracker Options  
109. ze         oe    Specify the timing for one trial       We use a 1   3 second random interval to elicit     reflexive  rather than predictive saccades   PageOrder    FixationPage TargetPage FixationPage    MinTime   crsSecondsToFrames   0 5  1  0 5     MaxTime   crsSecondsToFrames   1 5  3  1 5                Replicate the trials to provide data for all trials  NumTrials   10     Pages   repmat  PageOrder l NumTrials    MinTime   repmat MinTime  1 NumTrials    MaxTime   repmat  MaxTime  1 NumTrials    Times   round MinTime    rand     MaxTime   MinTime                    Specify target locations from 5 to 10 degrees   We    invert the x and y locations because we are moving    the video window offset  not the video memory    Xlocations    crsDegreesToPixels   5 0  7 5  10 0     Ylocations    crsDegreesToPixels   0 0  0 0  0 0       Generate random locations for each entry    Indices   ceil rand size Pages        numel  Xlocations       Xlocations   Xlocations  Indices     Ylocations   Ylocations  Indices       Make sure the fixation point always appears at 0 0  Xlocations  Pages  FixationPage    0    Ylocations  Pages  FixationPage    0       Specify triggers to identify when a target shift has  occurred       The VET captures digital output lines 6  7 and 8    Triggers   zeros size Pages      Triggers  Pages  FixationPage    bin2dec  011100000       ole       76    Video Eyetracker Toolbox Communication    o      Set up RTS page cycling    Repeating   false    crsSimplePageC
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Raymarine E Series E80 8.4" Display  Kenroy Home 90371BS Installation Guide  User Manual - Safe Home Products  6" Color Video Wall Panel - AV-iQ  ADSL 2/2+ VPN Firewall Router  AudioSource Powered Subwoofer with Built-in Stereo Crossover Speaker System User Manual  FLORA USER MANUAL  取扱説明書  Braun L955 User's Manual  Consulter le rapport final pour l`évaluation du projet AP3_093    Copyright © All rights reserved. 
   Failed to retrieve file