[ PROMPT_NODE_26890 ]
Neuropixels Analysis Analysis
[ SKILL_DOCUMENTATION ]
# 后处理与分析参考
关于 Neuropixels 数据质量指标、可视化及分析的综合指南。
## 排序分析器 (Sorting Analyzer)
`SortingAnalyzer` 是进行后处理的核心对象。
### 创建分析器
python
import spikeinterface.full as si
# 创建分析器
analyzer = si.create_sorting_analyzer(
sorting,
recording,
sparse=True, # 使用稀疏表示
format='binary_folder', # 存储格式
folder='analyzer_output' # 保存位置
)
### 计算扩展
python
# 计算所有标准扩展
analyzer.compute('random_spikes') # 随机脉冲选择
analyzer.compute('waveforms') # 提取波形
analyzer.compute('templates') # 计算模板
analyzer.compute('noise_levels') # 噪声估计
analyzer.compute('principal_components') # PCA
analyzer.compute('spike_amplitudes') # 每个脉冲的振幅
analyzer.compute('correlograms') # 自/互相关图
analyzer.compute('unit_locations') # 单位位置
analyzer.compute('spike_locations') # 每个脉冲的位置
analyzer.compute('template_similarity') # 模板相似度矩阵
analyzer.compute('quality_metrics') # 质量指标
# 或一次性计算多个
analyzer.compute([
'random_spikes', 'waveforms', 'templates', 'noise_levels',
'principal_components', 'spike_amplitudes', 'correlograms',
'unit_locations', 'quality_metrics'
])
### 保存与加载
python
# 保存
analyzer.save_as(folder='analyzer_saved', format='binary_folder')
# 加载
analyzer = si.load_sorting_analyzer('analyzer_saved')
## 质量指标
### 计算指标
python
analyzer.compute('quality_metrics')
qm = analyzer.get_extension('quality_metrics').get_data()
print(qm)
### 可用指标
| 指标 | 描述 | 良好值 |
|--------|-------------|-------------|
| `snr` | 信噪比 | > 5 |
| `isi_violations_ratio` | ISI 违规比率 | 0.9 |
| `firing_rate` | 每秒脉冲数 | 0.1-50 Hz |
| `amplitude_cutoff` | 估计漏检脉冲 | < 0.1 |
| `amplitude_median` | 中位脉冲振幅 | - |
| `amplitude_cv` | 变异系数 | < 0.5 |
| `drift_ptp` | 峰峰值漂移 (um) | < 40 |
| `drift_std` | 漂移标准差 | < 10 |
| `drift_mad` | 中位绝对偏差