mcpField
D
dicom-series-to-volume

dicom-series-to-volume

github.com/nvidia数据与数据库3.8k1.9k 次安装今天更新
代码仓库

关于 dicom-series-to-volume

将单个 CT DICOM 序列目录转换为带 HU 值的 NIfTI 体积,并输出仿射信息和 JSON 摘要。该技能面向工程验证与下游处理,不适用于临床部署。

主要功能

  1. 01按图像位置排序切片
  2. 02应用 RescaleSlope 和 RescaleIntercept
  3. 03从 DICOM 标签构建仿射变换
  4. 04输出 .nii.gz 及 JSON 摘要
  5. 05提供配套质量验证器

适用场景

  1. 01将单序列 CT 转为 NIfTI
  2. 02检查体积尺寸、间距和方向编码
  3. 03为下游分割前置方向校验

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill dicom-series-to-volume

安装后在 Claude Code 中输入/dicom-series-to-volume确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill_manifest.yaml
skill-card.md
skill.oms.sig
evals/
evals.json
fixtures/
generate_fixtures.py
scripts/
series_to_volume.py
tests/
test_orientation_regression.py
validators/
output_schema.json

详细介绍

dicom_series_to_volume

用途

  • 用于将一个 CT DICOM 序列文件夹转换为带有仿射证据的 HU NIfTI 体数据。不适用于多帧 DICOM 或临床用途。
  • 请严格按照文档使用封装脚本;不要用手写实现替代上游入口点。
  • 清单 I/O:输入为 dicom_dir;输出为 nifti_volume 和 result_json。

说明

  • 更改参数、副作用或验证门之前,请先阅读 skill_manifest.yaml。
  • 通过下方文档所示的命令运行 scripts/series_to_volume.py;将输出保存在调用方提供的运行目录中。
  • 如果宿主 Agent 提供 run_script,请使用 run_script("scripts/series_to_volume.py", args=[...]);否则运行下方所示的 Bash/Python 命令。
  • 在将运行结果视为证据之前,请检查生成的 JSON 和配套的 dicom_volume_quality_v1 验证器。

可用脚本

脚本用途参数
scripts/series_to_volume.pyskill_manifest.yaml 中声明的主要入口点。PATH_TO_DICOM_DIR [--output OUT.nii.gz]

先决条件

  • 运行时要求:runtime.side_effects.pip_packages 中列出的 Python 软件包。
  • 需要 NiBabel 5.4 或更高版本,以确保极端斜轴在重定向期间保持一致的标记。
  • 除非下方某个现有章节另有说明,否则请从仓库根目录运行命令。

限制

  • 仅支持单个序列;预检时会拒绝多序列输入。
  • 不支持多帧 DICOM(每个文件的 NumberOfFrames > 1)。
  • 不支持压缩传输语法(JPEG / JPEG2000 / RLE)。
  • 不会对体素进行重定向。仿射矩阵根据 DICOM 头信息生成,并以 NIfTI/RAS 坐标表示;下游验证门(例如 expected_axcodes)应在将此体数据输入分割模型前断言其方向。
  • 不适用于临床部署、自主诊断、监管申报或生产推理(请使用经过验证的转换器,例如 dcm2niix)。

故障排除

错误原因解决方法
缺少依赖项或导入错误运行时软件包与 skill_manifest.yaml 中的声明不一致。安装清单中声明的软件包,或使用文档中的设置命令。
输出为空或不符合架构输入路径错误、不支持的模态或上游故障。使用已知样例重新运行,并检查封装脚本 JSON 和 stderr。
验证门失败输出违反了声明的工程不变量。保留失败的证据包,并根据验证门消息修复输入或封装脚本代码。

读取一个 DICOM 序列,按 ImagePositionPatient 对切片排序,应用 RescaleSlope 和 RescaleIntercept,根据方向和间距标签构建仿射矩阵, 并写入 .nii.gz 文件和 JSON 摘要。

python scripts/series_to_volume.py PATH_TO_DICOM_DIR --output PATH_TO_OUT.nii.gz

使用配套验证器进行可信运行:

python -m eval_engine.run_trusted skills/dicom-series-to-volume \
  --fixture PATH_TO_DICOM_DIR \
  --out runs/dicom_series_to_volume_trusted

关键输出字段:n_slices、series_instance_uid、output.path、 output.shape、output.spacing、output.axcodes、output.affine、 hu_range 和 runtime.conversion_seconds。

范围限制:仅支持单序列 CT;不支持多帧 DICOM、压缩传输语法处理、 RT 结构集、自动重定向或临床用途。

评论

支持 Markdown