pydicom

用于处理DICOM(医学数字成像与通信)文件的Python库。适用于以下场景:读取、写入或修改DICOM格式的医学影像数据,从医学图像(CT、MRI、X光、超声)中提取像素数据,对DICOM文件进行匿名化处理,操作DICOM元数据和标签,将DICOM图像转换为其他格式,处理压缩的DICOM数据,或处理医学影像数据集。适用于涉及医学图像分析、PACS系统、放射学工作流程和医疗影像应用的任务。

安装

热度:9

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-pydicom&locale=zh&source=copy

Pydicom - Python 医学影像 DICOM 文件处理技能

技能概述


Pydicom 技能帮助你使用 Python 读取、写入和处理 DICOM 医学影像文件,支持 CT、MRI、X-ray 等各种医疗成像格式的数据提取、转换和匿名化。

适用场景

1. 医学影像数据研究与分析


当你需要处理 CT、MRI、X-ray、超声、PET 等医学影像数据时,可以使用此技能快速读取 DICOM 文件,提取像素数据进行图像分析、3D 体积重建或医学 AI 模型训练。支持批量处理整个影像序列,自动按切片位置排序并构建三维数据集。

2. 医疗数据脱敏与共享


在进行医学研究或跨机构数据共享前,使用此技能对 DICOM 文件进行匿名化处理,自动移除或替换患者姓名、ID、出生日期等受保护健康信息(PHI),确保数据合规性同时保留完整的医学影像数据。

3. 放射科与 PACS 系统集成


当需要与医院 PACS 系统对接或处理放射科工作流时,此技能支持读取和修改 DICOM 元数据标签、处理各种压缩格式的影像文件、将医学影像转换为 PNG/JPG 等通用格式,便于报告生成和远程查看。

核心功能

DICOM 文件读取与元数据提取


通过 pydicom.dcmread() 快速读取 DICOM 文件,访问患者信息、研究日期、影像设备参数等所有元数据标签。支持使用属性名或标签号直接访问数据元素,自动处理缺失属性,并提供完整的数据集结构化展示。

像素数据处理与图像转换


提取医学影像的像素数组,支持灰度图像(CT/MRI)和彩色图像(RGB/YBR)。内置 VOI LUT 窗宽窗位调整功能,确保医学影像正确显示。可一键将 DICOM 文件转换为 PNG、JPEG、TIFF 等通用图像格式,便于分享和进一步处理。

DICOM 匿名化与数据修改


提供完整的 DICOM 数据修改能力,可安全地移除或替换患者敏感信息、修改研究描述、添加自定义标签。支持创建全新的 DICOM 文件,生成符合标准的 UID,并可处理压缩和解压缩操作,保持文件完整性和兼容性。

常见问题

Pydicom 如何读取 DICOM 文件?


使用 pydicom.dcmread('文件路径.dcm') 即可读取 DICOM 文件,返回一个 Dataset 对象。通过 ds.PatientNameds.StudyDate 等属性访问元数据,使用 ds.pixel_array 获取影像的像素数据。读取前确保安装了 pydicom 和 numpy(用于处理像素数组)。

怎么把 DICOM 转成普通图片格式?


读取 DICOM 文件后获取 pixel_array,将其数值归一化到 0-255 范围并转换为 uint8 类型,然后使用 PIL 库的 Image.fromarray() 创建图像对象并保存为 PNG 或 JPG 格式。技能提供了 dicom_to_image.py 脚本可直接使用:python scripts/dicom_to_image.py input.dcm output.png

DICOM 匿名化怎么做才能保护患者隐私?


需要移除或替换的标签包括:PatientName(患者姓名)、PatientID(患者ID)、PatientBirthDate(出生日期)、PatientAddress(地址)、ReferringPhysicianName(转诊医生)等包含受保护健康信息(PHI)的字段。技能提供了 anonymize_dicom.py 脚本可自动处理常见敏感标签,匿名化后务必验证文件中没有残留的个人身份信息。