Opticka 2.16.1
Opticka is an experiment manager for behavioral research.
Loading...
Searching...
No Matches
eyetrackerCore Class Reference

Detailed Description

class for all eyetrackers Class methods enable the user to test for common behavioural eye tracking tasks with single commands. For example, to initiate a task we normally place a fixation cross on the screen and ask the subject to saccade to the cross and maintain fixation for a particular duration. This is achieved using testSearchHoldFixation('yes','no'), using the properties: fixation.initTime to time how long the subject has to saccade into the window, fixation.time for how long they must maintain fixation, fixation.radius for the radius around fixation.X and fixation.Y position. The method returns the 'yes' string if the rules are matched, and 'no' if they are not, thus enabling experiment code to simply call this method until it returns 'yes''. Other methods include isFixated(), testFixationTime(), testHoldFixation().

This class enables several types of behavioural control:

  1. Fixation window: one or more areas where the subject must enter with their eye position within a certain time and must maintain fixation for a certain time. Windows can be circular or rectangular.
  2. Exclusion zones: one or more rectangular areas that cause failure if entered.
  3. Fix initiation zone: an area the eye must stay with for a certain time before a saccade. For example if a subect fixates, then must saccade a time X, do not allow the eye to leave this zone before X + t (t by default is 100ms). This stops potential cheating by the subject.

Try using the demo mode to see it in action (read the runDemo() code to understand how to use the class):

>> eT = eyelinkManager('verbose', true);
>> eT.runDemo();

Multiple fixation windows can be assigned (either circular or rectangular), and in addition multiple exclusion windows (exclusionZone) can ensure a subject doesn't saccade to particular parts of the screen. fixInit allows you to define a minimum time with which the subject can initiate a saccade away from a position (which stops a subject cheating by moving the eyes too soon).

For the eyelink we also allow the use of remote calibration and can call a reward systems during calibration / validation to improve subject performance compared to the eyelink toolbox alone.

Copyright ©2014-2023 Ian Max Andolina — released: LGPL3, see LICENCE.md

Inheritance diagram for eyetrackerCore:

Public Member Functions

virtual initialise (in in)
 ALL Children must implement these methods!
 
virtual close (in in)
 
virtual checkConnection (in in)
 
virtual updateDefaults (in in)
 
virtual trackerSetup (in in)
 
virtual startRecording (in in)
 
virtual stopRecording (in in)
 
virtual getSample (in in)
 
virtual trackerMessage (in in)
 
virtual statusMessage (in in)
 
virtual runDemo (in in)
 
function eyetrackerCore (in varargin)
 This is the constructor for this class.
 
function getMouseSample (in me)
 get mouse sample as eye data
 
function resetAll (in me)
 reset all fixation/exclusion data
 
function resetFixation (in me, in removeHistory)
 reset the fixation counters ready for a new trial
 
function resetExclusionZones (in me)
 reset the exclusion state ready for a new trial
 
function resetFixationTime (in me)
 reset the fixation time ready for a new trial
 
function resetFixationHistory (in me)
 reset the recent fixation history: xAll yAll pupilAll
 
function resetFixInit (in me)
 reset the fixation initiation to 0
 
function resetOffset (in me)
 reset the fixation offset to 0
 
function driftOffset (in me)
 our own version of eyelink's drift correct
 
function updateFixationValues (in me, in x, in y, in inittime, in fixtime, in radius, in strict)
 
function updateExclusionZones (in me, in x, in y, in radius)
 Sinlge method to update the exclusion zones, can pass multiple x & y values for multiple exclusion zones, sharing the same radius.
 
function isFixated (in me)
 isFixated tests for fixation and updates the fixLength time
 
function testExclusion (in me)
 testExclusion
 
function testSearchHoldFixation (in me, in yesString, in noString)
 Checks for both searching and then maintaining fix. Input is 2 strings, either one is returned depending on success or failure, 'searching' may also be returned meaning the fixation window hasn't been entered yet, and 'fixing' means the fixation time is not yet met... 'blinking' can be returned when ignoreBlinks = true and we think a blink may be occuring.
 
function testHoldFixation (in me, in yesString, in noString)
 Checks if we're still within fix window. Input is 2 strings, either one is returned depending on success or failure, 'fixing' means the fixation time is not yet met...
 
function testWithinFixationWindow (in me, in yesString, in noString)
 testWithinFixationWindow simply tests we are in fixwindow
 
