dicom-series-preflight
NVIDIA/skills
DICOMシリーズフォルダをスキャンして、ピクセルデータをデコードすることなく、ヘッダーのメタデータを抽出し、プリフライト判定結果を生成します。
...すべて拡張しますDICOM シリーズ プリフライト
目的
- 変換またはインファレンスを行う前に、1つの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 |
前提条件
- 実行時の要件:
runtime.side_effects.pip_packagesに記載されている Python パッケージ。 - 以下の既存のセクションで特に指定がない限り、リポジトリのルートからコマンドを実行してください。
制限事項
- ヘッダーのみ。ピクセルデータのデコードや、焼き付けられた PHI の検出は行いません。
- 標準的な向きゲートは、LPS 由来の CT 軸コード L、P、S を前提としています。
- 圧縮トランスファーシンタックスおよびマルチフレームインスタンスについては、デコードされず、警告が表示されます。
- 単一ディレクトリのスキャンであり、1 つのツリー内の複数の検査データを統合することはありません。
- 臨床での導入、規制上の匿名化、自律的な診断、および検証済みのコンバータを使用しない本番環境への取り込みには使用できません。
トラブルシューティング
| エラー | 原因 | 修正方法 |
|---|---|---|
| 依存関係の欠落またはインポートエラー | skill_manifest.yaml との実行時パッケージの不一致。 |
マニフェストで宣言されているパッケージをインストールするか、ドキュメントに記載されているセットアップコマンドを使用してください。 |
| 出力が空、またはスキーマに違反している | 入力パスが間違っている、サポートされていないモダリティ、または上流での失敗。 | 正常に動作することが確認済みのフィクスチャを使用して再実行し、ラッパーの JSON および stderr を確認してください。 |
| 検証ゲートの失敗 | 出力が宣言されたエンジニアリング不変条件に違反しました。 | 失敗したエビデンスパックを保持し、ゲートメッセージを参照して入力またはラッパーコードを修正してください。 |
ピクセルをデコードせずに、DICOMディレクトリ(フォルダごとに 1 シリーズ)をスキャンします。
インベントリ、オリエンテーション軸コード、PHI フラグ、所見、および
「pass」、「warn」、または「fail」のpreflight.verdictを含む JSON を出力します。
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
コピー





家
