Подписка на данные взгляда Tobii Research - PullRequest
0 голосов
/ 20 октября 2019

Я использую ноутбук Alienware 17 R5 со встроенным трекером глаз Tobii. Я пытаюсь получить доступ к любым данным из встроенной системы слежения за глазами. Код, который я использую, по сути является тем же демонстрационным кодом из исследовательской документации Tobii . Когда я запускаю код, я не могу вывести данные взгляда на консоль. Интерпретатор даже не выполняет функцию обратного вызова, как указано в командах subscribe_to и unsubscribe_from. Любое понимание того, почему я не могу получить доступ к данным взгляда, будет оценено. Вот мой код:

import tobii_research as tr
import time

global_gaze_data = None

found_eyetrackers = tr.find_all_eyetrackers()
print(found_eyetrackers[0])
my_eyetracker = found_eyetrackers[0]
my_eyetracker = tr.EyeTracker(my_eyetracker.address)
# print(my_eyetracker.values)
print("Address: " + my_eyetracker.address)
print("Model: " + my_eyetracker.model)
print("Name (It's OK if this is empty): " + my_eyetracker.device_name)
print("Serial number: " + my_eyetracker.serial_number)
print("Eyetracking modes: ",my_eyetracker.get_all_eye_tracking_modes())
print("Output frequencies: ",my_eyetracker.get_all_gaze_output_frequencies())


print("Maybe?",tr.EYETRACKER_GAZE_DATA)
print("Type", type(tr.EYETRACKER_GAZE_DATA))

def gaze_data_callback(gaze_data):
    print("Do you get here?")
    global global_gaze_data
    global_gaze_data = gaze_data
    # Print gaze points of left and right eye
    print("Gaze data?:",gaze_data)
    print("Gaze data type:",type(gaze_data))
    print("Left eye: ({gaze_left_eye}) \t Right eye: ({gaze_right_eye})".format(
        gaze_left_eye=gaze_data['left_gaze_point_on_display_area'],
        gaze_right_eye=gaze_data['right_gaze_point_on_display_area']))

my_eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True)
time.sleep(5)
my_eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback)
print(global_gaze_data)

А вот и вывод. Это не похоже на выполнение функции gaze_data_callback, а переменной global_gaze_data не были назначены какие-либо данные взгляда:

> python test.py
<tobiiresearch.implementation.EyeTracker.EyeTracker object at 0xHEXHERE>
Address: MY-ADDRESS
Model: IS4_Base_DAW_MLK
Name (It's OK if this is empty):
Serial number: MY_SERIAL_NUMBER
Eyetracking modes:  ('Default',)
Output frequencies:  (60.0,)
Maybe? eyetracker_gaze_data
Type <class 'str'>
None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...