- 首先,将所有的nifti文件存储到同一个文件夹下。
- 使用Matlab中的niftiread函数读取文件夹中的所有nifti文件,并将其存储到一个4D数组中,其中第4维对应受试者数量。
- 使用Matlab中的mean函数计算4D数组的平均值,得到一个3D数组。
- 使用Matlab中的niftiwrite函数将3D数组写入到一个新的nifti文件中,作为这个20个受试者的fMRI图像文件的平均值。
以下是示例代码:
% 设置nifti文件夹路径
folder_path = 'path/to/nifti/folder';
% 读取文件夹中的所有nifti文件到一个4D数组中
nifti_files = dir([folder_path '/*.nii']);
nifti_data = zeros([size(niftiread(fullfile(nifti_files(1).folder, nifti_files(1).name))), length(nifti_files)]); % 初始化4D数组
for i = 1:length(nifti_files)
nifti_data(:, :, :, i) = niftiread(fullfile(nifti_files(i).folder, nifti_files(i).name)); % 读取nifti文件到4D数组中
end
% 计算4D数组的平均值,得到一个3D数组
nifti_mean = mean(nifti_data, 4);
% 将3D数组写入到新的nifti文件中
nifti_info = niftiinfo(fullfile(nifti_files(1).folder, nifti_files(1).name)); % 使用第一个nifti文件的信息作为模板
niftiwrite(nifti_mean, 'path/to/new_nifti_file.nii', nifti_info);