i4h-catheter-navigation-viewport

Par nvidia · skills

Lance le viewport de fluoroscopie interactif Slang avec la physique de cathéter XPBD. À utiliser lorsqu'on demande d'ouvrir le viewport, de télé-opérer un cathéter ou de faire une démo de navigation fluoro.

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

i4h Catheter Navigation - Interactive Viewport

Purpose

Lancez le viewport de fluoroscopie interactive avec physique de cathéter XPBD en temps réel, DSA, présets C-arm et insertion guidée par centerline. Nécessite un cache de digital twin issu de [[i4h-catheter-navigation-digital-twin]].

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

  • Mode d'entrée : ./i4h run catheter_navigation interactive_viewport (préféré)
  • Nécessite un affichage (X11) ; remote/VNC peut requérir QT_QPA_PLATFORM=xcb.
  • Flags recommandés : --vessel-source real --insertion-axis centerline --dsa --key-hold-ttl 0.20

Run

Exécutez les étapes ci-dessous dans l'ordre. Chaque étape est un appel bash distinct ; les variables persistent dans la session tmux de l'agent local.

Step 1 - resolve cache and run dir

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/viewport_$(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}"
if [ ! -f "${CACHE}/mu_volume.npy" ]; then
  echo "viewport: set CACHE to a digital-twin dir (missing mu_volume.npy). Run i4h-catheter-navigation-digital-twin first." >&2
  exit 1
fi

Step 2 - launch viewport

QT_QPA_PLATFORM="${QT_QPA_PLATFORM:-xcb}" \
"${REPO_ROOT}/i4h" run catheter_navigation interactive_viewport --local \
  --run-args="--ct-dir ${CACHE} --vessel-source real --insertion-axis centerline --det-size 1024 --pixel-spacing-mm 0.6 --dsa" \
  2>&1 | tee "${RUN_DIR}/logs/viewport.log"

Controls (summary)

Input Action
W / S Avancer / reculer le cathéter le long de la centerline
A / D Tourner le cathéter CCW / CW
F / C Basculer l'overlay des vaisseaux / centerline
X Basculer le bolus de contraste DSA
1-4 Présets C-arm (AP, LAO-45, Lateral, RAO-30)
Space Pause / reprise
R Réinitialiser le cathéter
Q / Esc Quitter

Tableau complet : workflows/catheter_navigation/README.md.

Prerequisites

  • [[i4h-catheter-navigation-setup]] et [[i4h-catheter-navigation-digital-twin]] complétés.
  • Serveur d'affichage (X11 local ou bureau distant avec focus clavier).
  • GPU avec >= 8 GB VRAM (16 GB recommandé).

Limitations

  • GUI interactive - non adaptée pour CI headless.
  • Le focus clavier sur les bureaux distants peut nécessiter le pointeur sur la fenêtre fluoro.

Troubleshooting

  • Error: les contrôles semblent inactifs sur X11 distant - Fix : QT_QPA_PLATFORM=xcb (Step 2 le définit par défaut).
  • Error: cache manquant - Fix : exécutez [[i4h-catheter-navigation-digital-twin]].
  • Error: échec d'initialisation Vulkan / slang - Fix : vérifiez le driver GPU ; essayez Docker sans --local.

Final Response

Signalez le CACHE utilisé, notez tout contournement d'affichage/entrée appliqué, et pointez vers les contrôles du README si l'utilisateur a besoin de la carte complète des touches.

Skills similaires