This article applies to:
E-Prime Extensions for Tobii Pro 3.2
If an EET 3.0 or 3.1 experiment is updated to an EET 3.2 experiment, we recommend that users update the method used to save gaze data. Older versions of EET use a mixture of PackageCalls (i.e., TETOpenGazeDataFile and TETCloseGazeDataFile) and script (i.e., User and InLine script) to save gaze data. EET 3.2 introduces new PackageCalls (TETGazeDataOpen, TETGazeDataClose, TETGazeDataSave) and does not require any script in order to save gaze data. For example, the Hit Test (determines what the participant was looking at during the experiment) is calculated by the TETGazeDataSave routine in the EET 3.2 PackageFile. This negates the need for the Hit Test script in the SaveGazeData InLine. EET 3.2 continues to support the older method, but we encourage the adoption of the 3.2 release-specific method. The image below illustrates both approaches.
NOTE: EET 2.0 is configured in the same manner as EET 3.0 / 3.1.
Since EET 3.2 supports the earlier save gaze data methodology, no error occurs if an experiment includes both sets of PackageCalls and the 3.0/3.1 script. However, since each method produces its own uniquely-named text file, an experiment that uses both techniques produces two different gaze data files:
In the image below, the file with the extension type of "GAZEDATA File" is the EET 3.0 / 3.1 gaze data file. The file with "GazeData" in the filename (i.e., TETFixedPositionAOI-1-1-GazeData) is the EET 3.2 file.
We recommend using the data from the 3.2 file since it contains more information than the 3.0/3.1 file:
- Pupil gaze data is now included by default in the file (see INFO: Obtaining Pupil GazeData in EET 3.1 ).
- TETGazeDataSave can be configured with the vStimulusName parameter to log the dependent measures (i.e., ACC, CRESP, RESP and RT) for a stimulus presentation object.
Further, the EET 3.2. PackageCalls allow for a greater customization of the gaze data file:
- The 3.2. file allows users to write data based on conditional statements with the TETGazeDataSetPropertyMatch and TETGazeDataSetPropertyNumeric PackageCalls.
- TETGazeDataSetPropertyOneShot allows for a single value to be sent to the gaze data file at a specified time.
NOTE: Although you can have both methods of saving gaze data in an experiment, we do not recommend having both save gaze data methods in an experiment at the same time. The EET 3.2 save gaze data method has proven to be faster than the older method (1 second for 45 seconds of 1200hz data as opposed to 7 seconds in prior EET versions). Having both methods may add unnecessary delays to trials due to the time required to process the gaze data twice and save it twice.
Because EET 3.2 no longer relies on using InLine script to generate the GazeData file, the "CurrentObject" property no longer needs to be manually specified. Previously, this was specified in the SaveGazeData InLine. Now the definition of "CurrentObject" is automatically handled by the EET 3.2 PackageFile. The property "ComponentName" is a sub-property of "CurrentObject" (e.g., CurrentObject is “Slide1” and ComponentName is “SlideText1” on "Slide1"). ComponentName is the particular Slide sub-object that is being looked at while CurrentObject is the Slide object.
The "CurrentObject" property in EET 3.2 represents the name of the visual E-Object that is currently being viewed. CurrentObject contains values if at least one eye was actively gazing upon an E-Object within the preceding 300 ms. If no valid sample was logged within the preceding 300 ms, it populates null values. This change was made to allow for some brief blink compensation, while still not misrepesenting longer stretches of invalid samples as valid gaze data. This further deviates from the previous definition of CurrentObject, which did not require valid gaze data to be logged and was meant to roughly represent the visual E-Object that was onscreen when each sample was taken. In any version of EET, you should ultimately be refering to their .edat3 files for timing information related to E-Object execution, such as .OnsetTime.
As a result, EET 3.2 users may see instances where a row in the gaze data reports the previously-onscreen visual E-Object, up to 300 ms after the new E-Object's .OnsetTime. You can choose to create your own custom column in an EET 3.2 GazeData.txt file using the old definition. This column would give you a slightly more accurate idea of when the onscreen E-Object changed, as it does not take the validity of the surrounding samples into account. To do so, first add a property name to the front of your vUserPropertyList parameter in the TETGazeDataOpen PackageCall:
Then for each visual E-Object between TETStartTracking and TETStopTracking on your procedure, add a corresponding TETGazeDataSetPropertyNumber 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 now at the front of your vUserPopertyList parameter
- in quotations "ObjectX" for value01, again replacing "ObjectX" with the specific name of your E-Object
Here is what the corresponding PackageCall for your E-Object called "Stimulus" should look like: