nvidia/i4h-catheter-navigation-viewport
Launch the interactive Slang fluoroscopy viewport with XPBD catheter physics. Use when asked to open the viewport, teleop a catheter, or demo fluoro navigation.
npx skills add https://github.com/NVIDIA/skills --skill i4h-catheter-navigation-viewport
Launch the interactive fluoroscopy viewport with real-time XPBD catheter physics, DSA, C-arm presets, and centerline-guided insertion. Requires a digital twin cache from [[i4h-catheter-navigation-digital-twin]].
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"
./i4h run catheter_navigation interactive_viewport (preferred)QT_QPA_PLATFORM=xcb.--vessel-source real --insertion-axis centerline --dsa --key-hold-ttl 0.20Run the steps below in order. Each step is a separate bash call; variables persist in the local agent's tmux session.
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
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"
| Input | Action |
|---|---|
| W / S | Advance / retract catheter along centerline |
| A / D | Rotate catheter CCW / CW |
| F / C | Toggle vessel / centerline overlay |
| X | Toggle DSA contrast bolus |
| 1-4 | C-arm presets (AP, LAO-45, Lateral, RAO-30) |
| Space | Pause / resume |
| R | Reset catheter |
| Q / Esc | Quit |
Full table: workflows/catheter_navigation/README.md.
QT_QPA_PLATFORM=xcb (Step 2 sets this by default).--local.Report CACHE used, note any display/input workarounds applied, and point to README controls if the user needs the full key map.
Take nvidia/i4h-catheter-navigation-viewport from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.