YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
CT Heart Segmentation
Two MONAI bundles for coronary artery segmentation from cardiac CT angiography (CCTA), plus a Docker-packaged end-to-end pipeline.
| Bundle | Input | Output |
|---|---|---|
ct_binary_coronary_segmentation |
CCTA volume (CT) | Binary vessel mask + spline centerlines (JSON) |
ct_segmental_coronary_segmentation |
Binary vessel mask | 21-class segmental labels (background + 20 segments) |
Both bundles ship 5-fold cross-validation UNet weights and support single-model or ensemble inference.
Quick start
Docker (end-to-end)
docker build -t ct-heart-seg .
docker run --gpus all -v /path/to/ct_images:/input -v /path/to/results:/output ct-heart-seg
Outputs land in /output/binary/ and /output/segmental/, with a pipeline.log alongside them.
Python (end-to-end)
python scripts/run_pipeline.py --input /path/to/ct_images --output /path/to/results
Bundle-by-bundle
See the per-bundle READMEs for single-fold usage, ensemble inference, training, and custom transforms.
Repository layout
ct-heart-segmentation/
βββ ct_binary_coronary_segmentation/ # Bundle 1: CT -> binary mask
βββ ct_segmental_coronary_segmentation/ # Bundle 2: binary mask -> 21-class labels
βββ scripts/run_pipeline.py # Chains both bundles (used by the Dockerfile)
βββ Dockerfile
Weights
Model weights are hosted on HuggingFace:
pip install huggingface_hub
huggingface-cli download kbressem/ct-heart-segmentation --local-dir ./
Requirements
monai>=1.3.0, torch>=2.0, scikit-image, scipy, pandas, psutil, itk. The projectmonai/monai:latest Docker base image covers everything except scikit-image (installed by the Dockerfile).
License
See LICENCE inside each bundle directory.