Get Eye Image
clear;
Tobii = EyeTrackingOperations();
eyetracker_address = 'Address of the desired device_with_eye_image';
try
    eyetracker = Tobii.get_eyetracker(eyetracker_address);
catch ME
    if (strcmp(ME.identifier,'EyeTrackerGet:error204'))
        fprintf('Unable to connect eye tracker.\n');
        return
    end
end
if ismember(EyeTrackerCapabilities.HasEyeImages,eyetracker.DeviceCapabilities)
    disp('Eye Image Supported');
else
    disp('Eye Image Not Supported');
end
eyetracker.get_eye_image();
pause(1);
result = eyetracker.get_eye_image();
if isa(result,'StreamError')
    fprintf('Error: %s\n',string(result.Error.value));
    fprintf('Source: %s\n',string(result.Source.value));
    fprintf('SystemTimeStamp: %d\n',result.SystemTimeStamp);
    fprintf('Message: %s\n',result.Message);
elseif isa(result,'EyeImage')
    
    pause(1);
    
    
    
    eye_images = eyetracker.get_eye_image();
    eyetracker.stop_eye_image();
    fprintf('Collected %d eye images\n',size(eye_images,2));
    
    
    latest_eye_image = eye_images(end);
    fprintf('SystemTimeStamp: %d\n',latest_eye_image.SystemTimeStamp);
    fprintf('DeviceTimeStamp: %d\n',latest_eye_image.DeviceTimeStamp);
    fprintf('CameraId: %d\n',latest_eye_image.CameraId);
    fprintf('Type: %d\n',latest_eye_image.Type.value);
    imshow(latest_eye_image.Image);
end