Utilities Developer Guide

MONAI Physio utility classes provide reusable operations for images, transforms, contours, and USD files. They are class-based APIs, not module-level free functions.

Transform Tools

import itk

from monai_physio import ProcessTransforms

tools = ProcessTransforms()
transform = itk.transformread("fixed_to_moving_transform.hdf")
moving = itk.imread("moving.mha")
reference = itk.imread("reference.mha")

warped = tools.transform_image(moving, transform, reference)

For PyVista contours:

import itk
import pyvista as pv

from monai_physio import ProcessTransforms

mesh = pv.read("heart_t0.vtp")
transform = itk.transformread("fixed_to_moving_transform.hdf")

transformed = ProcessTransforms().transform_pvcontour(mesh, transform)

Contour Tools

import itk

from monai_physio import ProcessContours

mask = itk.imread("heart_mask.nrrd")
contour = ProcessContours().extract_contours(mask)
contour.save("heart_surface.vtp")

USD Tools

from monai_physio import ProcessUSD

tools = ProcessUSD()
tools.merge_usd_files(
    "combined.usd",
    ["heart.usd", "lung.usd", "vessels.usd"],
)

USD Anatomy Tools

from pxr import Usd

from monai_physio import ProcessUSDAnatomy

stage = Usd.Stage.Open("anatomy.usd")
painter = ProcessUSDAnatomy(stage)
painter.apply_anatomy_material_to_mesh("/World/Heart", "heart")
stage.Export("anatomy_painted.usd")

Image Tools

ProcessImages contains conversion and small image helpers used internally by registration and transform utilities. Prefer direct ITK I/O for ordinary example code:

import itk

image = itk.imread("input.nrrd")
itk.imwrite(image, "output.mha")

See Also