function testFixationTime (in me, in yesString, in noString)
 Checks if we've maintained fixation for correct time, if true return yesString, if not return noString. This allows an external code to quickly select a string based on this. Use.
 
function checkEye (in me)
 checks which eye is available, force left eye if binocular is enabled
 
function drawEyePosition (in me, in ignoredArg)
 draw the current eye position on the main PTB display
 
function drawEyePositions (in me)
 draw the sampled eye positions in xAll yAll on the subject screen
 
function trackerTrialStart (in me, in trialNumber, in task, in stimuli)
 Send trial start information to tracker.
 
function trackerTrialEnd (in me, in result)
 Send trial end information to tracker.
 
function trackerClearScreen (in me)
 draw the background colour
 
function trackerFlip (in me, in dontclear, in force)
 flip the tracker display, always use dontsync
 
function trackerDrawStatus (in me, in comment, in stimPos, in dontClear, in dontFlip)
 draw general status
 
function trackerDrawStimuli (in me, in ts, in dontClear)
 draw the stimuli boxes on the tracker display
 
function trackerDrawFixation (in me)
 draw the fixation box on the tracker display
 
function trackerDrawExclusion (in me)
 draw the fixation box on the tracker display
 
function trackerDrawEyePosition (in me)
 draw the fixation position on the tracker display
 
function trackerDrawEyePositions (in me)
 draw the sampled eye positions in xAll yAll
 
function trackerDrawText (in me, in textIn)
 draw the fixation box on the tracker display
 
function doFlip (in me)
 
function edfMessage (in me, in message)
 send message to store in EDF data
 
function getEvent (in me)
 TODO.
 
function saveData (in me, in args)
 compatibility with tobiiManager
 
- Public Member Functions inherited from optickaCore
function optickaCore (in varargin)
 Class constructor.
 
function get fullName (in me)
 
function getALF (in me, in subject, in sessionPrefix, in lab, in create)
 
function findAttributes (in me, in attrName, in attrValue)
 
function findAttributesandType (in me, in attrName, in attrValue, in type)
 find properties of object with specific attributes, for example all properties whose GetAcccess attribute is public and type is logical.
 
function findPropertyDefault (in me, in propName)
 
function clone (in me)
 Use this syntax to make a deep copy of the object, i.e. OBJ_OUT has the same field values, but will not behave as a handle-copy of me anymore.
 
function checkSuperclasses (in List)
 
function editProperties (in me, in properties)
 method to modify a set of properties
 
function setProp (in me, in property, in value)
 method to fast change a particular value. This is useful for use in anonymous functions, like in the state machine.
 
function initialiseGlobals (in me, in doReset, in doOpen)
 
function initialiseSaveFile (in me)
 Initialise Save prefix.
 
function checkPaths (in me)
 checks the paths are valid
 

Public Attributes

Property type
 type of eyetracker
 
Property fixation
 
Property exclusionZone
 
Property fixInit
 
Property offset
 
Property sampleRate
 tracker update speed (Hz)
 
Property isDummy
 start eyetracker in dummy mode?
 
Property recordData
 do we record and/or retrieve eyetracker data with remote interface?
 
Property useOperatorScreen
 use an operator screen for online display etc.
 
Property ignoreBlinks
 
Property saveFile
 name of eyetracker EDF file
 
Property subjectName
 subject name
 
Property verbose
 do we log debug messages to the command window?
 
Property calibration
 info for setup / calibration
 
Property stimulusPositions
 stimulus positions to draw on screen
 
Property screen
 the PTB screen to work on, passed in during initialise
 
Property operatorScreen
 operator screen used during calibration
 
Property win
 the PTB screen handle, normally set by screenManager but can force it to use another screen
 
Property secondScreen
 is operator screen being used?
 
Property eyeSize
 size to draw eye position on screen
 
Property skipFlips
 for trackerFlip, we can only flip every X frames
 
Property isOff
 make the eyetracker not useable
 
Property debug
 lots of logging if debug = true
 
Property x
 Gaze X position in degrees.
 
Property y
 Gaze Y position in degrees.
 
Property pupil
 pupil size
 
Property isFix
 last isFixated true/false result
 
Property isInitFail
 did the fixInit test fail or not?
 
Property isBlink
 are we in a blink?
 
Property isExclusion
 are we in an exclusion zone?
 
Property fixTotal
 total time searching for and holding fixation
 
Property fixInitLength
 Initiate fixation length.
 
Property fixLength
 how long have we been in the fixation window?
 
Property fixBuffer
 when ~strict, we accumulate the total time in the window
 
