Python-MNE-源空间和正模型02:源配准和坐标框架

本教程展示了如何可视化评估脑磁图传感器位置的空间配准,数字化头皮地标和传感器位置,以及MRI体积。这个配准过程对于计算正向解是至关重要的,理解这个过程中涉及的不同坐标系也是如此。
先导入:

import nibabel as nib
import numpy as np
from scipy import linalg

import mne
from mne.io.constants import FIFF

data_path = mne.datasets.sample.data_path()
subjects_dir = data_path / "subjects"
raw_fname = data_path / "MEG" / "sample" / "sample_audvis_raw.fif"
trans_fname = data_path / "MEG" / "sample" / "sample_audvis_raw-trans.fif"
raw = mne.io.read_raw_fif(raw_fname)
trans = mne.read_trans(trans_fname)
src = mne.read_source_spaces(subjects_dir / "sample" / "bem" / "sample-oct-6-src.fif")

# Load the T1 file and change the header information to the correct units
t1w = nib.load(data_path / "subjects" / "sample" / "mri" / "T1.mgz")
t1w = nib.Nifti1Image(t1w.dataobj, t1w.affine)
t1w.header["xyzt_units"] = np.array(10, dtype="uint8")
t1_mgh = nib.MGHImage(t1w.dataobj, t1w.affine)

Opening raw data file /home/circleci/mne_data/MNE-sample-data/MEG/sample/sample_audvis_raw.fif…
Read a total of 3 projection items:
PCA-v1 (1 x 102) idle
PCA-v2 (1 x 102) idle
PCA-v3 (1 x 102) idle
Range : 25800 … 192599 = 42.956 … 320.670 secs
Ready.
Reading a source space…
Computing patch statistics…
Patch information added…
Distance information added…
[done]
Reading a source space…
Computing patch statistics…
Patch information added…
Distance information added…
[done]
2 source spaces read

什么是坐标系(coordinate frames)?

对于MEG/EEG源成像,必须使用两个3D变换矩阵三个坐标系进行对齐,这些变换矩阵定义了如何旋转平移一个坐标系中的点到另一个坐标系中的等效位置。三个主要的坐标系是:

  • “meg”:meg传感器物理位置的坐标系
  • “mri”:mri图像的坐标系,以及从mri图像中导出的头皮/颅骨/大脑表面
  • “head”:数字化传感器位置和头皮标志的坐标系(“fiducials”)

每一个的更详细信息都会在下一章讲到。

可视化这些坐标系的一个方法是使用mne.viz.plot_alignment函数,用于创建或查看将这些坐标系对齐的转换,并显示EEG传感器、MEG传感器、脑活动源和导体模型的结果配准。如果提供subjects_dirsubject参数,该函数自动加载受试者的Freesurfer MRI表面。对我们来说很重要的一点是,给plot_alignment传递show_axes=True参数,将以不同的颜色绘制每个坐标系的原点,并用不同大小的箭头表示坐标轴:

  • shortest arrow: (R)ight / X
  • medium arrow: forward / (A)nterior / Y
  • longest arrow: up / (S)uperior / Z
    请注意,所有三个坐标系都是RAS坐标系,因此也是右手坐标系。最后,请注意,coord_frame参数设置相机最初应与哪个坐标系对齐。让我们来看一看:
fig = mne.viz.plot_alignment(
    raw.info,
    trans=trans,
    subject="sample",
    subjects_dir=subjects_dir,
    surfaces="head-dense",
    show_axes=True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值