Skip to content
Skillv1.0.0

dicom-series-preflight

Used for header-only preflight of one DICOM series folder before conversion or inference. Not for de-identification or clinical clearance.

by nvidia(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from nvidia/skills (skills/dicom-series-preflight/SKILL.md) via skills.sh. Install upstream with npx skills add nvidia/skills --skill dicom-series-preflight. Copyright stays with the author (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.
  • 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_DIR

Pair 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_demo

Flagship 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_gate

Not for de-identification, private-tag review, or clinical clearance.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/nvidia-skills-dicom-series-preflight/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

nvidia-skills-dicom-series-preflight.ocm.jsonjson
{
  "ocm": "1",
  "id": "nvidia-skills-dicom-series-preflight",
  "kind": "skill",
  "name": "dicom-series-preflight",
  "description": "Used for header-only preflight of one DICOM series folder before conversion or inference. Not for de-identification or clinical clearance.",
  "publisher": "nvidia",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "medical"
    ],
    "tags": [
      "skill-md",
      "medtech",
      "dicom",
      "preflight",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Used for header-only preflight of one DICOM series folder before conversion or inference. Not for de-identification or clinical clearance."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/nvidia/skills",
      "path": "skills/dicom-series-preflight/SKILL.md",
      "ref": "HEAD",
      "url": "https://www.skills.sh/nvidia/skills/dicom-series-preflight",
      "key": "nvidia/skills/skills/dicom-series-preflight/SKILL.md"
    },
    "allowed_tools": [
      "Bash"
    ],
    "license": "Apache-2.0"
  },
  "instructions": "# DICOM Series Preflight\n\n## Purpose\n- Used for header-only preflight of one DICOM series folder before conversion or inference. Not for de-identification or clinical clearance.\n- Use the wrapper exactly as documented; do not replace the upstream entrypoint with a handwritten implementation.\n- Manifest I/O: inputs are `dicom_dir`; outputs are `preflight_json`.\n\n## Instructions\n- Read `skill_manifest.yaml` before changing arguments, side effects, or validation gates.\n- Run `scripts/preflight_series.py` through the documented command below; keep outputs under a caller-provided run directory.\n- I",
  "cost": {
    "context_tokens": 782
  }
}

Fetch it by URL: GET /api/v1/registry/nvidia-skills-dicom-series-preflight/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.