使用 PyDicom 和 Matplotlib 在 Python 中可视化 DICOM 图像

17 Mar 2025 | 4 分钟阅读

DICOM(Digital Imaging and Communications in Medicine,医学数字成像和通信)是医疗成像系统的标准语言。每当我们听到“DICOM”这个词时,有些人可能会认为它仅仅是医学图像。然而,医疗保健分析师/数据科学家可以将其视为任何其他医疗数据集的宝库,因为它不仅仅包含像素数据。DICOM 文件包含与患者、成像设备和其他重要信息相关的宝贵数据。

处理 DICOM 元数据和访问特定属性对于包括处理 DICOM 文件的分析师/数据科学家在内的任何人来说都是有利的。幸运的是,PyDicom 为 DICOM 文件提供了各种函数、方法和属性。

PyDicom 是一个强大的 Python 包,用于处理 DICOM 文件,如医学报告、图像和放射治疗对象。PyDicom 包允许用户轻松地将这些复杂文件读取和写入到标准的 Pythonic 结构中,以便于操作。

在接下来的教程中,我们将学习如何使用 PyDicomMatplotlib 包在 Python 编程语言中可视化 DICOM 图像。

安装所需软件包

首先,我们将安装以下软件包

  1. PyDicom:此包将允许我们处理 DICOM 文件,例如医学图像、报告和放射治疗对象。
  2. Matplotlib:此包将允许我们可视化数据。

让我们通过在命令提示符中运行以下命令来使用 PIP 安装程序安装这些软件包

语法

验证安装

模块安装完成后,我们可以通过创建一个空的 Python 程序文件并写入如下 import 语句来验证它:

文件:verify.py

现在,保存上述文件并在终端中使用以下命令执行它:

语法

如果上述 Python 程序文件没有返回任何错误,则表示软件包已正确安装。但是,如果出现异常,请尝试重新安装该软件包,同时还建议参考这两个软件包的官方文档。

在 Python 中可视化 DICOM 图像的分步实现

以下是我们将在 Python 中使用 PyDicomMatplotlib 包可视化 DICOM 图像所使用的分步方法

第 1 步: 首先,我们将导入所需的模块。

步骤 2:其次,我们将读取 DICOM 数据。

步骤 3:最后,我们将可视化 2D DICOM 图像。

让我们开始详细了解上述步骤。

导入必要的模块

我们将首先导入必要的模块。这些模块包括 PyDicom 包中的 pydicomdata 模块,以及 Matplotlib 包中的 pyplot 模块。

以下是演示此过程的代码片段

文件:example.py

说明

在上述代码片段中,我们导入了所需的模块,如 pydicompydicom.datamatplotlib.pyplot

读取 DICOM 数据

现在我们已经导入了必要的模块,我们将使用 pydicom.data.data_manager.get_files() 方法读取 DICOM 数据文件。

语法

参数

  1. base:此参数是一个字符串,表示要递归搜索的基目录。
  2. pattern:此参数默认设置为“\*”。它是一个用于过滤文件的字符串模式。

我们还将使用 pydicom 模块的 dcmread() 方法来读取和解析 DICOM 数据集。

让我们考虑以下说明相同内容的代码片段。

文件:example.py

说明

在上述代码片段中,我们定义了一些变量来指定 DICOM 数据文件的基本地址。然后,我们使用 pydicom.data.data_manager.get_files() 方法通过模式选择 DICOM 图像名称,并使用 dcmread() 方法读取和解析 DICOM 数据集。

DICOM 图像的 2D 可视化

进入最后一步,我们将使用 matplotlib.plot 模块的 imshow() 方法将 DICOM 图像可视化为 2D。我们还将使用 show() 方法显示最终的 2D 图像。

让我们考虑以下说明相同内容的代码片段。

文件:example.py

说明

在上述代码片段中,我们使用 plot.imshow() 方法将 DICOM 数据集可视化为 2D,并将颜色图设置为“bone”。然后,我们使用 plot.show() 方法显示最终的 2D 图像。

现在我们已经成功编写了代码,是时候查看输出了。但在那之前,为了方便起见,完整的程序代码如下。

完整的程序代码

文件:example.py

输出

$ python example.py

Visualizing DICOM Images using PyDicom and Matplotlib in Python

结论

在上述教程中,我们学习了如何在 Python 中使用 PyDicomMatplotlib 包将 DICOM 图像文件可视化为 2D。