Agent Skills
返回列表
⚖️

Pydicom 医学 DICOM 处理

行业专业 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/pydicom。

技能介绍

要解决什么问题

医学影像在科研、质控和系统对接里几乎都以 DICOM 交付:同一套文件里既有 CT/MRI/X 光等像素数据,也有患者、检查、序列、传输语法等元数据,还常见 JPEG、JPEG 2000、RLE 等压缩。手写解析成本高,缺属性、窗宽窗位不对、压缩库未装齐,都会在生产环境里变成反复踩坑。

技能如何组织工作流

本技能围绕 pydicom 的常规工程路径展开,而不是泛泛介绍医学影像概念:

  • 读取与访问:用 dcmread() 得到 Dataset,通过属性名(如 ds.PatientName)或标签(如 ds[0x0010, 0x0010])取元素;ds.file_meta 看传输语法 UID;缺失字段用 hasattr() / getattr() 处理。
  • 像素与可视化:从 DICOM 抽 pixel_array,区分灰度、彩色与多帧序列;显示异常时按文档思路应用 VOI LUT(apply_voi_lut 或 WindowCenter / WindowWidth)。
  • 元数据与合规:改数据元素、写回时用 save_as(..., write_like_original=True) 保留文件元数据;匿名化删除或替换 PHI,可配合 scripts/anonymize_dicom.py。
  • 格式与序列:DICOM 转 PNG/JPEG/TIFF(含 dicom_to_image.py);处理嵌套序列与多文件系列;压缩/解压需对照传输语法(如 Explicit VR Little Endian、JPEGLossless、JPEG2000Lossless、RLELossless),细节见 references/transfer_syntaxes.md。
  • 辅助与排错:extract_metadata.py 可读化导出元数据;常见「无法解码像素」指向 pylibjpeg、python-gdcm 等额外解码器;大系列建议逐文件迭代而非一次性载入内存。

适用边界与注意点

技能侧重 文件级 DICOM 操作(读写、转换、匿名化、单卷/系列处理),不是完整 PACS 产品实现。从未信任来源读入要做异常处理;新建实例应生成新 UID,仅修改内容时保留原 UID;共享前务必验证匿名化是否彻底。复杂多步研究管线(大规模数据集探索、长会话编排)可另选更适合的托管环境,本技能仍适合作为 Agent 内的 pydicom 操作手册。

使用场景

  • 科研协作前需批量删除 DICOM 中的患者姓名、ID 等 PHI,并导出可共享的脱敏文件
  • 从 PACS 导出的 CT/MRI 序列里按标签提取检查与序列元数据,核对层厚与像素间距后再做体积处理
  • 压缩传输语法(JPEG/JPEG2000/RLE)的 DICOM 解码失败时,按技能指引补解码器并重试像素读取
  • 将超声或多帧 DICOM 转成 PNG/JPEG 供论文插图或外部 CV 流水线,同时保留窗宽窗位可视化

适合人员

  • 医学影像算法工程师,需要在 Python 里稳定读取 DICOM 像素与空间信息并接入训练或重建流程
  • 医院信息科或 PACS 对接开发,负责解析传输语法、序列嵌套结构与文件元数据写入规范
  • 临床科研数据管理员,负责多站点 DICOM 入库前的元数据校验与合规匿名化抽检
  • 放射科或转化医学研究员,要把扫描导出为常规图像格式并查阅 common_tags 文档定位关键标签