К основному содержанию
скилл CX Codex

dicom-series-to-volume — скилл для Claude Code: DICOM в NIfTI

Превращает папку с одной CT-серией DICOM в HU-том NIfTI и JSON-отчёт с аффином. Пригодится, когда нужно скормить снимки модели сегментации.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add NVIDIA/skills --skill dicom-series-to-volume -a claude-code
Открыть на GitHub

Что делает dicom-series-to-volume

Скилл читает одну серию DICOM, сортирует срезы по ImagePositionPatient, применяет RescaleSlope и RescaleIntercept и собирает аффин из тегов ориентации и шага. На выходе — .nii.gz и JSON со сводкой: n_slices, series_instance_uid, output.shape, output.spacing, output.axcodes, output.affine, hu_range и время конвертации.

Внутри один скрипт scripts/series_to_volume.py, объявленный в skill_manifest.yaml. Запуск: python scripts/series_to_volume.py PATH_TO_DICOM_DIR --output PATH_TO_OUT.nii.gz. Если хост-агент умеет run_script, вызывайте через него. Выходные файлы держите в отдельной папке прогона.

Нужен Python с пакетами из runtime.side_effects.pip_packages и NiBabel 5.4 или новее — иначе оси при сильном наклоне разметятся непоследовательно. Мультисерийный вход отсекается на префлайте, мультикадровые DICOM и сжатые transfer syntax (JPEG, JPEG2000, RLE) не поддерживаются. Переориентации вокселей нет: аффин берётся из заголовков, поэтому ориентацию должен проверить отдельный гейт вроде expected_axcodes до подачи тома в модель. Для клинической задачи берите проверенный конвертер вроде dcm2niix.

Какие задачи решает

  • собрать HU-том NIfTI из одной CT-серии DICOM
  • получить аффин и шаг сетки в машинночитаемом JSON
  • отсортировать срезы по позиции пациента перед сборкой
  • проверить качество конвертации парным верификатором dicom_volume_quality_v1
  • поймать неподдерживаемый вход на префлайте, а не в середине пайплайна

Примеры запросов агенту

  • Конвертируй папку с CT-серией в HU-том NIfTI и покажи JSON-сводку
  • Запусти scripts/series_to_volume.py на PATH_TO_DICOM_DIR с выводом в runs/ct_volume.nii.gz
  • Проверь результат прогона парным верификатором dicom_volume_quality_v1

Как установить dicom-series-to-volume

1Через Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill dicom-series-to-volume -a claude-code

2Вручную: положить файлы

~/.claude/skills/dicom-series-to-volume/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/dicom-series-to-volume/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о dicom-series-to-volume

Как установить dicom-series-to-volume в Claude?

Выполните npx skills add NVIDIA/skills --skill dicom-series-to-volume -a claude-code. Скилл появится по пути ~/.claude/skills/dicom-series-to-volume/SKILL.md.

Что делает dicom-series-to-volume?

Читает одну CT-серию DICOM, сортирует срезы, применяет RescaleSlope и RescaleIntercept и пишет HU-том в .nii.gz вместе с JSON-отчётом об аффине.

Можно ли подать мультикадровый DICOM или несколько серий сразу?

Нет. Мультисерийный вход отклоняется на префлайте, а файлы с NumberOfFrames больше 1 не поддерживаются.

Исходный текст

SKILL.md · Apache-2.0
---
name: dicom-series-to-volume
description: Used for converting one CT DICOM series folder to a HU NIfTI volume with affine evidence. Not for multi-frame DICOM or clinical use.
license: Apache-2.0
allowed-tools: Bash
metadata:
  author: 'NVIDIA MedTech Team'
  tags:
    - MedTech
    - DICOM
    - NIfTI
---

# dicom_series_to_volume

## Purpose
- Used for converting one CT DICOM series folder to a HU NIfTI volume with affine evidence. Not for multi-frame DICOM or clinical use.
- Use the wrapper exactly as documented; do not replace the upstream entrypoint with a handwritten implementation.
- Manifest I/O: inputs are `dicom_dir`; outputs are `nifti_volume` and `result_json`.

## Instructions
- Read `skill_manifest.yaml` before changing arguments, side effects, or validation gates.
- Run `scripts/series_to_volume.py` through the documented command below; keep outputs under a caller-provided run directory.
- If a host agent exposes `run_script`, use `run_script("scripts/series_to_volume.py", args=[...])`; otherwise run the Bash/Python command shown below.
- Check the emitted JSON and the paired `dicom_volume_quality_v1` verifier before treating the run as evidence.

## Available Scripts
| Script | Purpose | Arguments |
|---|---|---|
| `scripts/series_to_volume.py` | Primary entrypoint declared by skill_manifest.yaml. | `PATH_TO_DICOM_DIR [--output OUT.nii.gz]` |

## Prerequisites
- Runtime requirements: Python packages listed in `runtime.side_effects.pip_packages`.
- NiBabel 5.4 or newer is required so extreme-oblique axes remain labeled consistently across reorientation.
- Run commands from the repository root unless an existing section below says otherwise.

