处理fMRI数据的一些常用Matlab命令
背景
处理fMRI数据常常用到MATLAB,在此记录一些常用代码及功能。
1、读取原始DICOM数据
1-1 读入dicom图像并绘图:
Image = dicomread('fMRI.dcm'); figure; imshow(Image, [ ]);
1-2 读取dicom图像并查看图像相关信息:
imfomation = dicominfo('fMRI.dcm'); %%直接获得图像信息 Image = dicomread(information); %%可以读取dicom图像数据 figure; imshow(Image, [ ]);
2、绘制单个RUN中被试的头动情况
2-1 通过查看被试的头洞情况以确定是否剔除或保留该段数据:
可以在此直接下载该函数,或者复制以下代码进行绘图查看。
function answer = rp_plot(image) %%%The function will plot the parameter of translation%% %%%and rotation of the subject's head-movement directly.%% %%%Writed by Wang Shilei,School of Physics,Peking University%% %%%Beijing,December 18th,2020%% data = load(image); %%Load the rp_*.txt%% set(0,'defaultfigurecolor','w');%%Set the background of figure white%% figure; subplot(2,1,1);%%Plot the parameter of translation%% plot(data(:,1)); hold on;plot(data(:,2)); hold on;plot(data(:,3)); label_1 = legend('x','y','z'); set(label_1,'Box','off'); xlabel('Number of images'); ylabel('Translation (mm)'); subplot(2,1,2);%%Plot the parameter of rotation%% plot(data(:,4)*180/pi); hold on;plot(data(:,5)*180/pi); hold on;plot(data(:,6)*180/pi); label_2 = legend('x','y','z'); set(label_2,'Box','off'); xlabel('Number of images'); ylabel('Rotation (°)');
绘图结果类似下图所示: