Skip to main content

MONAI Physio

CI Documentation Nightly Health codecov

PyPI version Python versions License: Apache 2.0 Ruff Checked with mypy pre-commit

A collection of methods, workflows, tutorials, and CLI tools for creating personalized physiological digital twins.

MONAI Physio typically begins with a 3D medical image of a subject, extracts anatomic models from that image, and then uses AI surrogates to estimate the subject's physiological processes - initially focusing on cardiac and respiratory motion, and expanding to electrophysiology, blood flow, and organ perfusion. The package provides methods for forming these physiological AI surrogates and for finetuning the segmentation and registration AI methods that power them, with special emphasis on statistical shape models: they capture subject-specific characteristics that help determine subject-specific physiological function, and establish correspondence across subjects to aid AI surrogate generalization and simplify the application of traditional solvers.

MONAI Physio is not validated for clinical use. It is a research and visualization toolkit, not a medical device, and must not be used for diagnosis, treatment planning, or clinical decision-making.

Documentation

https://project-monai.github.io/monai-physio/ is the primary entry point for users and contributors. Key sections:

Highlights

  • Personalized digital twins: build subject-specific anatomic models and physiological AI surrogates from 3D/4D medical images
  • Statistical shape models: capture subject-specific anatomy and establish cross-subject correspondence, aiding AI surrogate generalization and simplifying traditional solver setup
  • Simplified workflows on industry-leading open-source tools: ICON and Greedy for registration; MONAI with TotalSegmentator and Simpleware for segmentation; scikit-learn for statistical shape modeling; ITK for image processing; PyVista and OpenUSD/Omniverse for geometry manipulation; CuPy for accelerated computing; and PhysicsNeMo for AI surrogates
  • Extensible class hierarchy: add new segmentation and registration methods, and extend to new data types, organs, and physiological processes, without reworking the workflow layer
  • Physiological motion: cardiac and respiratory motion today, expanding to electrophysiology, blood flow, and organ perfusion
  • NVIDIA Omniverse as the simulation hub: the end goal for simulation - a simulation-information hub and gateway to other engines (e.g., Ansys solvers), interactive simulations for treatment planning (e.g., Isaac Sim, Newton), visualization systems (e.g., AR/VR devices), and physical systems (e.g., robots via ROS)
  • CLI and Python API: installed command-line tools and workflow classes for repeatable, scriptable pipelines

Quick Start

Install

uv pip install "monai-physio[cuda12]"

Installs entirely from prebuilt wheels. On CUDA 13 use monai-physio[cuda13], which additionally needs a CUDA toolkit and C++ toolchain to build torch-scatter. See the installation guide for source installs, pip, and CPU-only.

Download Tutorials

The tutorials are not installed by pip. They live in this repository. Clone it to run them:

git clone https://github.com/Project-MONAI/monai-physio.git

Download Tutorial Data

Tutorial 1 (heart) runs on the public Slicer-Heart 4D CT sample. We provide automated download for multiple datasets via a CLI, including the lung tutorials' key dataset, TCIA-4DLung (a converted tutorial subset - the full TCIA 4D-Lung collection remains a manual download), see data/TCIA-4DLung/README.md.

IMPORTANT: Run the download from the top level of the clone. The tutorials resolve their inputs against the repository root, so downloading elsewhere puts the data where they will not find it.

cd monai_physio
monai-physio-download-data Slicer-Heart-CT --directory data/Slicer-Heart-CT

Run Tutorial 01: Gated CT to USD

python tutorials/tutorial_01_heart_gated_ct_to_usd.py

Explore the Code

That tutorial builds the same workflow the Python API exposes:

import itk
from pathlib import Path

from monai_physio import (
    RegisterImagesICON,
    SegmentChestTotalSegmentatorWithContrast,
    WorkflowConvertImageToUSD,
)

frame_files = sorted(Path("data/Slicer-Heart-CT").glob("slice_???.mha"))
time_series_images = [itk.imread(str(path)) for path in frame_files]

workflow = WorkflowConvertImageToUSD(
    time_series_images=time_series_images,
    reference_image=time_series_images[int(0.7 * len(time_series_images))],
    output_directory="./results",
    usd_project_name="cardiac_model",
    registration_method=RegisterImagesICON(),  # or RegisterImagesGreedy()
    segmentation_method=SegmentChestTotalSegmentatorWithContrast(),
)
results = workflow.process()

Explore the CLIs

The Tutorial 01 workflow and many of the workflows in this toolkit are also available as command-line tools but CLIs provide fewer options for customization:

monai-physio-convert-image-to-usd cardiac_4d.nrrd --contrast --output-dir ./results

Next Steps

See the quickstart and tutorials for full walkthroughs covering segmentation, registration, statistical shape modeling, and USD export.

Contributing

See CONTRIBUTING.md (also published at project-monai.github.io/monai-physio/contributing.html) for code style, testing, IDE setup, and pull request conventions.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Additionally, NVIDIA Omniverse is distributed under its own custom license, which makes it free for academic and commercial use. https://docs.omniverse.nvidia.com/ov/latest/common/NVIDIA_Omniverse_License_Agreement.html

Non-commercial Licenses (optional)

  • NVIDIA Segment CT MRI AI weights (used in the SegmentNVSegmentCTMRI class, are restricted from commercial use. https://github.com/NVIDIA-Medtech/NV-Segment-CTMR
  • TotalSegmentator includes the optional use of some of their research-only models. Using those models assumes that you have the appropriate license key install, otherwise an error occurs. Those models can be disabled by calling set_has_academic_license(False) member function of the SegmentChestTotalSegmentator class.

Metadata

Release files for monai-physio 2026.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for monai-physio 2026.9.0
File Size Uploaded
monai_physio-2026.9.0.tar.gz 349.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for monai-physio 2026.9.0
File Interpreter ABI Platform
monai_physio-2026.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 733.7 kB

Release files / monai_physio-2026.9.0.tar.gz

Download URL monai_physio-2026.9.0.tar.gz
Size 349.4 kB
Tags Source
SHA-256 checksum
How to use checksums
743a72878f969fe23a26b53d2c4edaf521f4f9235d533fe01e8b1ae3cfe60f55
BLAKE2b-256 checksum
How to use checksums
ccc50d86b4ef69d3d4747e2e34b450b0d2da1770f08cdcdb1d93813d89040e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / monai_physio-2026.9.0-py3-none-any.whl

Download URL monai_physio-2026.9.0-py3-none-any.whl
Size 384.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a37d70752caefab6e4d2047d594c7af65573602ec240f2ead588f2d01565595f
BLAKE2b-256 checksum
How to use checksums
3798644d881f9526a0b4427c9cdf34fdc56fc4734713f93d342743fb18523535
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.9.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page