Agent Skills
返回列表
⚖️

Pydicom 医学 DICOM 处理

行业专业 更新于 2026.08.30

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

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

技能介绍

要解决什么问题

CT、MRI、X 光、超声、PET 等医学影像在交换与归档时普遍采用 DICOM 标准。实际工程里常见痛点包括:从 .dcm 里稳定取出像素与窗宽窗位、批量改元数据或做匿名化、处理 JPEG / JPEG2000 / RLE 等压缩传输语法,以及把多帧序列或 3D 体积交给下游图像或研究管线。纯靠记忆标签号与传输语法 UID,很容易在缺失属性、解码失败或显示过暗过亮时卡住。

技能如何工作

本技能围绕 pydicom 的典型工作流组织说明,而不是替代官方 API 文档。

  • 读取与访问:用 dcmread() 得到 Dataset,通过属性名(如 PatientName)或标签(如 ds[0x0010, 0x0010])读元素;用 file_meta 看传输语法;对可能缺失的字段用 hasattr / get 或 getattr 兜底。
  • 像素与可视化:从 pixel_array 取 ndarray,彩色与多帧序列有单独处理路径;显示异常时强调 VOI LUT(apply_voi_lut 或 WindowCenter / WindowWidth)。
  • 元数据与写入:改数据元素后保存;新建实例时注意 UID 规则(新实例生成新 UID,修改现有文件保留原 UID);save_as(..., write_like_original=True) 利于保留文件元数据结构。
  • 序列与多文件:嵌套 DICOM Sequence 与同一研究下多文件关联的处理方式有专门说明。
  • 配套脚本与参考:scripts/ 提供 anonymize_dicom.py、dicom_to_image.py、extract_metadata.py;references/common_tags.md、references/transfer_syntaxes.md 汇总常用标签与传输语法。

适用边界与注意点

技能侧重 Python + pydicom 的文件级操作与常见故障排查(如「无法解码像素数据」需额外 JPEG/GDCM 类依赖、「大序列内存」建议迭代或降采样)。PACS 集成、多层体积重建、结构化报告等场景在「何时使用」里点到为止,具体接口与部署需结合院内系统与合规要求。共享数据前应对匿名化结果做彻底验证;读取不可信来源文件时应做异常处理。更完整的 API 与示例以 pydicom 官方文档 为准。

使用场景

  • PACS 或光盘导出的一批 CT/MRI `.dcm`,需要批量转成 PNG/JPEG 给论文配图或标注工具使用
  • 多中心研究共享前,要对 DICOM 替换 PatientName、PatientID 等 PHI,并核对 Study/Series 元数据是否仍完整
  • 读入带 JPEGLossless 或 JPEG2000 传输语法的文件时出现「无法解码像素数据」,需按 `file_meta` 的 UID 选对解码路径
  • 同一 Study 下多 Instance 需按 Series 归类,并用脚本或代码批量列出标签做入库 QC 或元数据审计

适合人员

  • 医学 AI 算法工程师,要把院内 DICOM 稳定读出 `pixel_array` 并配合窗宽窗位做训练/验证集
  • 医院科研或数据治理岗位,负责外发影像前的去标识、元数据抽查与合规留痕
  • 医疗影像 SaaS 后端开发,需解析上传 `.dcm`、生成预览图并暴露关键 DICOM 标签给阅片界面
  • 影像组学/放射信息学研究生,要从头文件批量提取 spacing、切片厚度等多文件 3D 对齐所需字段