偶极取向在分布式源定位中的作用

更多技术干货第一时间送达

Hello,大家好!

Rose小哥今天分享一下偶极取向在分布式源定位中的作用。

关于偶极子源定位问题,可以查看《脑电偶极子源定位问题》。

在脑电定位研究中,一般都用电流偶极子作为源的模型。电流偶极子是两个相距很近带有等量异性电量的点电荷,且其电量随时间而变化(相当于两点之间有电流)。

采用电流偶极子作为源模型的原因有:

  • 简单性,一个电流偶极子由六个参数就可完全确定(三个位置坐标、三个极矩坐标);

  • 物理合理性的考虑

  • 从神经电生理的角度考虑:单一神经元的电活动可以用一个电流偶极子来描述,因此应根据激发源区域选取偶极子源模型。

单偶极子源

该模型的中心思想是:用一个电流偶极子模拟一个局域的脑神经活动。

缺点:当兴奋皮层区域足够大或者兴奋区域非单一时,单偶极子的模拟就不够准确了。

多偶极子源

该模型主要应用于兴奋皮层区域比较大或者兴奋区域非单一的情况下。

缺点:由于实际观测数据有限,且含有各种噪声干扰,所以不容易找到很好的多偶极子定位方法。

常见的多偶极子源模型有:双偶极子源、三偶极子源、线性偶极子源、圆盘式偶极子源

  • 双偶极子源带有十二个参数,两个偶极子间的距离大于大脑皮层半径的六分之一;

  • 三偶极子源带有十八个参数,限制条件是每两个偶极子间的距离大于大脑皮层半径的六分之一;

  • 圆盘式偶极子源一般设定其有7 个偶极子

  • 线性偶极子源一般设定其有9 个偶极子

当以分布式方式(MNE/dSPM/sLORETA/eLORETA)进行源定位时,源空间被定义为一个由偶极子构成的网格,它跨越了皮层的大部分。这些偶极子有位置和方向。

在本教程中,我们将研究可用于限制偶极子方向以及对最终源估计的影响的各种选项。

# 导入工具包import mneimport numpy as npfrom mne.datasets import samplefrom mne.minimum_norm import make_inverse_operator, apply_inversefrom mayavi import mlab

导入数据

# 导入数据data_path = sample.data_path()# 读取默认路径中的文件evokeds = mne.read_evokeds(data_path + '/MEG/sample/sample_audvis-ave.fif')left_auditory = evokeds[0].apply_baseline()fwd = mne.read_forward_solution( data_path + '/MEG/sample/sample_audvis-meg-eeg-oct-6-fwd.fif')mne.convert_forward_solution(fwd, surf_ori=True, copy=False)noise_cov = mne.read_cov(data_path + '/MEG/sample/sample_audvis-cov.fif')subject = 'sample'subjects_dir = data_path + '/subjects'trans_fname = data_path + '/MEG/sample/sample_audvis_raw-trans.fif'

源空间

让我们首先检查mne.setup_source_space()函数构造的源空间,偶极子按一定的间隔放置在皮层上,由间隔参数决定。源空间没有定义这些偶极子的方向。

lh = fwd['src'][0] # 可视化左半球verts = lh['rr'] # 源空间的顶点tris = lh['tris'] # 由三个顶点组成的三角形组dip_pos = lh['rr'][lh['vertno']] # 偶极子的位置dip_ori = lh['nn'][lh['vertno']]dip_len = len(dip_pos)dip_times = [0]white = (1.0, 1.0, 1.0) # 白色的RGB值
actual_amp = np.ones(dip_len) # 创建偶极子实例actual_gof = np.ones(dip_len) # 其他GOF创建偶极子实例dipoles = mne.Dipole(dip_times, dip_pos, actual_amp, dip_ori, actual_gof)trans = mne.read_trans(trans_fname)
fig = mne.viz.create_3d_figure(size=(600, 400), bgcolor=white)coord_frame = 'mri'
# 绘制皮层fig = mne.viz.plot_alignment(subject=subject, subjects_dir=subjects_dir, trans=trans, surfaces='white', coord_frame=coord_frame, fig=fig)
# 用小红点标记偶极子的位置fig = mne.viz.plot_dipole_locations(dipoles=dipoles, trans=trans, mode='sphere', subject=subject, subjects_dir=subjects_dir, coord_frame=coord_frame, scale=7e-4, fig=fig)
mne.viz.set_3d_view(figure=fig, azimuth=180, distance=0.25)mlab.show()

固定偶极子方向

源空间定义了偶极子的位置,而反算子定义了偶极子的可能方向。其中一个选项是指定一个固定的方向。由于产生MEG和EEG信号的神经流大多垂直于皮层1,因此限制偶极子的方向会对源估计产生有用的限制。

通过在调用mne.minimum_norm.make_inverse_operator()时指定fixed = True,可以将偶极子方向固定为与皮层表面正交,向外指向。让我们直观地看一下:

代码如下:

fig = mne.viz.create_3d_figure(size=(600, 400))
# 绘制皮层fig = mne.viz.plot_alignment(subject=subject, subjects_dir=subjects_dir, trans=trans, surfaces='white', coord_frame='head', fig=fig)
# 将偶极子显示为沿表面法线方向的箭头fig = mne.viz.plot_dipole_locations(dipoles=dipoles, trans=trans, mode='arrow', subject=subject, subjects_dir=subjects_dir, coord_frame='head', scale=7e-4, fig=fig)
mne.viz.set_3d_view(figure=fig, azimuth=180, distance=0.1)mlab.show()
"""以这种方式限制偶极子的方向会导致对样本数据进行以下源估计:"""# 计算样本数据集中“左听觉”条件的源估计。inv = make_inverse_operator(left_auditory.info, fwd, noise_cov, fixed=True)stc = apply_inverse(left_auditory, inv, pick_ori=None)
# 可视化其高峰活动时刻_, time_max = stc.get_peak(hemi='lh')brain_fixed = stc.plot(surface='white', subjects_dir=subjects_dir, initial_time=time_max, time_unit='s', size=(600, 400))mlab.show()

现在将估计电流的方向限制为两个方向:向内和向外。在该图中,蓝色区域表示电流向内流动,红色区域表示电流向外流动。给定皮质的曲率,偶极子群往往指向同一方向:传感器拾取的电磁场方向。

偶极子取向松散

强制源极偶极子严格与皮质正交,使源极估计值对沿皮质的偶极子间距敏感,因为皮质的曲率在每个〜10平方毫米的贴片内变化。此外,当严格限制源偶极子方向时,MEG / EEG和MRI坐标系的失准更为严重。

为了解除对偶极子方向的限制,逆算子可以放置一个而不是三个偶极子。在源空间定义的每个位置。这三个偶极子正交放置以形成笛卡尔坐标系。让我们直观地看一下:

fig = mne.viz.create_3d_figure(size=(600, 400))
# 绘制皮层fig = mne.viz.plot_alignment(subject=subject, subjects_dir=subjects_dir, trans=trans, surfaces='white', coord_frame='head', fig=fig)
# 显示在源空间中每个位置定义的三个偶极子fig = mne.viz.plot_alignment(subject=subject, subjects_dir=subjects_dir, trans=trans, fwd=fwd, surfaces='white', coord_frame='head', fig=fig)
mne.viz.set_3d_view(figure=fig, azimuth=180, distance=0.1)mlab.show()

在计算源估计时,三个偶极子中的每一个的活动都被分解为单个矢量的XYZ分量,这将导致对样本数据进行以下源估计:

代码如下:

# 获取偶极子方向松散的逆算子inv = make_inverse_operator(left_auditory.info, fwd, noise_cov, fixed=False, loose=1.0)
# 计算源估计,表明我们需要一个向量解stc = apply_inverse(left_auditory, inv, pick_ori='vector')
# 可视化其高峰活动时刻_, time_max = stc.magnitude().get_peak(hemi='lh')brain_mag = stc.plot(subjects_dir=subjects_dir, initial_time=time_max, time_unit='s', size=(600, 400), overlay_alpha=0)mlab.show()

限制方向,而不是修复它们

通常,最好的结果是允许偶极子有一定的自由取向,但不要偏离与皮质垂直的取向太远。minimum_norm.make_inverse_operator()的loose参数允许您指定0(固定)和1(无限制或"自由")之间的值,以指示允许方向偏离表面法线的量。

# 设置为0.2(默认值)inv = make_inverse_operator(left_auditory.info, fwd, noise_cov, fixed=False, loose=0.2)stc = apply_inverse(left_auditory, inv, pick_ori='vector')
# 可视化其高峰活动时刻_, time_max = stc.magnitude().get_peak(hemi='lh')brain_loose = stc.plot(subjects_dir=subjects_dir, initial_time=time_max, time_unit='s', size=(600, 400), overlay_alpha=0)mlab.show()

丢弃偶极子方向信息

通常,对数据的进一步分析不需要关于偶极子方向的信息,而是需要它们的大小。函数的pick_ori参数允许您指定是返回完整的向量解("vector"),还是返回向量的大小(无,默认值),还是只返回垂直于皮层方向的活动("normal")。

# 只保留向量的大小stc = apply_inverse(left_auditory, inv, pick_ori=None)
# 可视化其高峰活动时刻_, time_max = stc.get_peak(hemi='lh')brain = stc.plot(surface='white', subjects_dir=subjects_dir, initial_time=time_max, time_unit='s', size=(600, 400))mlab.show()

参考文献

1.Hämäläinen, M. S., Hari, R., Ilmoniemi, R. J., Knuutila, J., & Lounasmaa, O. V. “Magnetoencephalography - theory, instrumentation, and applications to noninvasive studies of the working human brain”, Reviews of Modern Physics, 1993. https://doi.org/10.1103/RevModPhys.65.413

2.Lin, F. H., Belliveau, J. W., Dale, A. M., & Hämäläinen, M. S. (2006). Distributed current estimates using cortical orientation constraints. Human Brain Mapping, 27(1), 1–13. http://doi.org/10.1002/hbm.20155

更多阅读

EEG与睡眠分期

华中科技大学研究团队揭示了基于EEG的脑机接口中的安全性问题

EEG在注意力、记忆方面的原理与应用

论文周报 | 第10期

CCA典型关联分析原理与Python案例

北大团队成功实现精准删除特定记忆,马斯克脑机接口有望今年人体测试

脑电偶极子源定位问题

2020年度国家科学技术奖受理项目公布

运动想象,情绪识别等公开数据集汇总

著名人工智能专家周志华教授谈如何做研究与写论文

脑电分析与可视化工具ERPLAB官方使用视频教程(一)

脑电分析与可视化工具ERPLAB官方使用视频教程(二)

利用LSTM(长短期记忆网络)来处理脑电数据

天津大学在线课程:神经工程学

带你入门跨学科领域——认知神经科学

2019年精彩文章汇总

(0)

相关推荐