dicom-series-preflight
NVIDIA/skills
Выполняет сканирование папки с серией изображений в формате DICOM для извлечения метаданных заголовка и формирования результата предварительной проверки без декодирования пиксельных данных.
...Расширить всеПредварительная проверка серии DICOM
Назначение
- Используется для предварительной проверки только заголовков одной папки серии DICOM перед преобразованием или инференцией. Не предназначено для деидентификации или клинического одобрения.
- Используйте обёртку в точном соответствии с документацией; не заменяйте исходную точку входа на собственную реализацию.
- Входные и выходные данные манифеста: входные данные —
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 |
Необходимые условия
- Требования к среде выполнения: пакеты Python, указанные в
runtime.side_effects.pip_packages. - Запускайте команды из корневого каталога репозитория, если в одном из нижеследующих разделов не указано иное.
Ограничения
- Только заголовок; не декодирует пиксельные данные и не обнаруживает встроенную конфиденциальную медицинскую информацию (PHI).
- Канонический ориентационный фильтр предполагает использование кодов осей КТ L, P, S, полученных из LPS.
- О сжатом синтаксисе передачи данных и многокадровых экземплярах выдаются предупреждения, а не производится декодирование.
- Сканирование одного каталога; не согласовывает несколько исследований в одном дереве.
- Не предназначено для клинического использования, нормативной деидентификации, автономной диагностики, импорта в производственную среду без проверенного конвертера.
Устранение неполадок
| Ошибка | Причина | Способ устранения |
|---|---|---|
| Отсутствует зависимость или произошла ошибка импорта | Расхождение пакетов среды выполнения по сравнению с файлом skill_manifest.yaml. |
Установите пакеты, указанные в манифесте, или воспользуйтесь описанной в документации командой настройки. |
| Пустой вывод или вывод с неверной схемой | Неверный путь входных данных, неподдерживаемый режим работы или сбой на верхнем уровне. | Запустите процесс заново с проверенным фикстуром и проверьте 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
Не предназначено для деидентификации, проверки тегов конфиденциальности или клинического одобрения.
---
name: dicom-series-preflight
description: Scans a DICOM series folder to extract header metadata and produce a preflight verdict without decoding pixel data.
license: Apache-2.0
---
# DICOM Series Preflight
## Purpose
- Used for header-only preflight of one DICOM series folder before conversion or inference. Not for de-identification or clinical clearance.
- 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 `preflight_json`.
## Instructions
- Read `skill_manifest.yaml` before changing arguments, side effects, or validation gates.
- Run `scripts/preflight_series.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/preflight_series.py", args=[...])`; otherwise run the Bash/Python command shown below.
- Check the emitted JSON and paired verifier guidance before treating the run as evidence.
## Available Scripts
| Script | Purpose | Arguments |
|---|---|---|
| `scripts/preflight_series.py` | Primary entrypoint declared by skill_manifest.yaml. | `PATH_TO_DICOM_DIR` |
## Prerequisites
- Runtime requirements: Python packages listed in `runtime.side_effects.pip_packages`.
- Run commands from the repository root unless an existing section below says otherwise.
## Limitations
- Header-only; does not decode pixel data or detect burnt-in PHI.
- Canonical orientation gate assumes LPS-derived CT axcodes L,P,S.
- Compressed transfer syntax and multi-frame instances are warned, not decoded.
- Single-directory scan; does not reconcile multiple studies in one tree.
- Not for clinical deployment, regulatory de-identification, autonomous diagnosis, production ingestion without a vetted converter.
## 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. |
Scans a DICOM **directory** (one series per folder) without decoding pixels.
Emits JSON with inventory, orientation axcodes, PHI flags, findings, and a
`preflight.verdict` of `pass`, `warn`, or `fail`.
```bash
python scripts/preflight_series.py PATH_TO_DICOM_DIR
```
Pair with `verifiers/dicom_preflight_quality_v1` for a trusted preflight pack:
```bash
make run-trusted SKILL=dicom_series_preflight \
FIXTURE=skills/dicom-series-preflight/fixtures/clean_no_phi \
OUT=runs/dicom_preflight_demo
```
Flagship workflow:
```bash
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
```
Not for de-identification, private-tag review, or clinical clearance.
Все файлы
10 файловУстановить dicom-series-preflight
Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/NVIDIA/skills/tree/main/skills/dicom-series-preflight # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
