dicom-series-preflight
NVIDIA/skills
Analiza una carpeta de series DICOM para extraer los metadatos de la cabecera y generar un veredicto de comprobación previa sin descodificar los datos de píxeles.
...Expandir todoComprobación previa de la serie DICOM
Finalidad
- Se utiliza para realizar una comprobación previa, limitada únicamente a los encabezados, de una carpeta de series DICOM antes de la conversión o la extracción de información. No está destinado a la desidentificación ni a la autorización clínica.
- Utilice el envoltorio tal y como se describe en la documentación; no sustituya el punto de entrada ascendente por una implementación propia.
- Entradas y salidas del manifiesto: las entradas son
dicom_dir; las salidas sonpreflight_json.
Instrucciones
- Lee
el archivo skill_manifest.yamlantes de modificar los argumentos, los efectos secundarios o los criterios de validación. - Ejecuta
scripts/preflight_series.pymediante el comando documentado a continuación; guarda los resultados en un directorio de ejecución proporcionado por el usuario. - Si un agente de host expone
la función run_script, utilizarun_script("scripts/preflight_series.py", args=[...]); de lo contrario, ejecuta el comando Bash/Python que se muestra a continuación. - Comprueba el JSON generado y las directrices del verificador correspondiente antes de considerar la ejecución como prueba.
Scripts disponibles
| Script | Finalidad | Argumentos |
|---|---|---|
scripts/preflight_series.py |
Punto de entrada principal declarado en skill_manifest.yaml. | PATH_TO_DICOM_DIR |
Requisitos previos
- Requisitos de ejecución: paquetes de Python enumerados en
runtime.side_effects.pip_packages. - Ejecuta los comandos desde la raíz del repositorio, salvo que se indique lo contrario en alguna de las secciones siguientes.
Limitaciones
- Solo encabezado; no decodifica datos de píxeles ni detecta PHI incrustada.
- La puerta de orientación canónica asume los códigos axiales de TC derivados de LPS: L, P, S.
- Se emiten advertencias sobre la sintaxis de transferencia comprimida y las instancias de múltiples fotogramas, pero no se descodifican.
- Escaneo de un único directorio; no concilia múltiples estudios en un único árbol.
- No apto para uso clínico, desidentificación reglamentaria, diagnóstico autónomo ni ingesta en producción sin un convertidor validado.
Solución de problemas
| Error | Causa | Solución |
|---|---|---|
| Falta una dependencia o error de importación | Desviación del paquete en tiempo de ejecución respecto a skill_manifest.yaml. |
Instala los paquetes declarados en el manifiesto o utiliza el comando de configuración documentado. |
| Salida vacía o con esquema no válido | Ruta de entrada incorrecta, modalidad no compatible o fallo en la etapa anterior. | Vuelve a ejecutar la prueba con un fixture conocido e inspecciona el JSON del envoltorio y el stderr. |
| Fallo en la puerta de validación | La salida ha infringido una invariante de ingeniería declarada. | Conserva el paquete de pruebas fallido y utiliza el mensaje de la puerta de validación para corregir las entradas o el código del contenedor. |
Analiza un directorio DICOM (una serie por carpeta) sin decodificar píxeles.
Genera un JSON con el inventario, los códigos de eje de orientación, los indicadores PHI, los hallazgos y un
«preflight.verdict» de «pass», «warn» o «fail».
python scripts/preflight_series.py PATH_TO_DICOM_DIR
Combínalo con verifiers/dicom_preflight_quality_v1 para obtener un paquete de comprobación previa fiable:
make run-trusted SKILL=dicom_series_preflight \
FIXTURE=skills/dicom-series-preflight/fixtures/clean_no_phi \
OUT=runs/dicom_preflight_demo
Flujo de trabajo principal:
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
No apto para la desidentificación, la revisión de etiquetas privadas ni la autorización clínica.
---
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.
Todos los archivos
10 archivosInstalar dicom-series-preflight
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
git clone https://github.com/NVIDIA/skills/tree/main/skills/dicom-series-preflight # Copy SKILL.md to your .claude/skills/ directory
Copiar





Hogar
