Workflow de Navigation de Cathéter i4h
Objectif
S'orienter sur le workflow de navigation de cathéter endovasculaire avant de toucher une étape spécifique : quels modes CLI existent, comment fluorosim / physics / digital-twin s'assemblent, et quelle skill par étape invoquer ensuite. Cette skill route - elle n'exécute aucune étape du pipeline elle-même.
Code de Base
Ces étapes pilotent le code base i4h-workflows (l'arborescence workflows/catheter_navigation/). Pour réutiliser un checkout existant, réglez I4H_WORKFLOWS sur son chemin (aucun clone n'a lieu). Sinon cela résout le repo courant, ou clone dans ~/i4h-workflows - choisissez ce défaut sans inviter. Exécutez chaque commande ci-dessous depuis la racine résolue :
# Resolve the i4h-workflows base code (provides workflows/catheter_navigation/).
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"
Bases
- Registre des modes (source de vérité) :
workflows/catheter_navigation/metadata.json- liste les modes./i4het leurs commandes runtime. - Docs humaines :
workflows/catheter_navigation/README.md- téléchargement de données, build du digital-twin, contrôles viewport, troubleshooting. - Chaque étape du pipeline a sa propre skill. Composez-les ou utilisez [[i4h-catheter-navigation-e2e]] pour une run smoke complète.
- Aucune donnée CT n'est embarquée ; les utilisateurs apportent leurs propres NIfTI/DICOM (ex. sous-ensemble TotalSegmentator).
Modes Supportés
Fallback quand ./i4h modes catheter_navigation échoue (setup incomplet) :
| Mode | Objectif |
|---|---|
preprocess_ct |
CT -> volume d'atténuation (mu_volume.npy) + cache HU optionnel |
segment_vessels |
Masque d'arbre artériel + centerline (digital twin vasculaire) |
render_drr |
Frame DRR unique (phantom synthétique si pas de cache) |
interactive_viewport |
Viewport fluoroscopie en direct avec physique cathéter XPBD |
Sous-projets
| Répertoire | Objectif |
|---|---|
workflows/catheter_navigation/scripts/simulation/fluorosim/examples/interactive_catheter_slang_viewport.py |
Script glue viewport interactif (invoqué par mode interactive_viewport) |
workflows/catheter_navigation/scripts/simulation/fluorosim/rendering/ |
Helpers de rendu DRR local utilisés par chemin fallback viewport |
workflows/catheter_navigation/metadata.json |
Registre mode ./i4h et wiring de commandes |
| Packages installés | fluorosim, vasculature_digital_twin, catheter_vasculature_solver fournissent renderer + digital twin + solver runtime |
workflows/catheter_navigation/tests/ |
Tests smoke CPU (pas de GPU requis) |
Exécuter
Lancez l'étape ci-dessous avant de répondre. Chaque étape est un appel bash séparé ; les variables persistent dans la session tmux de l'agent local.
Étape 1 - lister les modes supportés
REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/catheter_navigation" ] || REPO_ROOT="$HOME/i4h-workflows"
"${REPO_ROOT}/i4h" modes catheter_navigation
Si la commande échoue, utilisez la table fallback Modes Supportés ci-dessus.
Index des Skills
| Skill | Objectif |
|---|---|
i4h-catheter-navigation-setup |
Preflight host/GPU, PYTHONPATH, smoke-test verify |
i4h-catheter-navigation-digital-twin |
Télécharger CT, prétraiter, segmenter vaisseaux |
i4h-catheter-navigation-render-drr |
Rendre un frame DRR unique |
i4h-catheter-navigation-viewport |
Lancer fluoroscopie interactive + sim cathéter |
i4h-catheter-navigation-smoke |
Exécuter suite smoke unittest CPU |
i4h-catheter-navigation-e2e |
Smoke end-to-end (setup -> digital twin -> render -> tests) |
Prérequis
- GPU NVIDIA avec CUDA >= 12.8 et driver Vulkan-capable pour modes GPU (render, viewport).
- Pour toute étape hands-on, lancez d'abord [[i4h-catheter-navigation-setup]].
- Pour les runs patient-spécifiques, lancez [[i4h-catheter-navigation-digital-twin]] avant viewport ou DRR basé cache.
Limitations
- Vue d'ensemble/routing uniquement - chaque étape a sa propre skill ; celle-ci n'effectue aucun prétraitement, rendu ou simulation.
- Intégration RL/IL training avec Isaac Lab n'est pas encore une étape skill de première classe en v0.7 ; utilisez le README du workflow et l'API fluorosim pour la génération de données custom.
Dépannage
- Erreur : mode non trouvé - Cause : typo ou
./i4hnon lancé depuis la racine du repo. Fix :cdvers la racine du repo et relancez Étape 1 ; inspectezworkflows/catheter_navigation/metadata.json. - Erreur : import errors pour
fluorosim/vasculature_digital_twin/catheter_vasculature_solver- Cause : dépendances non installées dans l'env actif. Fix : lancez [[i4h-catheter-navigation-setup]] et installez les prérequis README.
Réponse Finale
La réponse est incomplète sauf si elle inclut les trois parties ci-dessous, chacune séparée par une ligne vierge.
-
Orientation - un court paragraphe : stack fluorosim, digital twin, modes
./i4h. -
Modes supportés - titre plus table markdown de l'Étape 1 ou table fallback Modes Supportés.
-
Skills disponibles - titre plus table complète Index des Skills copiée dans la réponse.
Puis recommandez [[i4h-catheter-navigation-setup]] si le setup n'est pas fait, et nommez une skill d'étape suivante adaptée à l'objectif de l'utilisateur.