我有一些 Nifti 文件格式的预处理 fMRI 数据,我想访问与特定大脑区域相关的 BOLD 值,例如右前岛叶。我知道有很多功能可以从 nifti 文件导入数据,但我想确保 BOLD 值字面上代表感兴趣区域中的活动,因为我想基于此进行一些分类。
有没有什么好的和有效的方法可以做到这一点,最好是一些与 SPM 相关的功能?
我有一些 Nifti 文件格式的预处理 fMRI 数据,我想访问与特定大脑区域相关的 BOLD 值,例如右前岛叶。我知道有很多功能可以从 nifti 文件导入数据,但我想确保 BOLD 值字面上代表感兴趣区域中的活动,因为我想基于此进行一些分类。
有没有什么好的和有效的方法可以做到这一点,最好是一些与 SPM 相关的功能?
我不知道有一个简单的现有 Matlab 函数/工具箱可以直接执行您想要的操作,但是所有元素都在那里,您应该能够自己编写类似的程序。
图像中的哪些体素属于哪个解剖大脑区域的信息由所谓的图谱提供,基本上是查找表。一个这样的图集包含在SPM的流行AAL 扩展中(最高版本 8)。AAL 工具箱的目的是将给定的体素坐标转换为解剖标签——这不是您所需要的。
然而,这背后是一个 nifti 图像“ROI_MNI_V4.nii”,其中包含每个体素中的整数代码,以及一个在这些整数代码和解剖标签之间转换的随附文本文件“ROI_MNI_V4.txt”。例如,右脑岛的代码为 3002。因此,您在 nifti 图像中查找包含代码 3002 的所有体素,您会得到一个标记右脑岛中所有体素的掩码。
您必须注意,为了实现逐个体素匹配,您的数据文件需要具有与图集图像相同的分辨率和对齐方式。此外,地图集已校准到 MNI 标准空间,这意味着您必须将数据标准化为 MNI 模板,或者更好:将逆标准化变换应用于地图集。如果你不知道我在说什么,你应该阅读 SPM 手册中关于空间标准化的部分。另一个问题可能是 AAL 分块对您来说不够细粒度;例如,右前岛没有特殊编码。但是还有其他地图集,其中之一可能会提供您需要的内容。
如果您开始对您的问题实施这种方法并且遇到困难,请随时发布有关特定问题的另一个问题,并通过此处的评论向我指出。
函数 spm_regions.m 将提取 ROI。它直接从预处理的图像中提取数据。但是,它会对输出进行白化和过滤,并且可以根据不感兴趣的回归量(例如重新调整参数)调整数据。我在这里讨论这个:
但是,如果您想要未经过滤的原始数据,请使用 spm_get_data.m