Tobii Pro SDK Python API
eye_images.py
1 def execute(eyetracker):
2  if eyetracker is not None:
3  eye_images(eyetracker)
4  else:
5  print("No tracker with eye images to run example.")
6 
7 
8 # <BeginExample>
9 
10 import sys
11 import base64
12 import time
13 import tobii_research as tr
14 
15 if sys.version_info[0] == 3:
16  # Python 3
17  from tkinter import Tk, PhotoImage
18 else:
19  from Tkinter import Tk, PhotoImage
20 
21 
22 def eye_image_callback(eye_image_data):
23  print("System time: {0}, Device time {1}, Camera id {2}".format(eye_image_data['system_time_stamp'],
24  eye_image_data['device_time_stamp'],
25  eye_image_data['camera_id']))
26 
27  image = PhotoImage(data=base64.standard_b64encode(eye_image_data['image_data']))
28  print("{0} width {1}, height {2}".format(image, image.width(), image.height()))
29 
30 
31 def eye_images(eyetracker):
32  root = Tk()
33  print("Subscribing to eye images for eye tracker with serial number {0}.".format(eyetracker.serial_number))
34  eyetracker.subscribe_to(tr.EYETRACKER_EYE_IMAGES, eye_image_callback, as_dictionary=True)
35 
36  # Wait for eye images.
37  time.sleep(2)
38 
39  eyetracker.unsubscribe_from(tr.EYETRACKER_EYE_IMAGES, eye_image_callback)
40  print("Unsubscribed from eye images.")
41  root.destroy()
42 # <EndExample>