
Catheter Navigation Digital Twin
OfficialFreeCreate patient-specific vasculature models from CT data.
Free · Opens the source repo
What Catheter Navigation Digital Twin does
The i4h Catheter Navigation Digital Twin skill is designed to facilitate the creation of patient-specific vasculature models from CT imaging data. By preprocessing CT volumes and segmenting the arterial tree, this skill generates a digital twin that is essential for various medical applications, including viewport rendering and digitally reconstructed radiography (DRR). The skill operates through a series of bash commands that guide users through the necessary steps to preprocess CT data and extract relevant vessel information.
To use this skill, users must first ensure they have access to a suitable CT volume, particularly one that is contrast-enhanced and follows the TotalSegmentator dataset format. The skill provides a clear workflow, starting from downloading the dataset (if not already available) to preprocessing the CT images and segmenting the vessels. Each step is executed in a local environment, allowing for efficient handling of the data and results. The output includes a cache of processed data that can be reused in subsequent workflows, making it a practical tool for ongoing projects.
This skill is particularly suited for developers and researchers in the medical imaging field who require a reliable method for generating digital twins from CT data. It streamlines the process of creating vasculature models, thus enabling further analysis and visualization. The skill is built to work within the i4h workflows, ensuring compatibility and ease of integration with other related processes.
While the skill is powerful, it does have limitations. Users must provide their own CT data, as the skill does not ship with any datasets. Additionally, it requires a significant amount of system resources, with at least 32 GB of RAM recommended for handling larger volumes. Users should also be prepared to troubleshoot common issues related to data paths and memory usage during execution.
When to use it
Use this skill when you need to generate a digital twin of a patient's vasculature from CT imaging data for medical applications.
When not to use it
This skill is not suitable if you lack access to appropriate CT data or if your system does not meet the required resource specifications.
What you can build with it
Generating a Digital Twin for Surgical Planning
Use this skill to create a detailed digital twin of a patient's vasculature to assist in pre-surgical planning and simulations.
Research in Medical Imaging
Employ this skill in research projects that require the segmentation and analysis of vascular structures from CT images.
Integrating with Other i4h Workflows
Utilize the generated cache in conjunction with other i4h workflows for enhanced visualization and analysis of medical data.
How to install Catheter Navigation Digital Twin
View source1. Install with the skills CLI
npx skills add nvidia/skills/i4h-catheter-navigation-digital-twin --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nvidiai4h Catheter Navigation - Digital Twin
Purpose
Download or locate a CT volume, preprocess it to an attenuation cache, and segment the arterial tree into vessel mask + centerline - the vasculature digital twin required for patient-specific viewport and DRR runs.
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
- Output cache layout:
--output-dir/--ct-dir(e.g./tmp/ct_cache) holdsmu_volume.npy,metadata.json, and after segmentation vessel mask + centerline artifacts. - Contrast-enhanced CTA subjects work best; TotalSegmentator small subset (~3.2 GB) is the documented public dataset.
- Comply with the dataset license; no patient data is committed to the repo.
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 paths
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/digital_twin_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/logs"
ln -sfn "${RUN_DIR}" "${WF_ROOT}/runs/.latest"
# User-supplied or downloaded subject directory (must contain ct.nii.gz + segmentations/)
SUBJ="${SUBJ:-}"
CACHE="${CACHE:-/tmp/ct_cache}"
if [ -z "${SUBJ}" ] || [ ! -f "${SUBJ}/ct.nii.gz" ]; then
echo "digital-twin: set SUBJ to an extracted TotalSegmentator subject (got '${SUBJ:-<unset>}')." >&2
echo "Example: SUBJ=/path/to/Totalsegmentator_dataset_small_v201/s0011" >&2
exit 1
fi
Step 2 - download dataset (skip if SUBJ already exists)
Only run when the user has no CT data yet.
curl -L "https://www.dropbox.com/scl/fi/pee5yxebfxrhz007cbuy5/Totalsegmentator_dataset_small_v201.zip?rlkey=osvfk02jc4lw5gr6uhrldtb9e&dl=1" \
-o "${RUN_DIR}/Totalsegmentator_dataset_small_v201.zip"
unzip "${RUN_DIR}/Totalsegmentator_dataset_small_v201.zip" -d "${RUN_DIR}/Totalsegmentator_dataset_small_v201"
ls "${RUN_DIR}/Totalsegmentator_dataset_small_v201"
# Then set SUBJ to one extracted subject before continuing.
Step 3 - preprocess CT
"${REPO_ROOT}/i4h" run catheter_navigation preprocess_ct --local \
--run-args="--nifti ${SUBJ}/ct.nii.gz --output-dir ${CACHE} --save-hu" \
2>&1 | tee "${RUN_DIR}/logs/preprocess_ct.log"
Step 4 - segment vessels
"${REPO_ROOT}/i4h" run catheter_navigation segment_vessels --local \
--run-args="--ct-dir ${CACHE} --ts-gt-dir ${SUBJ}/segmentations" \
2>&1 | tee "${RUN_DIR}/logs/segment_vessels.log"
Verify
test -f "${CACHE}/mu_volume.npy"
test -f "${CACHE}/metadata.json"
ls -la "${CACHE}"
Notes
SUBJmust point at one extracted subject withct.nii.gzandsegmentations/(TotalSegmentator layout).CACHEis reused by [[i4h-catheter-navigation-viewport]] and cache-based [[i4h-catheter-navigation-render-drr]].- Segmentation is CPU/GPU mixed and may take several minutes depending on volume size.
Prerequisites
- [[i4h-catheter-navigation-setup]] completed (imports and CLI work).
- A CT NIfTI and matching vessel segmentations (or TotalSegmentator subject).
-
= 32 GB RAM recommended for large volumes.
Limitations
- Does not ship data; user must download or provide their own CT.
- Zenodo mirror is throttled; prefer the Dropbox URL in Step 2.
Troubleshooting
- Error:
SUBJunset or missingct.nii.gz- Fix: download Step 2 dataset or setSUBJto an existing subject path. - Error: segment_vessels fails on
--ts-gt-dir- Fix: confirm${SUBJ}/segmentationsexists (TotalSegmentator ground truth). - Error: out of memory during preprocess - Fix: use a smaller subject or increase swap; close other GPU/CPU workloads.
Final Response
Report CACHE path, key artifacts present, log paths under RUN_DIR, and recommend [[i4h-catheter-navigation-viewport]] or [[i4h-catheter-navigation-render-drr]] next.
Frequently asked questions about Catheter Navigation Digital Twin
Similar skills
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
