This article applies to:
E-Prime Extensions for Tobii Pro 3.2
The attached experiment produces custom columns in the GazeData.txt file to indicate the CurrentOnscreenObject and the .OnsetTime of the visual E-Objects on an eye tracking procedure. The reasons why you may want to add these columns, and the process to do so in your own EET 3.2 experiment are described in this article.
What is CurrentObject?
The "CurrentObject" property represents the visual E-Object that is currently viewed by the participant. CurrentObject contains values if at least one eye has been actively gazing upon an E-Object in the preceding 300 ms. If no valid samples are logged in the preceding 300 ms, it populates null values.
This new definition of CurrentObject allows for some brief blink compensation and does not misrepresent long stretches of invalid samples as valid gaze data. In previous EET versions, CurrentObject roughly represents the visual E-Object that is onscreen when each eye tracker sample is taken, regardless of whether or not the participant actively views the E-Object. Unlike the new definition, the old definition is not impacted by invalid eye tracker samples.
In any version of EET, you cannot conclude that the RTTime reported in the first row for a new CurrentObject represents the exact .OnsetTime of that E-Object. The refresh rate of your monitor and the sampling rate of your eye tracker are not synchronized and rarely run at the same frequencies.
As a result of the new definition, EET 3.2 users sometimes see instances where a row in the gaze data reports the previously onscreen visual E-Object for CurrentObject, for up to 300 ms after the next E-Object's .OnsetTime. If desired, you can create your own custom column in an EET 3.2 GazeData.txt file that follows the old definition. This custom column gives you a more accurate idea of when the onscreen E-Object changed because it does not take the validity of the surrounding samples into account. You can also include the .OnsetTime for your E-Objects in your gaze data file for complete clarity.
Creating a custom CurrentObject column
To create a custom “CurrentOnscreenObject” column that follows the old definition from previous EET versions, first add a property name to your vUserPropertyList parameter in the TETGazeDataOpen PackageCall:
Then for each visual E-Object between TETStartTracking and TETStopTracking, add a corresponding TETGazeDataSetPropertyNumeric PackageCall. Place these after TETStopTracking but before TETGazeDataSave, and specify the following parameters:
- c, the experiment context object
- in quotations - "@RTTime" for term1
- in quotations - ">=" for the comparison operator
- ObjectX.OnsetTime, for term2, replacing "ObjectX" with the specific name of your E-Object
- in quotations - "YourNewProperty" for property01, specifying the same property name that is in your vUserPopertyList parameter
- in quotations "ObjectX" for value01, again replacing "ObjectX" with the specific name of your E-Object
Here is what the corresponding TETGazeDataSetPropertyNumeric PackageCall for your E-Object called "Stimulus" should look like:
To import the same .OnsetTime metrics that are in your .edat3 file into your GazeData.txt file, add a property name to your vUserPropertyList parameter in the TETGazeDataOpen PackageCall for each E-Object of interest:
Then add a single TETGazeDataSetProperty PackageCall after TETStopTracking but before TETGazeDataSave, and specify the following parameters (for a procedure containing three E-Objects of interest):
- c, the experiment context object
- in quotations - "ObjectXOnsetTime" for the first property, replacing "ObjectX" with the specific name of your first E-Object of interest
- ObjectX.OnsetTime, for the first value, again replacing "ObjectX" with the specific name of your first E-Object of interest
- in quotations - "ObjectYOnsetTime" for property02, replacing "ObjectY" with the specific name of your second E-Object of interest
- ObjectY.OnsetTime, for value02, again replacing "ObjectY" with the specific name of your second E-Object of interest
- in quotations - "ObjectZOnsetTime" for property03, replacing "ObjectZ" with the specific name of your third E-Object of interest
- ObjectZ.OnsetTime, for value03, again replacing "ObjectZ" with the specific name of your third E-Object of interest
NOTE: While this example only has three E-Objects of interest, you can include as many such custom columns as you need (up to 10 columns for each TETGazeDataSetProperty PackageCall).
Here is what the corresponding TETGazeDataSetProperty PackageCall to log the .OnsetTime of E-Objects called “Fixation”, “Prime” and “Stimulus” should look like: