fMRI数据处理(随时更新)

要开始学习处理fMRI的数据了。

fMRI的数据一般有 dcm 格式和 nii 格式。

Nifti(Neuroimaging Informatics Technology Initiative,神经影像信息学技术倡议)文件格式,是目前各大神经影像分析工具普遍兼容的体素水平的数据格式,也是在进行神经影像研究中最常见的一种数据格式。它是一个三维数组 (sMRI)或者四维数组 (fMRI、dMRI),再套上一个头部数据。数组里包含的就是图像体素值数据本身,头部数据里包含空间和体素信息。

Matlab从2017b后就引入了专门的Nifti文件的解析函数,SPM12(Statistical Parametric Mapping,统计参数映射)。

一、使用matlab工具包SPM12读取fMRI数据(*.nii)

(1)首先得安装工具包SPM12,我参考的是下面这篇博客:

在matlab下安装spm工具_spmas包matlab-CSDN博客

(2)使用SPM12读取数据,举例如下:

Matlab 复制代码
inputDir='D:\2_chenfang_labs\ECG-fMRI\result_removePhysio_40sub';
num=40; % number of subject
subSample=dir([inputDir,filesep]);

for i=1:num
    sub=i+2;
    imgNameSample = dir([inputDir,filesep,subSample(sub,1).name,filesep,'*.nii']);
    imgnum=length(imgNameSample);
    for jj=1:imgnum
        Dir_img=[inputDir,filesep,subSample(sub,1).name,filesep,imgNameSample(jj).name];
        vSub=spm_vol(Dir_img);  dim=vSub.dim; mat=vSub.mat;
        imgSub=spm_read_vols(vSub);
        data=reshape(imgSub,dim(1)*dim(2)*dim(3),1);
        data(isnan(data))=0;
        data1(jj,:,:,:)=data;% 读取fMRI数据
    end
end



   
相关推荐
zylyehuo12 小时前
Hilbert 矩阵的求解
matlab
feifeigo12312 天前
matlab画图工具
开发语言·matlab
一个人旅程~12 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
Gofarlic_oms112 天前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
rit843249912 天前
全变分正则化图像去噪的MATLAB实现
开发语言·matlab
Evand J12 天前
通过matlab实现机器学习的小项目示例(鸢尾花分类)
机器学习·支持向量机·matlab
bu_shuo12 天前
MATLAB命令行窗口中的字体放大操作
matlab·命令行
micro_xx12 天前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab
Factory_Audit13 天前
亚马逊社会责任验厂审核标准及注意事项
大数据·经验分享
江南小书生13 天前
制造业系统赋能成熟度自测表(实操版)
经验分享·非标制造