Property fixInitStartTime
 Initiate fixation time.
 
Property fixStartTime
 
Property fixWindow
 which fixation window matched the last fixation?
 
Property currentOffset
 last time offset betweeen tracker and display computers
 
Property trackerTime
 tracker time stamp
 
Property currentSample
 
Property currentEvent
 
Property isConnected
 
Property isRecording
 
Property eyeUsed
 
Property version
 
Property xAll
 All gaze X position in degrees reset using resetFixation.
 
Property yAll
 Last gaze Y position in degrees reset using resetFixation.
 
Property pupilAll
 all pupil size reset using resetFixation
 
Property data
 data streamed out from the Tobii
 
Property validationData
 validation data
 
Property xAllRaw
 
Property yAllRaw
 
Property flipTick
 flipTick
 
Property sampleTemplate
 currentSample template
 
Property ppd_
 
Property fixN
 
Property fixSelection
 
Property allowedPropertiesBase
 allowed properties passed to object upon construction
 
- Public Attributes inherited from optickaCore
Property name
 object name
 
Property comment
 comment
 
Property verbose
 verbose logging, subclasses must assign this. This is normally logical true/false
 
Property dateStamp
 clock() dateStamp set on construction
 
Property uuid
 universal ID
 
Property paths
 storage of various paths
 
Property fullName
 The fullName is the object name combined with its uuid and class name.
 

Protected Member Functions

function drawValidationResults (in me, in n)
 
function toDegrees (in me, in in, in axis, in inputtype)
 to visual degrees from pixels
 
function toPixels (in me, in in, in axis, in inputtype)
 to pixels from visual degrees / relative input can be [x] [y] [-x -y +x +y]('rect') [xy] or [-x +x -y +y]
 
- Protected Member Functions inherited from optickaCore
function parseArgs (in me, in args, in allowedProperties)
 Sets properties from a structure or normal arguments pairs, ignores invalid or non-allowed properties.
 
function addArgs (in me, in args)
 
function setPaths (in me)
 Sets properties from a structure or normal arguments pairs, ignores invalid or non-allowed properties.
 
function getFonts (in me)
 set paths for object
 
function toStructure (in me)
 Converts properties to a structure.
 
function getType (in me, in in)
 
function logOutput (in me, in in, in message, in override)
 Give a metaproperty return the likely property class.
 
function salutation (in me, in varargin)
 Prints messages dependent on verbosity.
 

Additional Inherited Members

- Static Public Member Functions inherited from optickaCore
static function makeArgs (in args)
 Converts cell args to structure array.
 
static function addDefaults (in args, in defs)
 add default options to arg input
 
static function hasKey (in in, in key)
 check if a struct / object has a propery / field
 
static function getKeys (in device)
 PTB Get key presses, stops key bouncing.
 
- Protected Attributes inherited from optickaCore
Property cloning
 are we cloning this from another object
 
Property mversion
 Matlab version number, this is transient so it is not saved.
 
Property sansFont
 sans font
 
Property monoFont
 monoFont
 
Property className
 class name
 
Property savePrefix
 save prefix generated from clock time
 
Property fullName_
 cached full name
 

Constructor & Destructor Documentation

◆ eyetrackerCore()

function eyetrackerCore::eyetrackerCore ( in  varargin)

This is the constructor for this class.

Member Function Documentation

◆ checkConnection()

virtual eyetrackerCore::checkConnection ( in  in)
virtual

◆ checkEye()

function eyetrackerCore::checkEye ( in  me)

checks which eye is available, force left eye if binocular is enabled

◆ close()

virtual eyetrackerCore::close ( in  in)
virtual

◆ doFlip()

function eyetrackerCore::doFlip ( in  me)

◆ drawEyePosition()

eyetrackerCore::drawEyePosition ( in  me,
in  ignoredArg 
)

draw the current eye position on the main PTB display

◆ drawEyePositions()

function eyetrackerCore::drawEyePositions ( in  me)

draw the sampled eye positions in xAll yAll on the subject screen

◆ drawValidationResults()

function eyetrackerCore::drawValidationResults ( in  me,
in  n 
)
protected

◆ driftOffset()

eyetrackerCore::driftOffset ( in  me)

our own version of eyelink's drift correct

◆ edfMessage()

function eyetrackerCore::edfMessage ( in  me,
in  message 
)

send message to store in EDF data

◆ getEvent()

function eyetrackerCore::getEvent ( in  me)

TODO.

◆ getMouseSample()

