使用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图像数据。
