EyeTrackerでgaze dataを取得する
gaze dataの取得もProライセンスがないとできない?
サンプルプログラム
def myGetGazeData(eyetracker): global global_gaze_data print("Subscribing to gaze data for eye tracker with serial number {0}.".format(eyetracker.serial_number)) eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True) # Wait while some gaze data is collected. time.sleep(2) eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback) print("Unsubscribed from gaze data.") print("Last received gaze package:") print(global_gaze_data) def gaze_data_callback(gaze_data): global global_gaze_data global_gaze_data = gaze_data
メモ
global_gaze_dataには以下のようなデータが格納される(ただしas_dictionary=Trueの場合)
{'right_pupil_validity': 1, 'right_gaze_point_on_display_area': (-0.03804759308695793, -0.001516682212240994), 'left_gaze_origin_validity': 1, 'system_time_stamp': 83366461989L, 'right_gaze_origin_in_user_coordinate_system': (10.435709953308105, -17.863492965698242, 490.8170471191406), 'left_gaze_point_in_user_coordinate_system': (-225.17933654785156, 239.3080596923828, 79.05516815185547), 'left_gaze_origin_in_user_coordinate_system': (-53.26900863647461, -21.059024810791016, 488.1297912597656), 'left_pupil_validity': 1, 'right_pupil_diameter': 2.851318359375, 'left_gaze_origin_in_trackbox_coordinate_system': (0.6585485339164734, 0.5946857929229736, 0.18295831978321075), 'right_gaze_point_in_user_coordinate_system': (-253.1724395751953, 272.1340637207031, 91.00283813476562), 'left_pupil_diameter': 2.85693359375, 'right_gaze_origin_validity': 1, 'left_gaze_point_validity': 1, 'right_gaze_point_validity': 1, 'left_gaze_point_on_display_area': (0.020004242658615112, 0.12727093696594238), 'right_gaze_origin_in_trackbox_coordinate_system': (0.47324785590171814, 0.5821692943572998, 0.1825057417154312), 'device_time_stamp': 5289917103L}
個々の値をとるには、
globl_gaze_data['right_gaze_point_on_display_area'] #右目のディスプレイ上の注視点
のように指定すればよい。
as_dictionary=Falseの場合は、GazeDataクラスのインスタンスが格納されるので、以下のように指定する。
global_gaze_data.right_eye.gaze_point.position_on_display_area # GazeData, EyeData, GazePointクラスのリファレンスを参照のこと。