NIFTI(.nii)文件格式
Nifti 格式最初是为神经影像学发明的。神经影像信息学技术计划(NIFTI)将 NIfTI 格式预设为 ANALYZE7.5 格式的替代品。它最初的应用领域是神经影像,但是也被用在其他领域。这种格式的主要特点就是它包含两个能够将每个体素的索引(i,j,k)和它的空间位置(x,y,z)关联起来的仿射坐标。
NIFTI文件更加易用于机器学习,因为NIfTI 是三维图像,处理一个单独的NIfTI 文件要比处理成百上千个DICOM文件更加容易一些。
mhd、raw文件格式
MHD文件是一种医学影像头文件(多用于CT影像),一般一个.mhd文件对应一个.raw文件,那么.raw文件包含多张slice(CT切片)。MHD文件一般保留更多的信息,便于读取和使用,因此有时候需要将NIfTI 格式和MHD格式互转。
python代码实现
import SimpleITK as sitk
import numpy as np
import os
from batchgenerators.utilities.file_and_folder_operations import *
def nii2mhd(file_path):
itk_img = sitk.ReadImage(file_path)
save_path = file_path.strip('.gz').strip('.nii')+'.mhd'
sitk.WriteImage(itk_img, save_path)
print('convert success:'+save_path)
def mhd2nii(file_path):
itk_img = sitk.ReadImage(file_path)
save_path = file_path.strip('.mhd')+ '.nii.gz'
sitk.WriteImage(itk_img, save_path)
print('convert success:' + save_path)
#批量处理,将文件夹下的所有nii文件转换为mhd文件
if __name__=="__main__":
root = "F:\\..."
imgdir = os.listdir(root)
for i in imgdir:
a =i.split(".nii")[0]
imgpath = join(root, a + ".nii.gz" )
nii2mhd(imgpath)