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;若涉及网络传输或去标识化,可在此基础上选用相应库。
项目信息
- 仓库:pydicom/pydicom
- 星标:2,210 · 派生:556
- 主要语言:Python
- 许可证:NOASSERTION
- 最近提交:2026-09-17
- 项目主页:https://pydicom.github.io/pydicom/dev
本文属于《学科研究工具知识库 · 医学与健康》第 5 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

发表评论 取消回复