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



   
相关推荐
gihigo19989 分钟前
MATLAB实现光谱特征波长提取
开发语言·matlab
fie888941 分钟前
matlab打靶法求解两点边值优化问题
开发语言·算法·matlab
hoiii1871 小时前
基于MATLAB实现Lamb波频散曲线求解
开发语言·matlab
轩Scott2 小时前
【无标题】
经验分享
中屹指纹浏览器2 小时前
2026指纹浏览器缓存机制深挖:HTTP强缓存与协商缓存隐性风控陷阱
经验分享·笔记
yu85939583 小时前
MATLAB 分支定界法(Branch and Bound)实现
开发语言·matlab
法雅特吉他3 小时前
入门吉他选购指南:桶型、材质、工艺对吉他性能的影响
经验分享·新媒体运营·学习方法·业界资讯·流量运营·材质·内容运营
数据库小学妹3 小时前
数据库高可用架构实战:从主从复制到两地三中心的四层演进与避坑
数据库·经验分享·架构·dba
Stick_ZYZ3 小时前
从项目启动到 Milvus 向量检索,我把 RAG 项目链路又打通了一层
java·人工智能·经验分享·ai·milvus
TheSumSt4 小时前
日常教程丨远程串流打游戏方法介绍(Parsec/Tailscale+Headscale+DERP+Sunshine&Moonlight)
linux·网络·经验分享·nginx·开源·玩游戏