i4h导管导航设置Skill i4h-catheter-navigation-setup

用于验证和配置导管导航(catheter navigation)工作流的运行环境。检查主机/GPU 依赖、设置 PYTHONPATH、验证 CLI 注册并执行 CPU 冒烟测试;可解决 fluorosim 导入失败、CUDA/slangpy 相关等错误。关键词:导管导航、catheter navigation、i4h 工作流、环境设置、GPU 验证、PYTHONPATH、冒烟测试、fluorosim、slangpy、医疗工作流、手术机器人导航。

手术机器人导航 0 次安装 0 次浏览 更新于 9/6/2026
名称 “i4h-catheter-navigation-setup”
版本 “0.7.0”
描述 “验证导管导航工作流的主机/GPU 要求和 PYTHONPATH。在要求设置、安装或引导 catheter_navigation 时,或遇到导入/GPU/slangpy 错误时使用。”
开源协议 Apache-2.0 metadata:
作者 “Isaac for Healthcare Team isaac-for-healthcare-support@nvidia.com” tags: - isaac-for-healthcare - i4h - catheter-navigation - setup - installation

i4h 导管导航 - 设置

目的

验证主机和 GPU 要求,确认 ./i4h CLI 能够识别工作流,并运行 CPU 冒烟测试。在要求设置导管导航,或遇到缺失导入、GPU 或 slangpy 错误时使用。

基础代码

这些步骤使用 i4h-workflows 基础代码(workflows/catheter_navigation/ 目录树)。若要复用现有的 checkout,请将 I4H_WORKFLOWS 设置为其路径(不会执行 clone)。否则,此步骤会解析当前仓库,或克隆到 ~/i4h-workflows - 无需提示即可选择该默认位置。在解析后的根目录下运行下面的每条命令:

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"

基本说明

  • 导管导航通过 workflows/catheter_navigation/metadata.json 注册,并通过 ./i4h run catheter_navigation <mode> 运行。
  • 运行时优先包:render_drr 使用已安装的 fluorosimpython -m fluorosim.examples.render_drr),而 interactive_viewportmetadata.json 中的本地工作流脚本路径启动。
  • Docker 镜像:workflows/catheter_navigation/docker/Dockerfile(在 ./i4h run 时使用 --local 以外的模式会使用它)。
  • GPU 模式需要 slangpy、Warp 和 CUDA;CPU 冒烟测试不需要。

预检

command -v python3
command -v git
nvidia-smi
df -h .

要求:Linux x86_64(已测试 Ubuntu 22.04/24.04),NVIDIA GPU(计算能力 >= 7.0),支持 CUDA 12.8 的驱动,>= 16 GB 内存,>= 20 GB 磁盘。

按顺序执行下面的步骤。每一步是一个单独的 bash 调用;变量在本地代理的 tmux 会话中持久存在。

步骤 1 - 解析仓库并导出路径

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"
SIM_ROOT="${WF_ROOT}/scripts/simulation"
export PYTHONPATH="${SIM_ROOT}:${PYTHONPATH:-}"
RUN_DIR="${WF_ROOT}/runs/setup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/logs"
ln -sfn "${RUN_DIR}" "${WF_ROOT}/runs/.latest"

步骤 2 - 验证 CLI 注册

"${REPO_ROOT}/i4h" modes catheter_navigation 2>&1 | tee "${RUN_DIR}/logs/modes.log"

步骤 3 - CPU 冒烟测试(无 GPU)

python3 -m unittest workflows/catheter_navigation/tests/test_fluorosim_smoke.py \
  2>&1 | tee "${RUN_DIR}/logs/smoke.log"

预期:Ran 7 tests ... OK。来自负向测试用例的 stderr 解析错误行属于预期现象。

步骤 4 - 可选 GPU 安全检查(合成 DRR)

无 GPU 或未安装 slangpy 时跳过。

"${REPO_ROOT}/i4h" run catheter_navigation render_drr --local \
  --run-args="--output ${RUN_DIR}/drr.png" \
  2>&1 | tee "${RUN_DIR}/logs/render_drr.log"

验证

test -f "${RUN_DIR}/logs/smoke.log"
grep -q "OK" "${RUN_DIR}/logs/smoke.log"
python3 -c "import fluorosim; print('fluorosim', fluorosim.__file__)"

前置条件

  • 包含 workflows/catheter_navigation/ 的仓库 checkout。
  • Python 3 和 numpy;渲染/视口模式需要完整的 GPU 栈(slangpy、torch CUDA、warp)。

局限

  • 还没有专门的 setup.sh - 此技能用来验证并记录主机要求;当主机依赖不完整时,请使用 Docker。
  • 步骤 4 需要 GPU;仅步骤 3 就足以进行 CI 式验证。

故障排查

  • 错误fluorosim 导入失败 - 原因:未设置 PYTHONPATH。修复:重新运行步骤 1;确认 SIM_ROOT 存在。
  • 错误:找不到 ./i4h - 原因:不在仓库根目录。修复:cd "$REPO_ROOT"./i4h 所在目录。
  • 错误:render_drr 在 slang/GPU 上失败 - 原因:缺少 CUDA 或 slangpy。修复:使用 Docker(不带 --local./i4h run catheter_navigation render_drr)或按 README 安装依赖。

最终响应

报告设置状态、冒烟测试结果、可选 DRR 输出路径,并推荐下一个技能(用于患者数据的 [[i4h-catheter-navigation-digital-twin]],用于交互式演示的 [[i4h-catheter-navigation-viewport]])。