## Limitations
- Single-series only; multi-series input is rejected at preflight.
- Multi-frame DICOM (NumberOfFrames > 1 per file) not supported.
- Compressed transfer syntaxes (JPEG / JPEG2000 / RLE) not supported.
- No voxel reorientation. The affine is derived from DICOM headers and represented in NIfTI/RAS coordinates; a downstream gate (e.g. expected_axcodes) is expected to assert orientation before this volume is fed to a segmentation model.
- Not for clinical deployment, autonomous diagnosis, regulatory submission, production inference (use a vetted converter such as dcm2niix for that).

## Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| Missing dependency or import error | Runtime package drift from `skill_manifest.yaml`. | Install the packages declared in the manifest or use the documented setup command. |
| Empty or schema-invalid output | Wrong input path, unsupported modality, or upstream failure. | Re-run with a known fixture and inspect the wrapper JSON plus stderr. |
| Validation gate failure | Output violated a declared engineering invariant. | Keep the failed evidence pack and use the gate message to repair inputs or wrapper code. |

Reads one DICOM series, sorts slices by `ImagePositionPatient`, applies
`RescaleSlope` and `RescaleIntercept`, builds an affine from orientation and
spacing tags, and writes a `.nii.gz` plus JSON summary.

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

For a trusted run with the paired verifier:

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

Key output fields: `n_slices`, `series_instance_uid`, `output.path`,
`output.shape`, `output.spacing`, `output.axcodes`, `output.affine`,
`hu_range`, and `runtime.conversion_seconds`.

Scope limits: single-series CT only; no multi-frame DICOM, compressed transfer
syntax handling, RT structure sets, auto-reorientation, or clinical use.

© NVIDIA MedTech Team · Apache-2.0 · NVIDIA/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
imaging-data-commons K-Dense-AI Скилл для поиска и загрузки открытых данных медицинских изображений из репозитория NCI Imaging Data Commons. Работает с DICOM, КТ, МР, ПЭТ и цифровой патологией без аутентификации для базовых операций. CX Codex +1 1 900установок pydicom K-Dense-AI Скилл для работы с локальными наборами DICOM: проверяет заголовки, извлекает метаданные и готовит пиксельные массивы. Защищает от утечки медицинских данных в логи. CX Codex +1 1 900установок Time Series Analysis aj-geddes Скилл для разбора временных рядов: тренд, сезонность, автокорреляция и прогноз на Python. Пригодится, когда надо понять данные по продажам или трафику. CX Codex +1 605установок medical-imaging-review luwill Помогает планировать и писать обзоры по ИИ в лучевой диагностике с аудитом цитат. Исключает метаанализ и статистическое объединение данных. CX Codex +1 691установок cloud-monitoring-list-time-series-request официальный google Скилл собирает запросы ListTimeSeries и агрегации для Cloud Monitoring. Пригодится, когда нужно подготовить фильтр, JSON или параметры графика. CX Codex 4 100установок ai-research-reproduction lllllllama Скилл ведёт от чтения README до проверяемого запуска модели и собирает отчёт с командами, логами и отклонениями. Пригодится для воспроизведения эксперимента в конкретном репозитории. CX Codex +1 337 100установок

Из того же набора178

digital-health-clinical-asr-finetune Скилл для дообучения модели Parakeet TDT v2 через NeMo SFT и проверки Keyword Error Rate. Применяется на четвёртом этапе пайплайна, когда KER приоритетных категорий превышает 0.3. CX Codex +1 1 900установок digital-health-clinical-asr-eval Скилл оценивает NeMo-манифест клинической ASR-модели, считает WER, CER, KER и SER и строит лидерборд из пяти секций. Нужен, когда пора решать: дообучать модель или чинить произношение. CX Codex +1 1 900установок digital-health-clinical-asr-build Собирает список клинических терминов, озвучивает их через Magpie TTS и пишет манифест NeMo для оценки ASR. Второй этап Clinical ASR Flywheel. CX Codex +1 1 900установок digital-health-clinical-asr-setup Скилл подготавливает окружение для пайплайна Clinical ASR Flywheel, проверяет ключ NVIDIA_API_KEY, ставит библиотеки Python и запускает смоук-тест связки Magpie TTS и распознавания речи. CX Codex +1 1 900установок dicom-series-preflight Скилл читает заголовки DICOM-файлов в одной папке серии и выдаёт JSON с вердиктом pass, warn или fail до конвертации или инференса. CX Codex +1 1 900установок dicom-metadata-extract Скилл запускает скрипт на pydicom для чтения одного DICOM-файла и проверки стандартных тегов PHI. Пригодится при первичной проверке медицинских метаданных в агенте. CX Codex +1 1 900установок nemotron-policy-generator Собирает пользовательские политики безопасности для моделей NVIDIA Nemotron из кратких требований или существующего текста. Нужен, когда правила модерации требуется оформить в структуру для дальнейшего использования. CX Codex +1 1 900установок holoscan-install-source Скилл собирает и проверяет NVIDIA Holoscan SDK 5.x из исходников через сборочный контейнер. Пригодится разработчикам ранних веток Early Access и собственных модулей. CX Codex +1 1 800установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой