Back to Skills

dicom-series-to-volume

Used for converting one CT DICOM series folder to a HU NIfTI volume with affine evidence. Not for multi-frame DICOM or clinical use.

2,773stars323forksUpdated 8/3/2026

Security Assessment

Safe(95/100)
Security Score95/100

About dicom-series-to-volume

dicom-series-to-volume is an NVIDIA MedTech research-and-development skill that converts a single CT DICOM series folder into a Hounsfield-Unit-scaled NIfTI (.nii.gz) volume with accompanying geometry evidence. It solves a common medical-imaging preprocessing problem: turning a directory of DICOM slices into a correctly scaled, spatially coherent 3D volume that downstream pipelines (for example segmentation models) can consume. It reads one series, sorts slices by ImagePositionPatient, applies RescaleSlope and RescaleIntercept, builds an affine from orientation and spacing tags, and writes the volume plus a JSON summary.

The skill wraps a documented entrypoint (`scripts/series_to_volume.py`) declared in `skill_manifest.yaml`, and instructs agents to use the wrapper exactly as documented rather than reimplementing it. It emits key fields such as n_slices, series_instance_uid, output shape/spacing/axcodes/affine, HU range, and conversion time, and it is paired with a `dicom_volume_quality_v1` verifier and an output schema for validation. A trusted-run path via the eval engine is also provided. It ships with fixtures, benchmarks (NVSkills-Eval scored 100% on the Security dimension), a skill card, and an output validator.

It is intended for developers and engineers building medical-imaging pipelines who need HU-scaled NIfTI volumes with orientation evidence. The scope is deliberately narrow: single-series CT only. It rejects multi-series input at preflight and does not support multi-frame DICOM, compressed transfer syntaxes (JPEG/JPEG2000/RLE), RT structure sets, or auto-reorientation. It is explicitly not for clinical deployment, autonomous diagnosis, regulatory submission, or production inference, for which a vetted converter such as dcm2niix is recommended.

FAQ

What input and output does it handle?

Input is one CT DICOM series directory (`dicom_dir`); outputs are a NIfTI volume (.nii.gz) and a JSON result summary containing slice count, series UID, shape, spacing, axcodes, affine, and HU range.

How do I run it?

Run `python scripts/series_to_volume.py PATH_TO_DICOM_DIR --output OUT.nii.gz`, or use the eval engine trusted-run path with the paired verifier. Read `skill_manifest.yaml` before changing arguments.

What are the prerequisites?

Python packages declared in the manifest's runtime side effects (pip_packages). Commands are run from the repository root unless noted otherwise.

What is explicitly unsupported?

Multi-series input, multi-frame DICOM, compressed transfer syntaxes (JPEG/JPEG2000/RLE), RT structure sets, and automatic voxel reorientation.

Can I use this clinically?

No. It is research-and-development only and not for clinical deployment, autonomous diagnosis, regulatory submission, or production inference; use a vetted converter such as dcm2niix for those.

All Files

9 files
evals/evals.json1.5 KB
View
skill-card.md3.7 KB
View
BENCHMARK.md4.2 KB
View
skill_manifest.yaml6.0 KB
View
validators/output_schema.json2.1 KB
View
fixtures/generate_fixtures.py5.6 KB
View
scripts/series_to_volume.py9.1 KB
View
SKILL.md3.5 KB
View
skill.oms.sig5.4 KB
View

Install dicom-series-to-volume

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

nvidia/skills