pydicom:用 Python 读写和修改 DICOM 文件

医学与健康 2026-10-12 166 阅读

pydicom 是一个纯 Python 包,用于以 Python 风格读取、修改和写入 DICOM 文件,为医学影像数据处理提供基础的数据集读写能力。

这个工具是什么

pydicom 是一个纯 Python 实现的 DICOM 文件处理包,官方定位是读取、修改和写入 DICOM 数据。它作为通用型 DICOM 框架,专注于 DICOM 数据集的读写,而不处理各个 SOP 类别的具体细节或其他 DICOM 方面。因为是纯 Python 包,它可以在任何能运行 Python 的环境中运行,没有其他依赖;处理 Pixel Data 时建议同时安装 NumPy。项目托管在 GitHub 的 pydicom 组织下,主页提供用户指南、教程、示例和 API 参考文档,并有对应的 DOI 记录。

核心能力

  • 以 Python 风格读取、修改和写入 DICOM 数据集
  • 纯 Python 实现,无需其他依赖即可运行
  • Pixel Data 可先以 bytes 形式读取、修改和写入
  • 安装 NumPy 后可通过 pixel_array 属性将 Pixel Data 转为 ndarray

科研中的典型用法

  • 读取 DICOM 文件并访问其中的数据集元素,用于检查影像元数据
  • 修改 DICOM 数据集内容后写回文件,用于数据整理或预处理
  • 将 Pixel Data 转换为 NumPy 数组,供后续影像分析使用

快速上手

可通过 pip 安装:pip install pydicom;也可用 conda:conda install -c conda-forge pydicom。入门时从 pydicom 导入 dcmread,读取文件得到数据集对象,再访问其中的元素。若需处理 Pixel Data 并转为数组,建议安装 NumPy;处理 JPEG、JPEG-LS 或 JPEG 2000 压缩的 Pixel Data 还需额外安装相应的 Python 库,RLE 解压只需 NumPy。

生态与相近工具

pydicom 是通用 DICOM 读写框架,不处理单个 SOP 类别细节。同一组织下还有 pynetdicom,用于 DICOM 网络通信;deid 则支持 DICOM 文件匿名化。若需求集中在数据集读写,可直接使用 pydicom;若涉及网络传输或去标识化,可在此基础上选用相应库。

项目信息


本文属于《学科研究工具知识库 · 医学与健康》第 5 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

评论 共 0 条

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部