i4h-catheter-navigation-e2e

par nvidia

Test de fumée de bout en bout pour la navigation par cathéter couvrant la configuration, le jumeau numérique, la DRR et les tests unitaires. À utiliser lorsqu'on demande d'exécuter le test de fumée complet du flux de travail par cathéter ou de démontrer le…

npx skills add https://github.com/nvidia/skills --skill i4h-catheter-navigation-e2e

i4h Catheter Navigation - End-to-End Smoke

Purpose

Run a v0.7 smoke pipeline: verify setup, build a digital twin from a TotalSegmentator subject, render a DRR from cache, and run CPU unittests. Skips the interactive viewport (requires display).

Base Code

ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/catheter_navigation" ]; then
  ROOT="${I4H_WORKFLOWS:-$HOME/i4h-workflows}"
  [ -d "$ROOT/workflows/catheter_navigation" ] || git clone https://github.com/isaac-for-healthcare/i4h-workflows "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"; cd "$ROOT"

Basics

Stages map to individual skills; this skill chains them with shared RUN_DIR and CACHE.

StageSkill
setup + CPU smoke[[i4h-catheter-navigation-setup]]
digital twin[[i4h-catheter-navigation-digital-twin]]
GPU DRR[[i4h-catheter-navigation-render-drr]]
unittest[[i4h-catheter-navigation-smoke]]

Run

Run the steps below in order. Each step is a separate bash call; variables persist in the local agent's tmux session.

Step 1 - initialize run

REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/catheter_navigation" ] || REPO_ROOT="$HOME/i4h-workflows"
WF_ROOT="${REPO_ROOT}/workflows/catheter_navigation"
RUN_DIR="${WF_ROOT}/runs/e2e_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/logs"
ln -sfn "${RUN_DIR}" "${WF_ROOT}/runs/.latest"
CACHE="${CACHE:-/tmp/ct_cache}"
SUBJ="${SUBJ:-}"
export I4H_WORKFLOWS="$REPO_ROOT"

Step 2 - setup verify

Follow [[i4h-catheter-navigation-setup]] Steps 1-3; tee to ${RUN_DIR}/logs/setup.log.

Step 3 - digital twin (requires SUBJ)

Set SUBJ to an extracted TotalSegmentator subject, then follow [[i4h-catheter-navigation-digital-twin]] Steps 3-4.

If SUBJ is unset, skip to Step 4 with synthetic DRR only and note partial e2e in the summary.

Step 4 - render DRR

If Step 3 succeeded, set CACHE and follow [[i4h-catheter-navigation-render-drr]] cache variant. Otherwise run synthetic render to ${RUN_DIR}/drr_synthetic.png.

Step 5 - smoke tests

Follow [[i4h-catheter-navigation-smoke]]; log to ${RUN_DIR}/logs/smoke.log.

Step 6 - summary

cat > "${RUN_DIR}/logs/SUMMARY.txt" <<EOF
Catheter navigation e2e smoke
RUN_DIR=${RUN_DIR}
CACHE=${CACHE}
SUBJ=${SUBJ:-<skipped>}
Artifacts:
  $(ls -1 "${RUN_DIR}" 2>/dev/null || true)
EOF
cat "${RUN_DIR}/logs/SUMMARY.txt"

Flags (informal)

  • Skip digital twin when SUBJ unset -> synthetic DRR only.
  • Add viewport manually via [[i4h-catheter-navigation-viewport]] when a display is available.

Outputs

  • RUN_DIR/logs/ - per-stage logs and SUMMARY.txt
  • RUN_DIR/drr.png or drr_synthetic.png - rendered frame
  • CACHE/ - digital twin artifacts when Step 3 ran

Prerequisites

  • [[i4h-catheter-navigation-setup]] host requirements.
  • SUBJ for full e2e (otherwise partial smoke).
  • GPU for Step 4 cache render.

Limitations

  • Does not launch the interactive viewport (display required).
  • Does not cover RL/IL training loops.

Troubleshooting

  • Partial run when no CT data - expected; document which stages ran.
  • GPU render failure - fall back to synthetic DRR and report GPU setup gap.

Final Response

Print RUN_DIR, stages completed/skipped, DRR output path, smoke-test status, and recommend [[i4h-catheter-navigation-viewport]] for interactive demo.

Plus de skills de nvidia

compileiq-debug
nvidia
Utilisez quand quelque chose ne va pas : Search() bloque, toutes les évaluations retournent INVALID_SCORE, les scores ne s'améliorent pas, chaque configuration retourne le même nombre, erreurs ptxas…
create-github-pr
nvidia
Créer des pull requests GitHub en utilisant l'interface en ligne de commande gh. Utiliser lorsque l'utilisateur souhaite créer une nouvelle PR, soumettre du code pour révision, ou ouvrir une pull request. Mots-clés de déclenchement -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Analyse les autres problèmes ouverts pour trouver ceux qu’une PR donnée pourrait également corriger ou casser accidentellement. Génère des opportunités de correctifs adjacents et des risques de contradiction avec fichier:ligne…
fhir-basics
nvidia
Apprend aux agents comment fonctionnent les API FHIR R4, quelles ressources sont disponibles, comment les interroger avec des paramètres de recherche, et comment analyser correctement tous les formats de réponse…
compileiq-validate-result
nvidia
Utiliser APRÈS qu'une recherche soit terminée et AVANT de réclamer un accélérateur ou d'expédier un ACF. Charge le CSV dump_results, extrait les K meilleurs candidats (mono-objectif)…
changelog-audit
nvidia
Auditer le CHANGELOG.md de Warp avant une publication : récupérer les entrées perdues, trier par impact utilisateur, affiner le langage des entrées, ajuster les retours à la ligne et (en mode branche de publication) mettre à jour la comparaison…
maintain-dynamic-plugins
nvidia
Maintenir les chargeurs de plugins dynamiques NeMo Relay, les manifestes, les SDK natifs Rust, le protocole worker gRPC, le SDK worker Python, la documentation, les tests et la couverture du workflow de publication
dgx-diagnose
nvidia
Diagnostiquer les problèmes courants du DGX Station GB300 — plantages CUDA, ciblage incorrect du GPU, bugs de conteneur vLLM/SGLang, problèmes d'état MIG, erreurs NVLink/Fabric Manager,…