function eyetrackerCore::getMouseSample ( in  me)

get mouse sample as eye data

◆ getSample()

virtual eyetrackerCore::getSample ( in  in)
virtual

◆ initialise()

virtual eyetrackerCore::initialise ( in  in)
virtual

ALL Children must implement these methods!

◆ isFixated()

function eyetrackerCore::isFixated ( in  me)

isFixated tests for fixation and updates the fixLength time

Returns
fixated boolean if we are fixated
fixtime boolean if we're fixed for fixation time
searching boolean for if we are still searching for fixation
window which fixation window matched
exclusion was any exclusion window entered?
initfail did subject break fixinit rule?
blinking is the subject putatively blinkng?

◆ resetAll()

function eyetrackerCore::resetAll ( in  me)

reset all fixation/exclusion data

◆ resetExclusionZones()

function eyetrackerCore::resetExclusionZones ( in  me)

reset the exclusion state ready for a new trial

◆ resetFixation()

function eyetrackerCore::resetFixation ( in  me,
in  removeHistory 
)

reset the fixation counters ready for a new trial

Parameters
removeHistoryremove the history of recent eye position?

◆ resetFixationHistory()

function eyetrackerCore::resetFixationHistory ( in  me)

reset the recent fixation history: xAll yAll pupilAll

◆ resetFixationTime()

function eyetrackerCore::resetFixationTime ( in  me)

reset the fixation time ready for a new trial

◆ resetFixInit()

function eyetrackerCore::resetFixInit ( in  me)

reset the fixation initiation to 0

◆ resetOffset()

function eyetrackerCore::resetOffset ( in  me)

reset the fixation offset to 0

◆ runDemo()

virtual eyetrackerCore::runDemo ( in  in)
virtual

◆ saveData()

function eyetrackerCore::saveData ( in  me,
in  args 
)

compatibility with tobiiManager

◆ startRecording()

virtual eyetrackerCore::startRecording ( in  in)
virtual

◆ statusMessage()

virtual eyetrackerCore::statusMessage ( in  in)
virtual

◆ stopRecording()

virtual eyetrackerCore::stopRecording ( in  in)
virtual

◆ testExclusion()

function eyetrackerCore::testExclusion ( in  me)

testExclusion

◆ testFixationTime()

function eyetrackerCore::testFixationTime ( in  me,
in  yesString,
in  noString 
)

Checks if we've maintained fixation for correct time, if true return yesString, if not return noString. This allows an external code to quickly select a string based on this. Use.

◆ testHoldFixation()

function eyetrackerCore::testHoldFixation ( in  me,
in  yesString,
in  noString 
)

Checks if we're still within fix window. Input is 2 strings, either one is returned depending on success or failure, 'fixing' means the fixation time is not yet met...

Parameters
yesStringif this function succeeds return this string
noStringif this function fails return this string
Returns
out the output string which is 'fixing' if the fixation window was entered but not for the requisite fixation time, or the yes or no string.

◆ testSearchHoldFixation()

function eyetrackerCore::testSearchHoldFixation ( in  me,
in  yesString,
in  noString 
)

Checks for both searching and then maintaining fix. Input is 2 strings, either one is returned depending on success or failure, 'searching' may also be returned meaning the fixation window hasn't been entered yet, and 'fixing' means the fixation time is not yet met... 'blinking' can be returned when ignoreBlinks = true and we think a blink may be occuring.

Parameters
yesStringif this function succeeds return this string
noStringif this function fails return this string
Returns
out the output string which is 'searching' if fixation has been initiated, 'fixing' if the fixation window was entered but not for the requisite fixation time, 'EXCLUDED!' if an exclusion zone was entered or the yesString or noString.

◆ testWithinFixationWindow()

function eyetrackerCore::testWithinFixationWindow ( in  me,
in  yesString,
in  noString 
)

testWithinFixationWindow simply tests we are in fixwindow

◆ toDegrees()

function eyetrackerCore::toDegrees ( in  me,
in  in,
in  axis,
in  inputtype 
)
protected

to visual degrees from pixels

◆ toPixels()

function eyetrackerCore::toPixels ( in  me,
in  in,
in  axis,
in  inputtype 
)
protected

to pixels from visual degrees / relative input can be [x] [y] [-x -y +x +y]('rect') [xy] or [-x +x -y +y]

◆ trackerClearScreen()

function eyetrackerCore::trackerClearScreen ( in  me)

draw the background colour

◆ trackerDrawExclusion()

