| 名称 | dicom-series-preflight |
| 描述 | 用于在转换或推理前对一个 DICOM 系列文件夹进行仅头文件的预检。不用于去标识化或临床许可。 |
| 开源协议 | Apache-2.0 allowed-tools: Bash metadata: |
| 作者 | NVIDIA 医疗科技团队 tags: - 医疗科技 - DICOM - 预检 |
DICOM 系列预检
目的
- 用于在转换或推理前对一个 DICOM 系列文件夹进行仅头文件的预检。不用于去标识化或临床许可。
- 请严格按照文档使用包装器;不要用手写实现替换上游入口点。
- 清单 I/O:输入为
dicom_dir;输出为preflight_json。
说明
- 在更改参数、副作用或验证门之前,请阅读
skill_manifest.yaml。 - 通过下面的文档命令运行
scripts/preflight_series.py;将输出保持在调用方提供的运行目录下。 - 如果主机代理提供了
run_script,请使用run_script("scripts/preflight_series.py", args=[...]);否则,运行下面显示的 Bash/Python 命令。 - 在将运行结果作为证据之前,检查生成的 JSON 和配套的验证器指南。
可用脚本
| 脚本 | 用途 | 参数 |
|---|---|---|
scripts/preflight_series.py |
skill_manifest.yaml 声明的主入口点。 |
PATH_TO_DICOM_DIR |
先决条件
- 运行时要求:
runtime.side_effects.pip_packages中列出的 Python 包。 - 需要 NiBabel 5.4 或更高版本,以便在重新定向过程中极端倾斜轴保持一致标记。
- 除非下面的现有章节另有说明,否则从存储库根目录运行命令。
局限性
- 仅处理头文件;不解码像素数据或检测烧录型 PHI。
- 规范方向门假定 LPS 派生的 CT 轴编码为 L, P, S。
- 压缩传输语法和多帧实例仅警告而不解码。
- 单目录扫描;不协调一个树中的多个研究。
- 不用于临床部署、监管去标识化、自主诊断、未经审查的转换器的生产摄取。
故障排除
| 错误 | 原因 | 修复 |
|---|---|---|
| 缺少依赖或导入错误 | skill_manifest.yaml 中的运行时包漂移。 |
安装清单中声明的包,或使用文档中记载的设置命令。 |
| 输出为空或 schema 无效 | 输入路径错误、不受支持的模态或上游故障。 | 使用已知的 fixture 重新运行,并检查包装器的 JSON 和 stderr。 |
| 验证门失败 | 输出违反了声明的工程不变量。 | 保留失败的证据包,并使用门消息修复输入或包装器代码。 |
扫描一个 DICOM 目录(每个文件夹一个系列),不解码像素。
输出 JSON,包含清单、方向轴编码(axcodes)、PHI 标志、发现和
preflight.verdict,其值为 pass、warn 或 fail。
python scripts/preflight_series.py PATH_TO_DICOM_DIR
与 verifiers/dicom_preflight_quality_v1 配对以获得可信的预检包:
make run-trusted SKILL=dicom_series_preflight \
FIXTURE=skills/dicom-series-preflight/fixtures/clean_no_phi \
OUT=runs/dicom_preflight_demo
标志性工作流:
make run-workflow \
WORKFLOW=examples/workflows/dicom_preflight_gate.yaml \
WORKFLOW_INPUT=skills/dicom-series-preflight/fixtures/clean_no_phi \
WORKFLOW_OUT=runs/dicom_preflight_gate
不用于去标识化、私有标签审查或临床许可。