Get Gaze Data
Tobii = EyeTrackingOperations();
eyetracker_address = 'Address of the desired device';
eyetracker = Tobii.get_eyetracker(eyetracker_address);
result = eyetracker.get_gaze_data();
if isa(result,'StreamError')
fprintf('Error: %s\n',char(result.Error));
fprintf('Source: %s\n',char(result.Source));
fprintf('SystemTimeStamp: %d\n',result.SystemTimeStamp);
fprintf('Message: %s\n',result.Message);
elseif isa(result,'GazeData')
pause(1);
gaze_data = eyetracker.get_gaze_data();
eyetracker.stop_gaze_data();
fprintf('Collected %d data points\n',size(gaze_data,2));
latest_gaze_data = gaze_data(end);
fprintf('SystemRequestTimeStamp: %d\n',latest_gaze_data.SystemTimeStamp);
fprintf('DeviceTimeStamp: %d\n',latest_gaze_data.DeviceTimeStamp);
disp('Left Eye');
fprintf('GazePoint.OnDisplayArea: %.2f %.2f\n',latest_gaze_data.LeftEye.GazePoint.OnDisplayArea);
fprintf('GazePoint.InUserCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.LeftEye.GazePoint.InUserCoordinateSystem);
fprintf('GazePoint.Validity: %s\n',char(latest_gaze_data.LeftEye.GazePoint.Validity));
fprintf('GazeOrigin.InUserCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.LeftEye.GazeOrigin.InUserCoordinateSystem);
fprintf('GazeOrigin.InTrackBoxCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.LeftEye.GazeOrigin.InTrackBoxCoordinateSystem);
fprintf('GazeOrigin.Validity: %s\n',char(latest_gaze_data.LeftEye.GazeOrigin.Validity));
fprintf('Pupil.Diameter: %.2f\n',latest_gaze_data.LeftEye.Pupil.Diameter);
fprintf('Pupil.Validity: %s\n',char(latest_gaze_data.LeftEye.Pupil.Validity));
disp('Right Eye');
fprintf('GazePoint.OnDisplayArea: %.2f %.2f\n',latest_gaze_data.RightEye.GazePoint.OnDisplayArea);
fprintf('GazePoint.InUserCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.RightEye.GazePoint.InUserCoordinateSystem);
fprintf('GazePoint.Validity: %s\n',char(latest_gaze_data.RightEye.GazePoint.Validity));
fprintf('GazeOrigin.InUserCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.RightEye.GazeOrigin.InUserCoordinateSystem);
fprintf('GazeOrigin.InTrackBoxCoordinateSystem: %.2f %.2f %.2f\n',latest_gaze_data.RightEye.GazeOrigin.InTrackBoxCoordinateSystem);
fprintf('GazeOrigin.Validity: %s\n',char(latest_gaze_data.RightEye.GazeOrigin.Validity));
fprintf('Pupil.Diameter: %.2f\n',latest_gaze_data.RightEye.Pupil.Diameter);
fprintf('Pupil.Validity: %s\n',char(latest_gaze_data.RightEye.Pupil.Validity));
end