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.From its SKILL.md
npx -y skills add NVIDIA/skills --skill i4h-catheter-navigation-viewportAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.6 KB, 918 tokens by cl100k_base, as published. Nobody here has run it
i4h Catheter Navigation - Interactive Viewport
Purpose
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]].
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
- Entry mode:
./i4h run catheter_navigation interactive_viewport(preferred) - Requires display (X11); remote/VNC may need
QT_QPA_PLATFORM=xcb. - Recommended flags:
--vessel-source real --insertion-axis centerline --dsa --key-hold-ttl 0.20
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 - 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 | 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.
Prerequisites
- [[i4h-catheter-navigation-setup]] and [[i4h-catheter-navigation-digital-twin]] completed.
- Display server (local X11 or remote desktop with keyboard focus).
- GPU with >= 8 GB VRAM (16 GB recommended).
Limitations
- Interactive GUI - not suitable for headless CI.
- Keyboard focus on remote desktops may require pointer over the fluoro window.
Troubleshooting
- Error: controls appear dead on remote X11 - Fix:
QT_QPA_PLATFORM=xcb(Step 2 sets this by default). - Error: missing cache - Fix: run [[i4h-catheter-navigation-digital-twin]].
- Error: Vulkan / slang init failure - Fix: verify GPU driver; try Docker without
--local.
Final Response
Report CACHE used, note any display/input workarounds applied, and point to README controls if the user needs the full key map.
What ships with it: 4 files
17.3 KB alongside SKILL.md
evals/
- evals.json5.0 KB
- BENCHMARK.md3.9 KB
- skill-card.md3.9 KB
- skill.oms.sig4.5 KB