SpikeInterface:数据载入与预处理完全指南
上一篇我们介绍了SI的整体架构和核心概念。从今天开始,我们将进入实战环节。本文将详细讲解如何读取各种格式的电生理数据、进行必要的预处理操作,以及如何通过可视化检查信号质量。
(
SpikeInterface
)
一.数据读取
电生理数据来自不同的采集系统,格式各异。SI的 extractors 模块为你统一了这些差异。
1.1 支持的数据格式
1.2 读取.jnt数据文件
.jnt文件是Panda系列采集系统常用的数据格式,与.plx文件格式相同,可以使用相同的读取方法:
代码参考:https://spikeinterface.readthedocs.io/en/latest/api.html#spikeinterface.extractors.read_plexon
1.3 读取其他格式
代码参考:https://spikeinterface.readthedocs.io/en/latest/modules/extractors.html
1.4 使用模拟数据练习
如果你没有现成的数据,可以使用SI自带的模拟数据:
(
SpikeInterface
)
二.电极位置与Probe信息
正确的电极位置信息对尖峰分类很重要,尤其是在使用多通道探针时。探针信息告诉SI每个通道在空间中的位置,这对于基于空间信息的分类算法(如Kilosort)至关重要。
2.1 自动读取Probe信息
大多数现代数据格式(如SpikeGLX)会在元数据中包含probe信息:
2.2 手动设置Probe
如果数据中没有probe信息,可以手动设置:
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/probe_handling.html
(
SpikeInterface
)
三.预处理操作
预处理是尖峰分类前最关键的步骤,直接影响分类质量。预处理的目的是去除噪声、提高信噪比(SNR,Signal-to-Noise Ratio),使后续的分类算法能够更准确地检测和分类spike。
3.1 滤波(Filtering)
带通滤波是最基本的预处理步骤,用于提取动作电位信号。动作电位的主要频段在300-6000 Hz之间。
陷波滤波用于去除工频干扰(50/60 Hz):
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/preprocessing/bandpass_filter.html
3.2 重参考(Re-referencing)
重参考可以减少共模噪声,提高信噪比。共模噪声是指同时出现在所有通道上的噪声,如环境电磁干扰、动物的呼吸和心跳等。
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/preprocessing/common_reference.html
3.3 坏道检测与处理
坏道(bad channels)会严重影响分类质量。坏道可能是由于电极损坏、接触不良或其他硬件问题导致的。
检测坏道
处理坏道
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/preprocessing/detect_and_remove_bad_channels.html
3.4 预处理链的组合
SI的惰性计算特性让你可以方便地组合多个预处理步骤:
(
SpikeInterface
)
四.信号质量检查
预处理完成后,应该通过可视化检查信号质量。这是确保预处理效果的重要步骤。
4.1 查看原始信号
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/widgets/plot_traces.html
4.2 功率谱密度分析
功率谱密度(PSD,Power Spectral Density)可以显示信号在不同频率上的能量分布。
(
SpikeInterface
)
五.保存预处理后的数据
预处理链是惰性的,如果需要重复使用,可以保存到磁盘:
代码参考:https://spikeinterface.readthedocs.io/en/latest/tutorials/core/save.html
(
SpikeInterface
)
六.完整代码示例
(
SpikeInterface
)
七、下一步
完成预处理后,数据已经准备好进行尖峰分类了。在下一篇文章中,我们将介绍SI支持的各种尖峰分类器,以及如何使用Docker轻松运行Kilosort等需要MATLAB环境的分类器。
参考资源:
Preprocessing Tutorial: https://spikeinterface.readthedocs.io/en/latest/tutorials/preprocessing/
Extractors文档: https://spikeinterface.readthedocs.io/en/latest/modules/extractors.html
有任何问题或建议,欢迎在评论区留言讨论!

