欢迎访问宙启技术站
智能推送

使用nibabel库在Python中加载和保存DICOM图像数据

发布时间:2023-12-16 08:24:05

nibabel是一个用于读取和保存神经影像数据的Python库。它支持多种神经影像格式,包括DICOM格式。下面是使用nibabel库加载和保存DICOM图像数据的一个例子。

首先,我们需要安装nibabel库。打开终端或命令提示符并执行以下命令:

pip install nibabel

接下来,我们将使用以下DICOM图像作为示例:https://www.dicomlibrary.com/?study=1.3.12.2.1107.5.2.32.35139.2019040413443510018178134

1. 加载DICOM图像数据

导入nibabel库并使用nibabel.load函数加载DICOM图像数据。该函数需要一个DICOM文件的路径作为输入。

import nibabel as nib

# 加载DICOM图像数据
dicom_path = "path_to_dicom_file.dcm"
img = nib.load(dicom_path)

现在,我们已经成功加载了DICOM图像数据。可以使用img.get_fdata()方法获取图像的像素数据。例如,如果我们想打印图像的形状和像素值范围:

# 获取图像数据
data = img.get_fdata()

# 打印图像的形状和像素值范围
print("图像形状:", data.shape)
print("最小像素值:", data.min())
print("最大像素值:", data.max())

2. 保存DICOM图像数据

使用nibabel库保存DICOM图像数据与加载类似。我们使用nibabel.Nifti1Image类创建一个新的NIfTI图像对象,并使用nib.save函数将其保存为DICOM文件。

import nibabel as nib

# 创建NIfTI图像对象
nii_img = nib.Nifti1Image(data, affine)

# 保存为DICOM文件
output_path = "path_to_save_dicom_file.dcm"
nib.save(nii_img, output_path)

在上面的代码中,data是DICOM图像的像素数据,affine是图像的仿射矩阵,output_path是要保存的DICOM文件的路径。

现在,我们已经学会了如何使用nibabel库加载和保存DICOM图像数据。