当前位置: 首页 > news >正文

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读取数据,举例如下:

inputDir='D:\2_chenfang_labs\ECG-fMRI\result_removePhysio_40sub';
num=40; % number of subject
subSample=dir([inputDir,filesep]);for i=1:numsub=i+2;imgNameSample = dir([inputDir,filesep,subSample(sub,1).name,filesep,'*.nii']);imgnum=length(imgNameSample);for jj=1:imgnumDir_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

(3)数据处理完后保存为nii文件。一般先转换为mat文件,在matlab中进行处理,然后保存为nii文件,用另外的可视化软件进行分析。举例如下,其中的vSub和上面读取nii文件时的vSub是对应的

data_1ave=zeros(1,length(data1));
data_1ave=mean(data1(max_loc,:));% 只取峰值点对应的时间,然后所有时间点作平均,1维数据
data_1ave_reshape=reshape(data_1ave,61,73,61); % 转换为3维数据,这样才能保存为nii文件
vSub.fname = ('data_name.nii'); % 保存的文件名称
spm_write_vol(vSub,data_1ave_reshape); % 保存为nii格式

二、使用 MRIcro 查看nii

处理完数据之后,就得需要查看处理的结果,数据可视化。可以使用MRIcro 查看。

话说,不知道怎么用,还是老师手把手教的。

1,建议先打开两次MRIcro(为了方便分析),一般选择三个平面一起看。

2,选择模板,一个选ch2bet,一个选all

3,先后点击overlay,load functional overlay... ,然后选择文件。选择好文件后会出现一个overlay settings,(1)先看范围,(2)然后根据范围选择一个合适的范围,(3)选择对称,(4)最后点应用。

4,如果觉得图片有点小,可以选择放大

5,如果用ch2bet模板,不会显示对应区域的名字,aal模板则可以显示对应区域的名字,所以一般为了方便分析,会打开两次。

http://www.lryc.cn/news/291206.html

相关文章:

  • 【Linux C | 网络编程】getsockname 和 getpeername函数详解及C语言例子
  • 研发日记,Matlab/Simulink避坑指南(六)——字节分割Bug
  • (M)unity受伤反弹以及死亡动画
  • 【Java】Springboot入门
  • 专业138总分420+中国科学技术大学843信号与系统考研经验中科大电子信息通信
  • 携程开源 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX
  • Android中C++层fstream用法详解
  • git clone常见问题一览及解决方法
  • ​ArcGIS Pro 如何批量删除字段
  • OG Trade在ZKX揭幕:一家基于Starknet的游戏化永续合约交易所
  • ubuntu 22.04 安装redis并设置远程连接
  • MemcachedRedis构建缓存服务器
  • Python编辑开发 --- pycharm pro 中文
  • Linux的 .bashrc 有什么作用?
  • .ui文件相关
  • 【DOCKER】docker 安装sonarque
  • 解决IDEA报错端口被占用的问题
  • IDEA:git 回滚本地提交-git 选择 Reset Current Branch to
  • Docker核心教程
  • React通用后台模板
  • 【Axure教程0基础入门】00Axure9汉化版下载、安装、汉化、注册+01制作线框图
  • day38_MySQL
  • element ui组件 el-date-picker设置default-time的默认时间
  • ###C语言程序设计-----C语言学习(8)## 斐波那契数列问题,素数问题,人数分配问题。
  • 蓝桥杯 第 1 场 小白入门赛
  • 飞天使-linux操作的一些技巧与知识点5-expect与docker便捷命令
  • 编曲学习:和声音程 调式体系 唱名法 调式调性
  • 【大数据】Flink 架构(四):状态管理
  • 执行rpm安装命令的时候抛出异常:rpmdb BDB0113 Thread/process
  • Android 在WebView中加载H5传递图片