跳转到主要内容

EyeLink数据文件(EDF)的可扩展解析器

项目描述

Python EyeLinkParser

Sebastiaan Mathôt和贡献者
版权所有 2016-2023
http://www.cogsci.nl/smathot

关于

python-eyelinkparser模块提供了一个框架来解析EyeLink数据文件,这些文件是以.asc格式保存的,即通过edf2asc.edf文件转换为该格式后得到的文件。此模块主要用于个人使用,并且文档不太完善。

安装

pip install python-eyelinkparser

预期格式

解析器假定单眼记录。

预期消息

默认情况下,解析器假定特定消息被发送到日志文件。如果您使用不同的消息,您需要覆盖_eyelinkparser.EyeLinkParser中的函数。这里没有解释,但您可以通过查看源代码来了解其工作原理。

试验开始

start_trial [trialid]

试验结束

end_trial
stop_trial

变量

var [name] [value]

连续数据段的开始

start_phase [name]
phase [name]

连续数据段的结束

end_phase [name]
stop_phase [name]

函数参考

eyelinkparser.EyeLinkParser(folder='data', ext=('.asc', '.edf', '.tar.xz'), downsample=None, maxtracelen=None, traceprocessor=None, phasefilter=None, phasemap={}, trialphase=None, edf2asc_binary='edf2asc', multiprocess=False, asc_encoding=None, pupil_size=True, gaze_pos=True, time_trace=True)

主要解析器类。通常不会直接创建此类,而是通过eyelinkparser.parse()函数创建,该函数接受与EyeLinkParser构造函数相同的参数(即下面的参数)。

参数

  • folder: str, 可选:包含.EDF或.ASC数据文件或压缩为.TAR.XZ存档的文件夹。

  • ext: str或tuple,可选:数据文件的允许文件扩展名,或扩展名的元组。

  • downsample: int 或 None,可选:指示是否应该对跟踪(如果有的话)进行降采样。例如,10 的值意味着信号变短 10 倍。降采样创建一个简单的跟踪处理器,因此不能与跟踪处理器参数结合使用。

  • maxtracelen: int 或 None,可选:跟踪的最大长度。较长的跟踪将被截断,并发出 UserWarning。此长度是指降采样/处理后的跟踪。

  • traceprocessor: 可调用对象 或 None,可选:在跟踪写入 SeriesColumn 之前应用于每个跟踪的函数。这可以用来应用最好在原始信号上进行的操作序列,例如首先纠正闪烁,然后降采样信号。

    函数必须接受两个参数:首先是一个跟踪标签,它是 'pupil'、'xcoor'、'ycoor' 或 'time'。这允许函数区分不同的信号类型;其次,是跟踪本身。

    有关应用闪烁校正和降采样的便利函数,请参阅 eyelinkparser.defaulttraceprocessor

  • trialphase: str 或 None,可选:指示在试验开始时应自动启动的相名称,或 None 表示不应自动启动试验。这对于处理由单个长周期组成的试验或没有写入日志文件的 start_phase 消息非常有用。

  • phasefilter: 可调用对象 或 None,可选:接收相名称作为参数的函数,并返回一个 bool 值,指示是否应该保留该相。

  • phasemap: dict,可选:一个字典,其键是重命名为相关值的相名称。这主要用于合并后续跟踪,在这种情况下,键是第一个跟踪,值是第二个跟踪。

  • edf2asc_binary: str,可选:edf2asc 可执行文件名称,如果可用,可以用来自动将 .edf 文件转换为 .asc。如果没有可用,解析器只能解析 .asc 文件。

  • multiprocess: bool 或 int 或 None,可选:指示是否应该在不同进程中处理每个文件。这可以显著加快解析速度。如果不为 False,则应是一个 int,表示进程数,或 None 表示进程数应与核心数相同。

  • asc_encoding: str 或 None,可选:指示 .asc 文件的字符编码,或 None 使用系统默认值。

  • pupil_size: bool,可选:指示是否应存储瞳孔大小跟踪。如果启用,瞳孔大小存储为 ptrace_[phase] 列。

  • gaze_pos: bool,可选:指示是否应存储水平和垂直注视位置跟踪。如果启用,注视位置存储为 xtrace_[phase]ytrace_[phase] 列。

  • time_trace: bool,可选:指示是否应存储时间戳跟踪,这些跟踪指示对应瞳孔和注视位置跟踪的时间戳。如果启用,时间戳存储为 ptrace_[phase] 列。

示例

import eyelinkparser as ep
dm = ep.parse(defaulttraceprocessor=ep.defaulttraceprocessor(
    blinkreconstruct=True, downsample=True, mode='advanced'))

教程

有关使用 EyeLinkParser 的教程,请参阅

许可证

python-eyelinkparser 根据 GNU 通用公共许可证 v3 许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源分发

python-eyelinkparser-0.17.3.tar.gz (15.9 kB 查看散列值)

上传时间

构建分发

python_eyelinkparser-0.17.3-py2.py3-none-any.whl (21.0 kB 查看散列值)

上传时间 Python 2 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面