將DICOM數(shù)據(jù)轉換成NIFTI格式,是醫(yī)學圖像處理中的一個基本需求。多款軟件可以實現(xiàn),應用比較多的是mricron中的dcm2niix.exe工具。但是該工具不易于數(shù)據(jù)的批量轉換。本文提出了一種Matlab + mricron批量轉換的思路,供大家參考。
1. 前期準備
- 安裝matlab。
- 下載mricron,解壓縮。https://www.nitrc.org/frs/?group_id=152
- 下載spm12, 解壓縮后,添加到matlab的環(huán)境變量中。https://www.fil.ion.ucl.ac.uk/spm/software/download/
2. mricron添加到環(huán)境變量中
-
從控制面板,系統(tǒng),找到下圖所示的高級系統(tǒng)設置,點擊進入。
環(huán)境變量1.png -
點擊環(huán)境變量。
環(huán)境變量2.png 在環(huán)境變量里面,選中Path, 點擊編輯

環(huán)境變量3.png
- 選擇New,輸入mricron文件夾的位置,保存退出。

環(huán)境變量4.png
- 驗證環(huán)境變量是否設置成功。同時按下windows + R鍵,輸入
cmd,打開下面的界面,輸入dcm2niix,回車,如果出現(xiàn)下面的內(nèi)容,說明環(huán)境變量設置正確。

dcm2nii.png
3. Matlab使用
在matlab中,復制下面的代碼到命令行中,回車運行, 選擇要處理的數(shù)據(jù)文件夾,即可批量轉換。
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

