在 EEG 数据 python 中查找峰值振幅和潜伏期,最好使用 MNE
Find peaks amplitude and latency in EEG data python, preferably using MNE
我有 EEG 数据,我想为其计算峰值的振幅和延迟。我正在使用 MNE,并在 Evoked 对象中找到方法 get_peak。但是,我想找到时代数据的峰值(不是平均数)。我该怎么做?我没有看到 epochs 对象的类似功能。我更愿意通过 MNE 来完成,但其他 python 库也可以。重要的是有一个选项可以获取峰值的幅度和延迟,并选择一个时间 window 进行检测。
另外,我没明白get_peak returns 只是最高峰,还是别的?如果有一个以上的峰值。
谢谢!
您只需从 Epochs 结构中选择一个试验,然后应用 .average(),即可从单个试验创建一个 Evoked 数据结构,例如,如下所示:
tmp_evoked = all_epochs[subj][cond][trial].average()
以上假设您有一个 all_epochs
对象组织为主题内条件内的试验(即,您在小组级别工作)。如果您的 Epochs 对象只有一个主题,那么它将只是:
tmp_evoked = all_epochs[cond][trial].average()
您可以进一步细化它以仅在一个通道找到峰值:
tmp_evoked = all_epochs[subj][cond][trial].pick(chan).average()
我有 EEG 数据,我想为其计算峰值的振幅和延迟。我正在使用 MNE,并在 Evoked 对象中找到方法 get_peak。但是,我想找到时代数据的峰值(不是平均数)。我该怎么做?我没有看到 epochs 对象的类似功能。我更愿意通过 MNE 来完成,但其他 python 库也可以。重要的是有一个选项可以获取峰值的幅度和延迟,并选择一个时间 window 进行检测。
另外,我没明白get_peak returns 只是最高峰,还是别的?如果有一个以上的峰值。
谢谢!
您只需从 Epochs 结构中选择一个试验,然后应用 .average(),即可从单个试验创建一个 Evoked 数据结构,例如,如下所示:
tmp_evoked = all_epochs[subj][cond][trial].average()
以上假设您有一个 all_epochs
对象组织为主题内条件内的试验(即,您在小组级别工作)。如果您的 Epochs 对象只有一个主题,那么它将只是:
tmp_evoked = all_epochs[cond][trial].average()
您可以进一步细化它以仅在一个通道找到峰值:
tmp_evoked = all_epochs[subj][cond][trial].pick(chan).average()