【入门且详细!fMRI信号预处理操作流程笔记】SPM12版

写在前面

网上有很多关于spm操作流程的资料,包括视频形式和文章形式的,视频形式我感觉做的已经比较完善了,但是视频教程有个问题,就是你看完一遍回头自己做的时候中间的某个细节步骤又会忘了,这时候你就需要去翻阅视频,比较麻烦,所有我将操作流程详细的整理成笔记的形式,方便初学者快速上手学习以及作为一个字典工具方便spm用户查阅和巩固学习。

〇、 数据准备

本次数据预处理使用一组Nback数据集,数据存放格式如下:
在这里插入图片描述
功能数据和结构数据分别存放于两个文件夹内,下一级目录为每个被试,被试编号为180*,180*_out文件夹内存放预处理的结果。

一、DICOM格式转NIFIT格式

很简单,按下图操作即可:
在这里插入图片描述
在这里插入图片描述
选择两个文件路径,一个是DICOM文件的数据路径,另一个是NIFIT文件的输出路径,选择好之后点击左上方的绿色三角按钮运行,在另一个窗口里会显示程序运行进度:
在这里插入图片描述

二、时间层校正

在这里插入图片描述
在这里插入图片描述
双击 Data,然后双击Session,进入如下页面
在这里插入图片描述
选择你要矫正的时间层,一般要根据自己的需求去除前几层,我这里去除了前5层
在这里插入图片描述
这几个参数需要自己配置,这些参数可以在数据的头文件中获取,TA的计算公式为:1-TR/Number of Slices

三、头动矫正

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择好要处理的文件后,点运行会在另一个窗口绘制六个头动参数的折线图:
在这里插入图片描述
并产生一个以rp为开头的.txt文件,该文件为头动参数文件

四、空间配准

在这里插入图片描述
在这里插入图片描述
Reference Image:选择功能像
在这里插入图片描述
Source Image:选择结构像
在这里插入图片描述
运行后,出现:
在这里插入图片描述

五、分割(非必要)

在这里插入图片描述
在这里插入图片描述
选择结构像
在这里插入图片描述
按下图修改一个参数:
在这里插入图片描述
分割后可以通过Check Reg查看分割结果
在这里插入图片描述
选择你想要看的图像
在这里插入图片描述
c1是灰质,c2是白质,c3是脑脊液,c4是头骨
在这里插入图片描述

六、空间标准化

在这里插入图片描述
在这里插入图片描述
这里选择结构像:
在这里插入图片描述
在这里插入图片描述
这里选择功能像:
在这里插入图片描述
在这里插入图片描述
这里可以调整图窗的大小,默认参数比较小,现在常用下方我修改的这个参数
在这里插入图片描述
这里设置重采样大小,一般选定3 3 3
上述步骤运行结束后,同样可以通过Check Reg看一下标准化后的图像:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

空间平滑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同样我们也可以用Check Reg查看平滑后的图像,大家自行尝试,我就不赘述了,平滑后图像的前缀是swra

写在最后

以上就是用spm(目前最主流的fMRI信号处理软件包)预处理的所有操作流程,希望没有耽误各位看官的时间,也更希望能够给给为看官带来帮助,这是我的荣幸,后续还会推出spm做一阶分析(被试水平的一般线性模型)和二阶分析(组分析)的详细操作流程,如果点赞人数较多后续考虑更新afni的操作流程(afni虽然不主流但是特别特别好用而且特别高端,不主流的原因可能是他学习来比较困难,是目前最难学的fMRI信号处理软件,没有之一),还有一个近几年比较流行的Dpabi,这个是中科院心理所严超赣课题组做的,b站上有详细的教程也有网页版的学习笔记,我就不添乱了()
Thanks!

### 如何在 fMRI 数据分析中进行回归以去除干扰信号fMRI 数据分析过程中,为了减少非神经元波动的影响并提高数据质量,通常会对平滑后的数据进行协变量回归。这一过程旨在从每个体素的时间序列中移除可能由生理性噪声或其他因素引起的干扰信号[^4]。 具体而言,常见的干扰信号包括白质信号、脑脊髓液(CSF)信号以及头部运动参数等。这些信号可能会引入伪影或掩盖真实的血氧水平依赖 (BOLD) 信号变化。因此,在数据分析阶段,会构建一个线性模型来描述时间序列中的潜在干扰成分,并通过多元回归的方法将其从原始数据中剔除。 以下是实现该目标的技术细节: #### 构建协变量矩阵 1. **提取干扰源信号**: 需要先从感兴趣区域(ROI)之外的其他结构(如白质和CSF)中提取平均时间序列作为干扰信号代表。这一步骤可通过自动分割工具完成,例如 FreeSurfer 或 FSL 的 FAST 工具。 2. **加入头部运动参数**: 头部微小移动也可能引起显著的数据偏差。一般情况下,六自由度刚体变换参数(三个旋转角度和三个位移向量)会被纳入协变量矩阵中用于校正这种影响。 3. **扩展模型复杂度可选操作**: - 对上述提到的基础项做多项式延展或者其一阶导数补充以便更好地捕捉快速变动部分; - 如果存在心跳周期同步采集,则还可以考虑心率呼吸相关联的变化模式进一步增强去噪效果。 #### 执行多元线性回归 一旦准备好了完整的协变量集合之后,就可以利用统计软件包执行实际计算工作了。这里给出一段 Python 示例代码展示如何基于 Numpy 库来进行简单的回归运算: ```python import numpy as np def remove_nuisance(data_matrix, nuisance_regressors): """ Perform linear regression to remove nuisance signals from data. Parameters: data_matrix : array-like of shape (n_voxels, n_timepoints) The preprocessed fMRI time series. nuisance_regressors : array-like of shape (n_timepoints, n_regressors) Matrix containing the nuisance regressor variables. Returns: cleaned_data : ndarray of shape (n_voxels, n_timepoints) Time-series with removed effects due to nuisances. """ # Add intercept term for constant offset correction X = np.column_stack((nuisance_regressors, np.ones(nuisance_regressors.shape[0]))) beta_hat = np.linalg.lstsq(X.T @ X, X.T @ data_matrix.T, rcond=None)[0].T predicted_signal = X @ beta_hat.T residual = data_matrix - predicted_signal.T return residual ``` 此函数接受两个输入参数:一个是包含所有体素时间序列的大规模数组 `data_matrix`;另一个是由各种已知干扰因子构成的小型设计阵列 `nuisance_regressors`. 输出结果将是经过净化处理后的新大脑活动记录表单形式呈现出来。 值得注意的是,尽管这种方法能有效降低某些类型的噪音污染程度,但它同时也可能导致丢失少量有用的信息内容。所以在应用之前应当仔细权衡利弊关系,并始终保留未经任何修改过的初始资料副本以防万一需要回溯审查之用。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BPA Lab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值