Summary
|
LSL Tracker
|
Info |
Category: |
Eye trackers |
|
AddIn: |
LSL |
Creator: |
OkazoLab |
|
Scope: |
Experiment |
Owns Snippets: |
None |
|
Usage: |
Snippets |
Synchronized actions
Epoch | Actions |
---|
On Experiment Start | Starts processing tracker samples |
On Experiment Start | Stops processing tracker samples |
Properties
Name | Description | Constraints | Type | On runtime change |
---|
LSL Settings |
Stream Type | Defines the LSL stream that delivers signal data | | String | |
LSL Stream | Defines which LSL stream will be connected at runtime. You must have the LSL stream running, when you change this property for the first time. Note that the channel configuration of the element is updated each time as you change this property | | String | |
X Channel | Defines the LSL channel for X coordinates | | Int32 | |
Y Channel | Defines the LSL channel for Y coordinates | | Int32 | |
Chink Size | Defines the chuck size (in ms) in signal acquisition | | clTime | |
GLM Calibration |
Run GLM Calibration | Runs the GLM calibration procedure, which calculates two pairs of linear coefficients for mapping of the tracker input into the screen coordinates. The calculated coefficients are automatically applied at runtime. | | Boolean | |
Gain X | Defines the gain coefficient for the X axis
in the GLM calibration model: X='GainX'*x+OffsetX | | Double | |
Gain Y | Defines the gain coefficient for the Y axis
in the GLM calibration model: Y='GainY'*y+OffsetY | | Double | |
Offset X | Defines the offset coefficient for the X axis
in the GLM calibration model: X=GainX*x+'OffsetX' | | Double | |
Offset Y | Defines the offset coefficient for the Y axis in the GLM calibration model: Y=GainY*y+'OffsetY' | | Double | |
Affine Mode | Defines the affine transformation (scale, translation and rotation) is used for calibration instead on the simpler GLM transformation (scale and translation) | | Boolean | |
Affine Rotation | Defines the rotation angle (deg) for the affine calibration | | Double | |
Save Calibration Now | Provides a runtime command that saves the current GLM calibration into a XML file. To run the command at runtime, assign a file name to this property. | | String | |
Load Calibration Now | Provides a runtime command that loads the GLM calibration values from a XML file. To run the command at runtime, assign a file name to this property. | | String | |
Drift Correction |
Recalibrate Now | Runtime command that helps to correct drifts in tracking data.Correction is done by recalibration of the latest tracker position into a custom screen point defined by the 'Recalibration Point' property.nAs result, the offsets of the GLM calibration get adjusted (but not gains) to compensate a drift in further data. | | Boolean | |
Recalibration Point | Defines the screen point to which the tracker position will be recalibrated on calling 'Recalibrate Now' action. The default auto value always denotes the screen center. | | clPoint | |
Filters |
Smoothing Ratio | Defines a ratio for the fast FIR smoothing filter, which is applied to the gaze tracking within EventIDE. The filter convolves every new tracking position with the previous ones.
The property value defines a tap weight for the previous data,
such that the convolution looks like: X=(Xn*(1-Ratio)+Xn-1*Ratio)/2. The value has to be positive and less than 1 (0 means no filtering). | | Double | |
Logging |
Log Folder | Opens the dialog for selecting a local folder that will hold all tracking logs | | String | |
Open Log Designer | Opens a designer window where the log format can be defined. | | Boolean | |
Is Logging | Defines whether logging is turn on/off.The value can be changed at any moment at runtime allowing selective logging during the relevant periods only. | | Boolean | |
User Field | Defines the custom user data that is added to every line in the log file. The property can be used for recording varying status information (e.g. trial number) together with the tracker data. The string value may contains multiple fields separated by delimiter. | | String | |
Runtime |
Radar Point | Returns the newest calibrated tracking position provided by the tracker at runtime | | clPoint | |
Perspective Correction |
Perspective Correction | Defines... | | Boolean | |
Configure Perspective | | | Boolean | |
Viewer Position | Defines... | | Point3D | |
Tracker Position | Defines... | | Point3D | |
Focal Length | Defines... | | Double | |
Control |
Is Enabled | If set to false the element is completely omitted when the experiment is run | | Boolean | |
Title | Title of the element | | String | |
|
LSL Tracker Element reads gaze position data streamed by the LSL protocol.
Description
Some eye-tracker models, such as
PupilLabs, are capable to stream eyetracker data via
the LSL protocol. Although, EventIDE has direct drivier for the most of eye-tracker models, you can use the LSL tracker element as an alternative or to connect custom eye-tracker hardware. The LSL tracker element reads X and Y gaze positions coming out of 2 selected channels in an online LSL stream. Collected gaze positions can be then used for online analysis and visualization in EventIDE as well as being recorded into a synchronized file.
Practical Use
The LSL tracker element is a global element and it works for the entire duration of an experiment. After creating the element, it has to be linked to a particular LSL stream.
Configuring the element (once)
- Add the LSL tracker element and go to its properties
- Make sure that a target LSL stream is running and visible in a network. You may need to start an application that generates the stream
- Define Stream Type property, if it is know. If not, leave the property blank
- Expand an editor for the LSL stream property. If the target stream is detected, it will be available for selection. If not, check the stream and reselect the element in the EventIDE GUI
- If the stream is selected, set the X channel and Y channel properties of the element to the corresponding channels in the LSL stream.
- Use the Open Log Designer property to define as structure of the tracker data file
Usign the element for eye-tracking analysis withing EventIDE
- Similar to other tracker elements, the LSL Tracker Element can be used for an online eye-tracking analysis in EventIDE
Notes
- The tracker LSL stream should be active, before you run your experiment