time_synchronization

首先官方Python - SDK reference guide中有一个time_synchronization_data.py的例子。官方注解如下:

You will get a callback when the computer and the eye trackers clocks gets synchronized. To handle normal drifts between clocks the clocks are checked on regular basis, and this results in that the time stamps are adjusted for the drifts in the data streams. This drift handling is done in real time. The data received from this event could be used for an even more accurate drift adjustment in the post processing. Callbacks will receive a TimeSynchronizationData object or a dictionary with values if as_dictionary is True.
中心思想能提高时间的漂移,提高时间同步的精度。

示例的代码,会间隔一段时间同时打印出三组时间戳

  • system request time stamp
  • device time stamp
  • system response time stamp

此数据便是我们进行设备时间同步的关键依据。

  • 但不理解的是这个模块内部运算规则是怎么进行的,三个时间戳间隔一段时间做差值进行比较?
  • 哪一个时间戳是real time?
def execute(eyetracker):time_synchronization_data(eyetracker)# <BeginExample>
import time
import tobii_research as trdef time_synchronization_data_callback(time_synchronization_data):print(time_synchronization_data)def time_synchronization_data(eyetracker):print("Subscribing to time synchronization data for eye tracker with serial number {0}.".format(eyetracker.serial_number))eyetracker.subscribe_to(tr.EYETRACKER_TIME_SYNCHRONIZATION_DATA,time_synchronization_data_callback, as_dictionary=True)# Wait while some time synchronization data is collected.time.sleep(2)eyetracker.unsubscribe_from(tr.EYETRACKER_TIME_SYNCHRONIZATION_DATA,time_synchronization_data_callback)print("Unsubscribed from time synchronization data.")

利用这个模块,记录下三个时间戳,并将需要运行的程序放到subscribe_to 和 unsubscribe_from两行之间。

EYETRACKER_GAZE_DATA

眼动数据采集,主要EYETRACKER_GAZE_DATA函数实现,其中在每次采样的过程中gaze_data字典中会保存有采样的device time stamp 和 system time stamp,方便我们记录

import time
import tobii_research as trglobal_gaze_data = Nonedef gaze_data_callback(gaze_data):global global_gaze_dataglobal_gaze_data = gaze_datadef gaze_data(eyetracker):global global_gaze_dataprint("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)

get_system_time_stamp()

对于其他程序的运行,我们这里只需要使用tr.get_system_time_stamp()得到系统时间戳便可以为用于后期数据处理时的时间同步。

system_time_stamp = tr.get_system_time_stamp()

Tobii眼动仪 python SDK 时间同步的技巧相关推荐

  1. 眼动仪 python SDK tobii_research 操作笔记

    最近在使用Tobii眼动设备的时,需要使用python的SDK来启动眼动设备进行数据采集.踩了一些坑,记录一下操作流程: 在使用网口链接eye tracker的时候,我的电脑是Win10家庭版,只要同 ...

  2. Tobii眼动仪系列软件安装与使用

    Tobii眼动仪系列软件 本文使用眼动仪:Tobii Eye Tracker 5 Tobii Experience | Tobii Ghost 软件下载地址 Tobii Experience(用来校准 ...

  3. Tobii 眼动仪配置SDK-- 眼动仪开发入门(2)

    环境介绍 系统:win10 64位 硬件:Tobii eye tracker 4C 软件: Visual Studio 2015 选择SDK 开发本款眼动仪可以根据以及的需求选择不同的SKD,如图所示 ...

  4. Tobii眼动仪插件和案例

    亲测真实可用的,在GitHUb上找半天才找到可用的直接上网盘链接:链接:https://pan.baidu.com/s/12t0ZYaB5W_UwSsAtijiTKw 提取码:ck8j .

  5. Ubuntu下使用眼动仪Tobii Eye Tracker 4C

    01 安装 & 使用 安装.使用过程参考:https://github.com/Eitol/tobii_eye_tracker_linux_installer 下面过程主要是github中自述 ...

  6. Tobii Eye Tracker 4C 眼动仪用户手册--眼动仪开发入门(1)

    原网址:用户手册 SDK version: 4.0 目录 入门 将SDK集成到您的游戏中 导入资产 实施眼动追踪功能 独立构建 API概述 TobiiAPI 凝视点数据 头部姿势数据 用户存在 Gaz ...

  7. Ubuntu下使用Tobii Eye Tracker 4C眼动仪

    Ubuntu下使用Tobii Eye Tracker 4C眼动仪 在 tobii 的官网论坛上有关于如何在 linux 上使用 4C 的帖子,目前经测试这个项目是可行的,github 地址:https ...

  8. Ubuntu下使用Tobii Eye Tracker 4C眼动仪控制鼠标光标

    之前成功在 Ubuntu 下使用了 4C 眼动仪,但是不知道什么原因目前无法使用 TobiiProEyeTrackerManager 软件来进行眼动仪的标定,也就无法使用它的 gaze visuali ...

  9. Tobii Studio眼动仪教程 - 真正的测谎机器

    一.眼动仪介绍: 1.介绍: 眼动仪是心理学基础研究的重要仪器.眼动仪用于记录人在处理视觉信息时的眼动轨迹特征,广泛用于注意.视知觉.阅读等领域的研究.现有不同厂家生产的多种型号的眼动仪,如 EyeL ...

最新文章

  1. 第二篇:时间和全局状态(二)
  2. JNI编程支持X86处理器的步骤
  3. 用Reflector和FileDisassembler配合反编译.net Windows程序
  4. 【Eclipse】将控制台输出直接保存到文本文件
  5. 视觉感知_产品设计中的视觉感知
  6. ubuntu apt命令
  7. python web生产环境_2020年了,python的web framework sanic 可以考虑生产环境部署了么?...
  8. mysql存储过程和自定义函数_MySQL存储过程/存储过程与自定义函数的区别
  9. Segment Model.
  10. 【汇编优化】之linux下如何利用gdb调试汇编代码
  11. Linux编译LLVM,如何使用ninja快速编译LLVM和Clang(以llvm3.3为例子)
  12. sap中有关地址及电话的相关表
  13. 最大报销额(HDU 1864)
  14. java加入md5_javamd5加密解密
  15. rj45插座尺寸图_详细介绍RJ45模块(附图解)
  16. linux基础学习思维导图及文档(17万字)
  17. html修改全局字体,最好CSS全局字体写法
  18. 利用逆矩阵解线性方程组_经典Jacobi方法用于求解矩阵特征值
  19. 系统学习机器学习之cox模型
  20. 一个垃圾分类项目带你玩转飞桨(2)

热门文章

  1. 如何制作营养膳食计算器_如何创建随机膳食生成器
  2. 如何将手机录音文件转换成MP3格式
  3. iphone android互传文件夹,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...
  4. 数学天才_数学天才是脆弱的。 我们需要停止破坏它。
  5. 安装 libboost-all-dev 包报错未满足依赖关系
  6. 【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
  7. Keepalived 详解
  8. 最新版android日历,aCalendar
  9. linux系统发育树的构建步骤,手把手教你用 Fast Tree 快速构建序列进化树
  10. 中达优控触摸屏宏指令DELAY报错