function eyetrackerCore::trackerDrawExclusion ( in  me)

draw the fixation box on the tracker display

◆ trackerDrawEyePosition()

function eyetrackerCore::trackerDrawEyePosition ( in  me)

draw the fixation position on the tracker display

◆ trackerDrawEyePositions()

function eyetrackerCore::trackerDrawEyePositions ( in  me)

draw the sampled eye positions in xAll yAll

◆ trackerDrawFixation()

function eyetrackerCore::trackerDrawFixation ( in  me)

draw the fixation box on the tracker display

◆ trackerDrawStatus()

function eyetrackerCore::trackerDrawStatus ( in  me,
in  comment,
in  stimPos,
in  dontClear,
in  dontFlip 
)

draw general status

◆ trackerDrawStimuli()

function eyetrackerCore::trackerDrawStimuli ( in  me,
in  ts,
in  dontClear 
)

draw the stimuli boxes on the tracker display

◆ trackerDrawText()

function eyetrackerCore::trackerDrawText ( in  me,
in  textIn 
)

draw the fixation box on the tracker display

◆ trackerFlip()

function eyetrackerCore::trackerFlip ( in  me,
in  dontclear,
in  force 
)

flip the tracker display, always use dontsync

remember: dontclear affects the NEXT flip, not this one!

◆ trackerMessage()

virtual eyetrackerCore::trackerMessage ( in  in)
virtual

◆ trackerSetup()

virtual eyetrackerCore::trackerSetup ( in  in)
virtual

Reimplemented in eyelinkManager.

◆ trackerTrialEnd()

function eyetrackerCore::trackerTrialEnd ( in  me,
in  result 
)

Send trial end information to tracker.

Parameters
resulta code at the trial end

◆ trackerTrialStart()

function eyetrackerCore::trackerTrialStart ( in  me,
in  trialNumber,
in  task,
in  stimuli 
)

Send trial start information to tracker.

Parameters
trialNumberthe unique number or string for this trial

◆ updateDefaults()

virtual eyetrackerCore::updateDefaults ( in  in)
virtual

◆ updateExclusionZones()

function eyetrackerCore::updateExclusionZones ( in  me,
in  x,
in  y,
in  radius 
)

Sinlge method to update the exclusion zones, can pass multiple x & y values for multiple exclusion zones, sharing the same radius.

Parameters
xx position[s] in degrees
yy position[s] in degrees
radiusthe radius of the exclusion zone, if length=2 becomes WxH

◆ updateFixationValues()

eyetrackerCore::updateFixationValues ( in  me,
in  x,
in  y,
in  inittime,
in  fixtime,
in  radius,
in  strict 
)

Sinlge method to update the fixation parameters. See property descriptions for full details. You can pass empty values if you only need to update one parameter, e.g. me.updateFixationValues([],[],1);

Parameters
xX position
yY position
inittimetime to initiate fixation
fixtimetime to maintain fixation @paran radius radius of fixation window
strictallow or disallow re-entering the fixation window

Member Data Documentation

◆ allowedPropertiesBase

Property eyetrackerCore::allowedPropertiesBase

allowed properties passed to object upon construction

◆ calibration

Property eyetrackerCore::calibration

info for setup / calibration

◆ currentEvent

Property eyetrackerCore::currentEvent

◆ currentOffset

Property eyetrackerCore::currentOffset

last time offset betweeen tracker and display computers

◆ currentSample

Property eyetrackerCore::currentSample

◆ data

Property eyetrackerCore::data

data streamed out from the Tobii

◆ debug

Property eyetrackerCore::debug

lots of logging if debug = true

◆ exclusionZone

Property eyetrackerCore::exclusionZone

Use exclusion zones where no eye movement allowed: [-degX +degX -degY +degY] Add rows to generate multiple exclusion zones.

◆ eyeSize

Property eyetrackerCore::eyeSize

size to draw eye position on screen

◆ eyeUsed

Property eyetrackerCore::eyeUsed

◆ fixation

Property eyetrackerCore::fixation

fixation window in deg with 0,0 being the screen center:

if X and Y have multiple rows, assume each row is a different fixation window. so that multiple fixtation windows can be used.

if radius has as single value, assume circular window if radius has 2 values assume width × height rectangle (not strictly a radius I know!)

initTime is the time the subject has to initiate fixation

time is the time the subject must maintain fixation within the window

strict = false allows subject to exit and enter window without failure, useful during training

◆ fixBuffer

Property eyetrackerCore::fixBuffer

