医学影像文件Dicom到Nifti格式的转换

一、Dicom格式与Nifti格式

dicom格式:即医学数字成像和通信,是医学图像和相关信息的国际标准(ISO 12052)。它定义了质量能满足临床需要的可用于数据交换的医学图像格式。

nifti格式:Nifti 格式最初是为神经影像学发明的。神经影像信息学技术计划(NIFTI)将 NIfTI 格式预设为 ANALYZE7.5 格式的替代品。它最初的应用领域是神经影像,但是也被用在其他领域。

简单来讲,dcm格式的文件是一张一张的二维slice堆积起来所组成的三维数据,而nii格式的文件本身就是三维的数据,这就更方便进行计算机进行读取和处理。

二、Dicom到Nifti的批量化处理

有许多方法可以将dcm转换为nii格式,这里介绍使用MRIcron这个软件进行批量化转换的处理方法。

MRIcron的安装和环境变量的配置可以参考这篇文章

在成功安装以及环境变量正确配置的情况下在cmd中输入dcm2nii可以得到下图的输出情况。同时它也展示了如何使用dcm2nii的命令行进行Dicom到Nifti格式的转换。
在这里插入图片描述
例如-o指定了输出目录,-g指定了输出.nii的原始格式还是.nii.gz的压缩格式。

1、单个dcm文件夹转换为nii

那么对于单个dcm文件夹到nii文件的转换,可以在命令行中输入:

dcm2nii -g y -o C:\output C:\input

值得注意的是-o后面第一个文件地址是nii文件的输出目录,而第二个才是dcm的文件夹地址。

当然也可以使用MRIcron安装文件夹中的图形化界面dcm2niigui.exe进行转换。
在这里插入图片描述

2、批量化处理

知道了如何使用命令行进行dcm到nii的转换,就可以利用python中的os.system进行批量化处理了。

假设文件结构如下所示:

  • dicom
    • folder1
      • slice1.dcm
      • slice2.dcm
      • slice3.dcm
    • folder2
    • folder3

就可以利用下面代码进行批量化dcm到nii的转换。

def dcm2nii(dicom_path, nii_path):
    for folder in os.listdir(dicom_path):
        src_path = os.path.join(dicom_path, folder)
        dst_path = os.path.join(nii_path, folder)
        if not os.path.exists(dst_path):
            os.makedirs(dst_path)
        os.system(f"dcm2nii -o {dst_path} {src_path}")
DICOMNifTI都是医学影像数据的标准格式,其中DICOM医学影像的常用格式,而NifTI是一种常用的神经影像格式。将DICOM转换NifTI格式可以方便地进行后续的影像处理和分析。以下是使用Python和SimpleITK库将DICOM序列转换NifTI格式的简要步骤: 1. 安装SimpleITK库,可以使用pip命令进行安装: ``` pip install SimpleITK ``` 2. 加载DICOM序列,可以使用SimpleITK库中的ImageSeriesReader类进行加载,例如: ``` import SimpleITK as sitk reader = sitk.ImageSeriesReader() dicom_names = reader.GetGDCMSeriesFileNames(dicom_dir) reader.SetFileNames(dicom_names) image = reader.Execute() ``` 在上述代码中,dicom_dir是DICOM序列所在的目录,通过GetGDCMSeriesFileNames方法获取DICOM序列中所有文件的名称,然后通过SetFileNames方法将文件名称传递给ImageSeriesReader对象,最后调用Execute方法加载DICOM序列。 3. 将DICOM序列转换NifTI格式,可以使用SimpleITK库中的WriteImage方法,例如: ``` sitk.WriteImage(image, nifti_file) ``` 在上述代码中,image是DICOM序列加载后的SimpleITK对象,nifti_file是保存NifTI文件的路径。 注意:在转换DICOM序列为NifTI格式时,需要注意DICOM序列中的像素值和方向等信息的转换,建议在转换前进行相关的预处理,例如:像素值归一化、重新采样等。同时,需要注意NifTI文件中的像素值类型和方向等信息是否正确。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值