| 名称 | dicom-metadata-extract |
| 描述 | 用于从一个DICOM文件中提取选定元数据,并标记标准标签PHI的存在。不用于匿名化或临床使用。 |
| 开源协议 | Apache-2.0 allowed-tools: Bash permissions: [file_read, file_write, shell] metadata: |
| 作者 | NVIDIA MedTech Team tags: - MedTech - DICOM - metadata |
DICOM 元数据提取
目的
- 从一个DICOM文件中提取选定元数据,并标记标准标签PHI的存在。不用于匿名化或临床使用。
- 完全按照文档使用包装器;不要用手写实现替换上游入口点。
- 清单I/O:输入是
dicom_path;输出是metadata_json。
说明
- 在更改参数、副作用或验证门之前,请阅读
skill_manifest.yaml。 - 通过下面的文档化命令运行
scripts/extract_metadata.py;将输出保持在调用方提供的运行目录下。 - 如果宿主代理暴露了
run_script,请使用run_script("scripts/extract_metadata.py", args=[...]);否则运行下面显示的Bash/Python命令。 - 检查输出的JSON,并在将证据包视为已审核证据之前对证据包运行
medagent.verifiers.dicom_metadata_quality_v1。
可用脚本
| 脚本 | 用途 | 参数 |
|---|---|---|
scripts/extract_metadata.py |
由skill_manifest.yaml声明的主要入口点。 | PATH_TO_DICOM [--output OUT.json] |
先决条件
- 运行时要求:
runtime.side_effects.pip_packages中列出的Python包。 - 从仓库根目录运行命令,除非下面已有部分另有说明。
局限性
- 仅限PS3.15启发的小型标准标签子集;不是完整的Basic Application Confidentiality Profile实现。
- 不检查私有标签
- 未检测烧录的像素PHI
- 多帧处理极少
- 不用于临床部署、监管去标识化、自主诊断或面向患者的使用。
故障排除
| 错误 | 原因 | 修复 |
|---|---|---|
| 缺少依赖项或导入错误 | 与skill_manifest.yaml的运行时包漂移。 |
安装清单中声明的包,或使用文档化的设置命令。 |
| 输出为空或不符合schema | 输入路径错误、不支持的模态或上游失败。 | 使用已知fixture重新运行,并检查包装器JSON和stderr。 |
| 验证门失败 | 输出违反了声明的工程不变量。 | 保留失败的证据包并使用门消息修复输入或包装器代码。 |
使用pydicom读取一个DICOM文件并在stdout上输出JSON。
python scripts/extract_metadata.py PATH_TO_DICOM
python scripts/extract_metadata.py PATH_TO_DICOM --output result.json
输出包括transfer_syntax、modality、分组的研究/系列/图像元数据、phi_present和phi_tags_found。
将此作为Medical AI Skills技能的最小端到端示例。不要将其用于匿名化、私有标签审查、像素PHI检测或临床解释。
对于第二轮证据审查,生成可信运行:
python -m eval_engine.run_trusted skills/dicom-metadata-extract \
--fixture skills/dicom-metadata-extract/fixtures/sample_ct.dcm \
--out runs/dicom_metadata_trusted