when ~strict, we accumulate the total time in the window

◆ fixInit

Property eyetrackerCore::fixInit

we can define an optional window that the subject must stay inside before they saccade to other targets. This restricts guessing and "cheating", by forcing a minimum delay (default = 100ms / 0.1s) before initiating a saccade. Only used if X position is not empty.

◆ fixInitLength

Property eyetrackerCore::fixInitLength

Initiate fixation length.

◆ fixInitStartTime

Property eyetrackerCore::fixInitStartTime

Initiate fixation time.

◆ fixLength

Property eyetrackerCore::fixLength

how long have we been in the fixation window?

◆ fixN

Property eyetrackerCore::fixN

◆ fixSelection

Property eyetrackerCore::fixSelection

◆ fixStartTime

Property eyetrackerCore::fixStartTime

◆ fixTotal

Property eyetrackerCore::fixTotal

total time searching for and holding fixation

◆ fixWindow

Property eyetrackerCore::fixWindow

which fixation window matched the last fixation?

◆ flipTick

Property eyetrackerCore::flipTick

flipTick

◆ ignoreBlinks

Property eyetrackerCore::ignoreBlinks

do we ignore blinks, if true then we do not update X and Y position from previous eye location, meaning the various methods will maintain position, e.g. if you are fixated and blink, the within-fixation X and Y position are retained so that a blink does not "break" fixation.

◆ isBlink

Property eyetrackerCore::isBlink

are we in a blink?

◆ isConnected

Property eyetrackerCore::isConnected

◆ isDummy

Property eyetrackerCore::isDummy

start eyetracker in dummy mode?

◆ isExclusion

Property eyetrackerCore::isExclusion

are we in an exclusion zone?

◆ isFix

Property eyetrackerCore::isFix

last isFixated true/false result

◆ isInitFail

Property eyetrackerCore::isInitFail

did the fixInit test fail or not?

◆ isOff

Property eyetrackerCore::isOff

make the eyetracker not useable

◆ isRecording

Property eyetrackerCore::isRecording

◆ offset

Property eyetrackerCore::offset

add a manual offset to the eye position, similar to a drift correction but handled by the eyelinkManager.

◆ operatorScreen

Property eyetrackerCore::operatorScreen

operator screen used during calibration

◆ ppd_

Property eyetrackerCore::ppd_

◆ pupil

Property eyetrackerCore::pupil

pupil size

◆ pupilAll

Property eyetrackerCore::pupilAll

all pupil size reset using resetFixation

◆ recordData

Property eyetrackerCore::recordData

do we record and/or retrieve eyetracker data with remote interface?

◆ sampleRate

Property eyetrackerCore::sampleRate

tracker update speed (Hz)

◆ sampleTemplate

Property eyetrackerCore::sampleTemplate

currentSample template

◆ saveFile

Property eyetrackerCore::saveFile

name of eyetracker EDF file

◆ screen

Property eyetrackerCore::screen

the PTB screen to work on, passed in during initialise

◆ secondScreen

Property eyetrackerCore::secondScreen

is operator screen being used?

◆ skipFlips

Property eyetrackerCore::skipFlips

for trackerFlip, we can only flip every X frames

◆ stimulusPositions

Property eyetrackerCore::stimulusPositions

stimulus positions to draw on screen

◆ subjectName

Property eyetrackerCore::subjectName

subject name

◆ trackerTime

Property eyetrackerCore::trackerTime

tracker time stamp

◆ type

Property eyetrackerCore::type

type of eyetracker

◆ useOperatorScreen

Property eyetrackerCore::useOperatorScreen

use an operator screen for online display etc.

◆ validationData

Property eyetrackerCore::validationData

validation data

◆ verbose

Property eyetrackerCore::verbose

do we log debug messages to the command window?

◆ version

Property eyetrackerCore::version

◆ win

Property eyetrackerCore::win

the PTB screen handle, normally set by screenManager but can force it to use another screen

◆ x

Property eyetrackerCore::x

Gaze X position in degrees.

◆ xAll

Property eyetrackerCore::xAll

All gaze X position in degrees reset using resetFixation.

◆ xAllRaw

Property eyetrackerCore::xAllRaw

◆ y

Property eyetrackerCore::y

Gaze Y position in degrees.

◆ yAll

Property eyetrackerCore::yAll

Last gaze Y position in degrees reset using resetFixation.

◆ yAllRaw

Property eyetrackerCore::yAllRaw

The documentation for this class was generated from the following file: