Dicom Series Preflight
NVIDIAOfficialCreated by NVIDIA MedTech Team
- Skill
- Review and audit
- Science and research
- Apache-2.0
- Medium risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The DICOM Series Preflight skill provides a mechanism to inspect DICOM series directories by analyzing headers without decoding pixel data. It generates a structured JSON output containing an inventory of the series, orientation axcodes, potential PHI flags, and a verdict of pass, warn, or fail. This tool is intended for pre-processing validation to ensure data quality before conversion or inference tasks, and it is explicitly not designed for clinical clearance, de-identification, or production ingestion.
What it does
- Scans a single DICOM series directory for header-based validation.
- Generates a JSON report including inventory, orientation, and findings.
- Assigns a preflight verdict of pass, warn, or fail.
- Identifies potential PHI flags within the headers.
- Provides integration with trusted verifier workflows.
When to use it
- Before running inference or conversion on DICOM data.
- When you need to verify series orientation and header integrity.
- To perform rapid quality checks on medical imaging datasets.
- As a gatekeeper in automated medical imaging pipelines.
Advantages
- Fast execution due to header-only analysis without pixel decoding.
- Standardized output format for downstream automated processing.
- Helps identify potential issues early in the data pipeline.
- Integrates with existing workflow automation tools.
Usage examples
- “Run a preflight check on the DICOM series located in /data/dicom/series_01.”
- The agent executes the preflight script on the specified directory and returns a JSON report containing the series inventory, orientation axcodes, and a pass/warn/fail verdict.
- “Validate the DICOM series in /data/scan_01 using the trusted preflight verifier.”
- The agent runs the preflight script and pipes the output through the trusted verifier to confirm the data meets the required engineering invariants.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/dicom-series-preflight/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip dicom-series-preflight.zip -d .agents/skills
Documentation by NVIDIA MedTech Team
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 arepreflight_json.
Instructions
Read
skill_manifest.yamlbefore changing arguments, side effects, or validation gates.Run
scripts/preflight_series.pythrough the documented command below; keep outputs under a caller-provided run directory.If a host agent exposes
run_script, userun_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.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
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.
python scripts/preflight_series.py PATH_TO_DICOM_DIRPair with verifiers/dicom_preflight_quality_v1 for a trusted preflight pack:
make run-trusted SKILL=dicom_series_preflight \
FIXTURE=skills/dicom-series-preflight/fixtures/clean_no_phi \
OUT=runs/dicom_preflight_demoFlagship workflow:
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_gateNot for de-identification, private-tag review, or clinical clearance.
Files
- ATTRIBUTION.mdAdded by AutoGineer937 B
- BENCHMARK.md7.4 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md3.4 KiB
- evals/evals.json2.5 KiB
- fixtures/generate_fixtures.pyScript2.0 KiB
- scripts/preflight_series.pyScript12.6 KiB
- skill-card.md4.1 KiB
- skill.oms.sig5.7 KiB
- skill_manifest.yaml3.6 KiB
- tests/test_preflight_series.pyScript2.0 KiB
- validators/output_schema.json1.5 KiB
skill_manifest.yaml
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
id: medagent.dicom_series_preflight
version: 0.1.0
upstream_refs:
- kind: pypi_package
name: pydicom
version_constraint: ">=2.4.5,<4,!=3.0.0,!=3.0.1"
- kind: pypi_package
name: nibabel
version_constraint: ">=5.4,<6"
license: Apache-2.0
intended_use:
summary: >
Engineering-time DICOM folder preflight. Header-only scan of a series
directory for corruption, orientation, PHI-tag presence, and consistency
before conversion or model inference. No GPU required.
scope: development
not_for:
- clinical deployment
- regulatory de-identification
- autonomous diagnosis
- production ingestion without a vetted converter
inputs:
- name: dicom_dir
type: directory_path
formats: [dicom_series]
outputs:
- name: preflight_json
type: json
schema: validators/output_schema.json
runtime:
language: python
python: ">=3.10"
entrypoint: scripts/preflight_series.py
args:
- "${python}"
- "${script}"
- "${fixture}"
dependencies:
pydicom: ">=2.4.5,<4,!=3.0.0,!=3.0.1"
nibabel: ">=5.4,<6"
numpy: ">=1.25,<3"
typer: ">=0.9"
side_effects:
pip_packages:
- pydicom>=2.4.5,<4,!=3.0.0,!=3.0.1
- nibabel>=5.4,<6
- numpy>=1.25,<3
- typer>=0.9
local_writes: []
home_writes: []
network_endpoints: []
requires_docker: false
requires_gpu: none
env_required: []
paired_verifiers:
- id: medagent.verifiers.dicom_preflight_quality_v1
status: implemented
consumes: evidence_pack_dir
purpose: >
Second-pass preflight gate with pass/warn/fail verdict and explicit
findings list. Surfaces corruption, orientation, PHI, and consistency
issues without running conversion or segmentation.
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.
validation:
expected_runtime_seconds:
max: 15.0
inference_path: runtime.scan_seconds
sanity_checks:
- {path: skill, eq: dicom_series_preflight}
- {path: series.single_series, eq: true}
- {path: inventory.n_corrupt, eq: 0}
- {path: orientation.axcodes_match, eq: true}
- {path: preflight.acceptable, eq: true}
expected_cost:
wall_seconds: {max: 15}
cpu_seconds: {max: 15}
rss_mb_peak: {max: 300}
gpu_seconds: {max: 0}
gpu_memory_mb_peak: {max: 0}
env_pin:
pydicom: ">=2.4.5,<4,!=3.0.0,!=3.0.1"
nibabel: ">=5.4,<6"
numpy: ">=1.25,<3"
reproducibility:
mode: repeat
fixture: fixtures/clean_no_phi
fixture_builder: fixtures/generate_fixtures.py
runs: 2
negative_fixtures:
- path: fixtures/flipped_lr
expected_overall: failed
expected_failed_gate: sanity
failure_reason: >
LR-flipped ImageOrientationPatient should fail orientation.axcodes_match
and preflight.verdict sanity gates.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Needs Python
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA MedTech Team
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/dicom-series-preflight · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA MedTech Team or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download dicom-series-preflight.zip