查看文档,Pupil Labs 眼动追踪事件具有
由计算机上的系统时钟设置的时间戳,相对于某个纪元时间(在 unix 系统上为 1970 年 1 月 1 日)。同样,您可以在 pychopy 中找到事件的时间戳,这些时间戳将显示在您的实验日志中。
收集数据后,读入瞳孔数据并将其转换为 numpy 数组(瞳孔时间、瞳孔 x 和瞳孔 y)。接下来加载您的 pyschopy 数据。pyschopy 中的时间戳可能相对于实验的开始存储,在这种情况下,您必须将实验开始时间添加到刺激呈现时间(开始时间应该在存储数据的某处可用)。
给定瞳孔时间、瞳孔 x、瞳孔 y 数组,您可以在实验期间绘制瞳孔运动:
import matplotlib.pyplot as plt
import numpy as np
# time since stimulus presentation, in seconds
t = np.linspace(0, 4, 400)
# time since stimulus presentation, relative to pupil data time
abs_t = t + stimulus_presentation_timestamp
# plot interpolated eye position from pupil data
px, py = np.interp(abs_t, pupil_time, pupil_x), np.interp(abs_t, pupil_time, pupil_y)
plt.plot(px, py)
plt.show()
您可能不想对数据进行插值 如果 Pupil Labs 软件仅记录每次扫视后的位置,则使用searchsorted
查找时间 t 之前最后记录的瞳孔位置可能更合适。
2016-05-23 更新:使用 t_abs 插值眼睛位置