Repository: https://github.com/isaac-for-healthcare/i4h-digital-twin
Pipelines and packages for building patient, hospital, and robot digital twins
Isaac for Healthcare — Digital Twin#
Pipelines and packages for building patient, hospital, and robot digital twins for NVIDIA Isaac Sim and healthcare robotics.
This repository turns medical imaging, robot descriptions, and hospital scenes into simulation-ready OpenUSD assets and preprocessing artifacts that feed Isaac Lab / IsaacLab-Arena workflows.
Available Pipelines#
Repository Layout#
i4h-digital-twin/
├── patient-digital-twin/ # Imaging → anatomy twin (CT, vessels, USD)
├── hospital-digital-twin/ # Hospital scene authoring, teleop, sim2real
├── robot-digital-twin/ # Bring-your-own robot (CAD / URDF → USD)
└── sim-ready-assets/ # Asset catalog helper for i4h sim assets
Patient Digital Twin#
Convert clinical or synthetic imaging into vessel/anatomy artifacts and OpenUSD meshes.
| Component | Status | Purpose |
|---|---|---|
vasculature_digital_twin |
Installable package | CT ingest, HU→μ preprocessing, vessel masks, centerlines |
imaging_to_mesh |
Installable package | Labelmaps / NumPy masks → OBJ + OpenUSD |
generate_imaging |
Guide | Synthetic CT/MR generation with MAISI |
Quick start — installable packages#
# CT preprocessing + vessel extraction
cd patient-digital-twin/vasculature_digital_twin
uv venv && uv pip install -e ".[dev]"
vdt-preprocess-ct --nifti /path/to/ct.nii.gz --output-dir /tmp/ct_cache
vdt-segment-vessels --ct-dir /tmp/ct_cache --no-totalsegmentator
# Mask / labelmap → USD
cd ../imaging_to_mesh
uv venv && uv pip install -e ".[dev]"
imaging-to-mesh /path/to/patient_label.nii.gz --output-dir /tmp/usd_out
Python API example (mask from vasculature twin → USD):
from imaging_to_mesh import convert_mask_to_usd
from vasculature_digital_twin import VolumePreprocessor, get_vessel_mask
pre = VolumePreprocessor.from_nifti("ct.nii.gz")
volume = pre.preprocess(output_dir="ct_cache")
mask = get_vessel_mask(
hu_zyx=pre.hu_volume_zyx,
spacing_zyx_mm=volume.spacing_zyx_mm,
use_totalsegmentator=False,
).combined_mask
result = convert_mask_to_usd(
mask,
"output/vasculature.usd",
name="Vasculature",
spacing_zyx_mm=volume.spacing_zyx_mm,
)
print(result.usd_path)
Hospital Digital Twin#
Tools for authoring hospital simulation environments and collecting / augmenting robot demonstration data.
| Component | Purpose |
|---|---|
setup_from_assets |
Assemble operating-room scenes from catalog assets |
reconstruct_from_video |
NuRec / neural reconstruction of hospital spaces |
Robot Digital Twin#
Bring-your-own-robot guides for converting CAD / URDF into articulated USD assets and integrating them into Isaac Sim scenes.
See robot-digital-twin/README.md.
Sim-Ready Assets#
Catalog of robots, anatomy, equipment, and hospital environments used across i4h simulations, plus the i4h_asset_helper download helper.
See sim-ready-assets/README.md.
Requirements#
Shared / typical prerequisites (exact versions depend on the component):
| Requirement | Notes |
|---|---|
| OS | Linux (x86_64) recommended |
| Python | 3.10+ for installable packages (vasculature_digital_twin, imaging_to_mesh) |
| GPU | Optional for TotalSegmentator / MAISI / Isaac Sim; CPU paths exist for basic vessel masking and mesh conversion |
| Tooling | uv or pip; Isaac Sim when loading USD in simulation |
Installable packages do not require Conda. Hospital / robot twin guides may assume Isaac Sim, Isaac Lab, or XR runtimes — see each component README.
Development / CI#
Installable packages under patient-digital-twin/ include unit tests and can be exercised with:
cd patient-digital-twin/vasculature_digital_twin && uv pip install -e ".[dev]" && pytest
cd ../imaging_to_mesh && uv sync --extra dev && uv run pytest
Repository GitHub Actions cover copyright headers, markdown link checks, pre-commit linting, and package build/test for the installable modules.
Security#
See SECURITY.md. Do not report security vulnerabilities through public GitHub issues.
Support#
This repository is under active development (experimental). For questions and support, open an issue in the GitHub repository.
License#
Licensing varies by component and asset source. Check each package or asset directory for SPDX / LICENSE files. Lightwheel SimReady assets under sim-ready-assets/ are for non-commercial R&D use only unless otherwise stated.