Matlab + mricron批量转换DICOM数据为NIFTI格式

将DICOM数据转换成NIFTI格式,是医学图像处理中的一个基本需求。多款软件可以实现,应用比较多的是mricron中的dcm2niix.exe工具。但是该工具不易于数据的批量转换。本文提出了一种Matlab + mricron批量转换的思路,供大家参考。

1. 前期准备

  • 安装matlab。
  • 下载mricron,解压缩。https://www.nitrc.org/frs/?group_id=152
  • 下载spm12, 解压缩后,添加到matlab的环境变量中。https://www.fil.ion.ucl.ac.uk/spm/software/download/

2. mricron添加到环境变量中

  • 控制面板系统,找到下图所示的高级系统设置,点击进入。

    环境变量1.png

  • 点击环境变量。


    环境变量2.png
  • 在环境变量里面,选中Path, 点击编辑

环境变量3.png
  • 选择New,输入mricron文件夹的位置,保存退出。
环境变量4.png
  • 验证环境变量是否设置成功。同时按下windows + R键,输入cmd,打开下面的界面,输入dcm2niix,回车,如果出现下面的内容,说明环境变量设置正确。
dcm2nii.png

3. Matlab使用

在matlab中,复制下面的代码到命令行中,回车运行, 选择要处理的数据文件夹,即可批量转换。

dirNames = cellstr(spm_select(Inf, 'dir'));

for i_a = 1:numel(dirNames)
   dirName = dirNames{i_a};
   cd(dirName);
   fList = dir('*');
   fList(1:2) = [];
   
   if isempty(fList)
      disp(dirName) 
   end
   
   cmdline = sprintf('dcm2niix -g N %s', fList(1).name);
   system(cmdline)
end

你可能感兴趣的:(Matlab + mricron批量转换DICOM数据为NIFTI格式)