将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添加到环境变量中
-
从控制面板,系统,找到下图所示的高级系统设置,点击进入。
-
点击环境变量。
在环境变量里面,选中Path, 点击编辑
- 选择New,输入mricron文件夹的位置,保存退出。
- 验证环境变量是否设置成功。同时按下windows + R键,输入
cmd
,打开下面的界面,输入dcm2niix
,回车,如果出现下面的内容,说明环境变量设置正确。
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