Welcome
Guest
, you are in:
<root>
Elements
•
Login
EventIDE Wiki
Navigation
¶
Main Page
Random Page
Create a new Page
All Pages
Categories
Navigation Paths
Administration
File Management
Create Account
Search the wiki
Back
LSL Tracker Element
Modified on 2023/05/22 03:26
by
Administrator
Categorized as
Elements
,
Eye Trackers
<div style="margin-right: 10px; margin-left: 16px; margin-bottom:10px; float: right; width: 500px; overflow: hidden; height: auto; padding: 0px; background: #fafafa; background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa));background: -moz-linear-gradient(top, #fbfbfb, #fafafa);border: 1px dashed #ddd;box-shadow: 0 0 0 3px #fff, 0 0 0 5px #ddd, 0 0 0 10px #fff, 0 0 2px 10px #eee;"> == Summary == {s:Element Info Panel | title=LSL Tracker | category=Eye trackers | icon=[image|Element Icon|{UP(LSL-Tracker-Element)}LSL-Tracker-Element-Icon.png] | author= OkazoLab | addin= LSL | scope= Experiment | usage= Snippets | ownsnippets= None } == Synchronized actions == {| |- ! Epoch ! Actions |- |- | On Experiment Start | Starts processing tracker samples |- | On Experiment Start | Stops processing tracker samples |- |} == Properties == {| |- ! Name ! Description ! Constraints ! Type ! On<br/>runtime<br/>change |- | colspan="5" bgcolor="#AADDDDD" | LSL Settings |- | Stream Type | Defines the LSL stream that delivers signal data | {s:atDesign} | 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 | {s:atDesign} | String | |- | X Channel | Defines the LSL channel for X coordinates | {s:atNormal} | Int32 | |- | Y Channel | Defines the LSL channel for Y coordinates | {s:atNormal} | Int32 | |- | Chink Size | Defines the chuck size (in ms) in signal acquisition | {s:atNormal} | clTime | |- | colspan="5" bgcolor="#AADDDDD" | 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. | {s:atDesign} | Boolean | |- | Gain X | Defines the gain coefficient for the X axis in the GLM calibration model: X='GainX'*x+OffsetX | {s:atNormal} | Double | |- | Gain Y | Defines the gain coefficient for the Y axis in the GLM calibration model: Y='GainY'*y+OffsetY | {s:atNormal} | Double | |- | Offset X | Defines the offset coefficient for the X axis in the GLM calibration model: X=GainX*x+'OffsetX' | {s:atNormal} | Double | |- | Offset Y | Defines the offset coefficient for the Y axis in the GLM calibration model: Y=GainY*y+'OffsetY' | {s:atNormal} | Double | |- | Affine Mode | Defines the affine transformation (scale, translation and rotation) is used for calibration instead on the simpler GLM transformation (scale and translation) | {s:atNormal} | Boolean | |- | Affine Rotation | Defines the rotation angle (deg) for the affine calibration | {s:atNormal} | 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. | {s:atRuntimeAction} | 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. | {s:atRuntimeAction} | String | |- | colspan="5" bgcolor="#AADDDDD" | 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. | {s:atRuntimeAction} | 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. | {s:atNormal} | clPoint | |- | colspan="5" bgcolor="#AADDDDD" | 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). | {s:atNormal} | Double | |- | colspan="5" bgcolor="#AADDDDD" | Logging |- | Log Folder | Opens the dialog for selecting a local folder that will hold all tracking logs | {s:atRuntimeAction} | String | |- | Open Log Designer | Opens a designer window where the log format can be defined. | {s:atDesign} | 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. | {s:atNormal} | 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. | {s:atNormal} | String | |- | colspan="5" bgcolor="#AADDDDD" | Runtime |- | Radar Point | Returns the newest calibrated tracking position provided by the tracker at runtime | {s:atNormal} | clPoint | |- | colspan="5" bgcolor="#AADDDDD" | Perspective Correction |- | Perspective Correction | Defines... | {s:atNormal} | Boolean | |- | Configure Perspective | | {s:atDesign} | Boolean | |- | Viewer Position | Defines... | {s:atNormal} | Point3D | |- | Tracker Position | Defines... | {s:atNormal} | Point3D | |- | Focal Length | Defines... | {s:atNormal} | Double | |- | colspan="5" bgcolor="#AADDDDD" | Control |- | Is Enabled | If set to false the element is completely omitted when the experiment is run | {s:atDesign} | Boolean | |- | Title | Title of the element | {s:atDesign} | String | |- |} == == </div> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> <!--*****************************************************************************************************************************************************************************--> '''LSL Tracker Element''' reads gaze position data streamed by the LSL protocol.<br><br> {TOC} == Description == Some eye-tracker models, such as [^https://pupil-labs.com/|PupilLabs], are capable to stream eyetracker data via [^https://labstreaminglayer.org/#/|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 [Eye-tracking|an online eye-tracking analysis in EventIDE] == Notes == * The tracker LSL stream should be active, before you run your experiment
Meta Keywords:
Meta Description:
Change Comment:
ScrewTurn Wiki
version 5.2.0.8. Some of the icons created by
FamFamFam
.