【构建EEG源定位正问题保姆级教程】基于BEM构建真实头模型

:本教程使用了Matlab中的Brainstorm工具箱,依据Brainstorn官网教程进行,更多具体细节可参考Brainstorm官网。教程中使用个人采集的同步EEG-fMRI数据,fMRI数据包括T1结构像数据和EPI功能像数据。其中涉及到的工具包:CAT12、OpenMEEG均可于Brainstorm中自动下载。


一、使用CAT12分割MRI

1、在Matlab中运行Brainstorm,在解剖端创建一个新的Protocol:点击File->New protocol。由于采集了被试的结构像数据,选择个人模板。

2、点击Create,此时界面增加了一些默认的结构数据,如下图所示:

3、右键点击新建的Protocol,选择New subject

 4、新建Subject,设置被试名(这里以8liping为例),后面的选择与建立Protocol时一致。

 5、点击Save,右击8liping,选择Import MRI。导入其结构像数据nii格式文件。

6、计算MNI归一化。即点击下图绿框处。

7、点击绿框处,得到如下图,选择maff8,稍等,然后Save。

8、右击s-8liping-3D->MRI segmentation->CAT12。后面默认OK。

9、这步时间较长,生成的结果将自动导入,结果如下:

二、使用基于OpenMEEG的BEM法构建真实头模型

该正演模型使用对称边界元法(对称BEM),为了计算一个真实的边界元正向模型,我们需要受试者的解剖结构包括代表模型中使用的组织之间边界的表面:头皮(头部-空气界面)、外颅骨(头皮-颅骨界面)和内颅骨(颅骨-大脑+脑脊液界面)。

1、计算前向分析模型所需的文件:MRI、头部表面、皮层表面。在协议的解剖视图中,右键单击MRI segmentation->Generate BEM surfaces,选择Brainstorm。

Brainstorm可以根据受试者的皮层和头部表面以及ICBM152的内颅面和外颅面生成粗略的近似值。生成的曲面是非相交的

2、切换到视图“功能数据(按主题排序)”,数据库浏览上方的第二个按钮。右键单击通道文件->计算头模型,在列表中选择OpenMEEG BEM。

本例遇到如下问题:

上示问题表示偶极子外露,即通过BEM生成的头皮层与外颅骨相交了,如下图所示。

解决方法:偶极子外露解决方案

重新生成具有更多顶点的BEM曲面来更好地进行包裹。本例中,将原来1922的Scalp增加至2562.。

计算头部模型结束后,将会生成新头部模型,如下图所示。

### 使用Python实现EEG源定位的方法 EEG源定位是指通过分析皮上的脑电信号来估计大脑皮层中神经活动的位置。这一过程通常依赖于复杂的数学模型和高性能的数值计算工具。以下是基于MNE-Python库实现EEG源定位的具体方法。 #### 1. 安装必要的软件包 为了进行EEG源定位,需要安装一系列支持科学计算的Python库。这些库可以通过`conda`或`pip`命令完成安装: ```bash pip install nibabel -i https://pypi.tuna.tsinghua.edu.cn/simple pip install nilearn -i https://pypi.tuna.tsinghua.edu.cn/simple python -m pip install --upgrade pip pip3 install --force-reinstall --upgrade jupyter pip3 install mne pip3 install matplotlib pip3 install PyQt6 pip3 install PySide6 pip3 install PyQt5 pip3 install PySide2 pip3 install pyvistaqt ``` 上述命令涵盖了用于加载医学图像文件、可视化三维数据以及执行核心EEG信号处理功能所需的全部依赖项[^3]。 #### 2. 数据预处理 在进行源定位之前,需对原始EEG数据进行充分的预处理。此阶段可能涉及重设参考电极、滤波去噪以及其他质量控制操作。例如,当希望保留原有的参考设置而不引入新的平均参考投影时,可以调用如下代码片段: ```python raw.set_eeg_reference(ref_channels=[]) ``` 这里的关键参数`ref_channels=[]`指示程序不再额外添加任何参考通道[^1]。而如果目标是更改现有的参考框架,则可利用`set_eeg_reference()`或者手动追加新参考通道的方式达成目的[^2]。 #### 3. 构建前向模型与逆向解算器 构建合适的前向模型对于后续成功求解至关重要。一般而言,该步骤包括定义部几何结构(如边界元法BEM网格)、指定传感器位置及其对应的大脑区域映射关系等内容。之后,在此基础上设计相应的逆向算法以推断潜在激活源的空间分布情况。 以下是一个简单的例子展示如何创建并应用自由空间中的单球体近似作为前向解决方案的一部分: ```python import mne from mne.datasets import sample data_path = sample.data_path() subjects_dir = data_path / 'MEG' / 'sample' trans = data_path / 'MEG' / 'sample' / 'sample_audvis_raw-trans.fif' fwd = mne.make_forward_solution(info=raw.info, trans=trans, src=mne.setup_source_space('sample', spacing='oct6', subjects_dir=subjects_dir), bem=mne.make_bem_model(subject='sample', ico=4, conductivity=[0.3], subjects_dir=subjects_dir)) inv = mne.minimum_norm.make_inverse_operator(raw.info, fwd, cov) stc = mne.minimum_norm.apply_inverse(evoked, inv, lambda2=1. / 9., method="dSPM") brain = stc.plot(surface='inflated', hemi='rh', views=['lat'], size=(800, 600), smoothing_steps=7) ``` 以上脚本展示了从前向模型生成到最终绘制激活图谱的整体流程。 #### 4. 可视化结果 最后一步是对所得的数据集加以图形化的呈现形式以便直观理解实验发现的意义所在。借助诸如PyVistaQt之类的高渲染引擎能够极大地提升用户体验效果。 --- ###
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值