Skip to main content

AortaExplorer can segment and analyse the human aorta in CT scans.

Project description

AortaExplorer

An open source tool for accurate segmentation of the aorta in 3D computed tomography scans.

AortaExplorer

Highlights:

  • Based on the excellent work of the TotalSegmentator team.
  • Supports contrast-enhanced CT scans with a variety of scan field-of-views (FOV).
  • Automatically computes the following measurements of the aorta:
  • Aorta diameters have been validated against a large (10.000+) population with manual annotations.
  • Tortuosity measures on a large population (10.000+) are consistent with previously reported results.
  • Automatically determines scan field-of-view (FOV)
  • Has been validated on a series of open source data sets
  • Provides an experimental and non-validated calcification visualization.
  • Generates visualizations for easy validation of outputs.
  • Designed as a research tool for population studies.

Note: This is not a medical device and is not intended for clinical usage. It is meant for research purposes and explorative analysis of the human aorta.

It is based on work done at DTU Compute and the Cardiovascular Research Unit, Rigshospitalet, Copenhagen, Denmark

Please cite this paper if you use AortaExplorer (coming, in revision)

@article{tbd25,
  author  = "Rasmus R. Paulsen and Linnea Hjordt Juul and Michael Huy Cuong Pham and J{\o}rgen Tobias K{\"u}hl and Klaus Fuglsang Kofoed and Kristine Aavild S{\o}rensen and Josefine Vilsb{\o}ll Sundgaard",
  title   = "AortaExplorer: AI-driven analysis of the aorta in CT images",
  journal = "TBD",
  year    = 2025,
  volume  = "TBD",
  number  = "TBD",
  pages   = "1--10"
}

Please also cite the TotalSegmentator paper since AortaExplorer is heavily dependent on it.

Installation

AortaExplorer has been tested on Ubuntu Linux and Windows but should work on most systems. The GPU usage is limited to the TotalSegmentator segmentation tasks and you can see the requirements here.

The installation requires a few steps:

  1. Create and activate an environment. e.g a conda environment
conda create -n AortaExplorerEnv python=3.13
conda activate AortaExplorerEnv
  1. Install PyTorch. Choose the cuda version that matches with what you have available for your GPU

  2. Install AortaExplorer

pip install AortaExplorer
  1. Install the TotalSegmentator license. AortaExplorer is dependent on the heartchambers_highressubtask and you need to obtain the license and install the license key.

Usage

AortaExplorer can process:

  • single NIFTI files
  • a folder with NIFTI files
  • a text file with NIFTI file names.
  • single NRRD files
  • a folder with NRRD files
  • a text file with NRRD file names.
  • single DICOM folders
  • folder with DICOM folders
  • a text file with DICOM folder names (full path needed)
AortaExplorer -i /data/aorta/aorta_scan.nii.gz -o /data/aorta/AortaExplorerOutput/

Will process the NIFTI file aorta_scan.nii.gz and create a sub-folder with results in the specified output folder /data/aorta/AortaExplorerOutput/.

If the input is a folder, it will process all .nii.gz and .nii files in that folder. If the input is the name of a text file, it will process all files (specified with full path names) listed in the text file. Note when processing several files, they all need to have unique base names, since the output will named according to this.

Expected processing time: AortaExplore is not optimized for speed. On a standard PC (October 2025) the processing time is between 5 and 15 minutes per scan. However, it can process several scans simultanously using multiprocessing and it scales well with the number of cores. The main speed bottleneck is our heavy use of Euclidean Distance Functions (EDT) that might be optimized quite a lot.

Outputs

AortaExplorer main outputs are:

  • CSV file with the aortic measurements. It is called AortaExplorer_measurements.csv and will be placed in the specified output folder. One row per input file.
  • Visualizations of the results placed in a sub-folder called all_visualizations.
  • A log file with potential errors and warnings placed in the specified output folder.

If you can not find your expected measurements in the CSV file, you should check the log file to see if there are any reported errors.

NOTE: AortaExplorer is not a diagnostic tool and does not check for aortic pathologies like aneurysms.

Advanced settings

The AortaExplorer commandline accept a set of arguments:

  • --device: Choose cpu or gpu or gpu:X (e.g., gpu:1 -> cuda:1) see TotalSegmentor for details
  • --image-x-size : Visualization image x-side length (default 1920).
  • --image-y-size : Visualization image y-side length (default 1080).

See here for the total set of command line parameters.

Python API

AortaExplorer can be used as a Python API. For Example:

from aortaexplorer.python_api import aortaexplorer, get_default_parameters

def test_aortaexplorer():
    params = get_default_parameters()

    input_file = "/data/aorta/aorta_scan.nii.gz"
    output_folder = "/data/aorta/AortaExplorerOutput/"
    device = "gpu"
    verbose = True
    quiet = False

    success = aortaexplorer(input_file, output_folder, params, device=device, verbose=verbose, quiet=quiet)
    assert success, "AortaExplorer failed to run successfully"

if __name__ == "__main__":
    test_aortaexplorer()

The params is a dictionary, where the individual values can be changed before the call to aortaexplorer. The parameters can be seen here.

Aortic segments and measurements

AortaExplorer computes aortic segments based on the ESC standard. This is illustrated here:

AortaExplorer

From these, the following cross sectional areas and diameters are computed:

AortaExplorer

TotalSegmentator aorta segmentations and lumen segmentations

TotalSegmentor has been trained on a CT dataset with 1228 cases. It seems that the aorta groundtruth annotations cover both lumen (the part of the aorta where blood flows), the aortic wall and also potentioal aortic aneurysmic sacs. For population studies, it is valuable to have the diameters of the pure lumen. AortaExplorer computes exactly that. Having both the TotalSegmentator segmentation and the AortaExplorer lumen segmentations potentially opens up for identification of pathological cases.

Scan FOV cases and handling

CT scanning protocols are typically tailored to clinical examination or research protocols. It is common that the aorta might be cropped due to limited field-of-view (FOV) of the scan protocol. We provide a description of FOV cases that we have encountered.

AortaExplorer automatically detects a majority of these FOV cases. Currently, we only do full analysis of these cases:

  • CASE 1: Full aorta : The entire aorta can be seen in the scan.
  • CASE 2: Abdominal : The lower part of the aorta and the top of the iliac arteries are visible.
  • CASE 5: Cardiac: A typical cardiac scan, where the aorta is split into an ascending and a descending part.

If need arises, we might extend the analysis to other scan FOV cases.

Error handling and pathological cases

AortaExplorer includes a large range of checks for the validity and type of scan. It tries to determine the scan FOV case and only continues on the cases described above. There is also a range of checks on Hounsfield value distributions. If the processing fails, the log file should be inspected for the cause.

Example visualizations

Visualization of a full (type 1) aorta:

AortaExplorer

Visualization of an abdominal (type 2) aorta:

AortaExplorer

Visualization of cardiac (type 5) aorta:

AortaExplorer

AortaExplorer on public datasets

If you want to try the tool, there are some public data sets available, with aorta ground truth labels.

Relevant references

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aortaexplorer-0.1.10.tar.gz (92.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aortaexplorer-0.1.10-py3-none-any.whl (95.0 kB view details)

Uploaded Python 3

File details

Details for the file aortaexplorer-0.1.10.tar.gz.

File metadata

  • Download URL: aortaexplorer-0.1.10.tar.gz
  • Upload date:
  • Size: 92.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.7

File hashes

Hashes for aortaexplorer-0.1.10.tar.gz
Algorithm Hash digest
SHA256 f59187775ceac932cb89d2515de9fe1d1c3d6579c628d452d7bbc8e300b56c26
MD5 f3028b8fefad6985a11a84dfa6dee10d
BLAKE2b-256 4625a5c3f2d52859537e6ed4c291a43e690a55bbeb2b64106bcac93892ee4182

See more details on using hashes here.

File details

Details for the file aortaexplorer-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: aortaexplorer-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 95.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.7

File hashes

Hashes for aortaexplorer-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 63c8b16e7f772a9350bfb21d64a4be73a97e9be7b9684dc056117ecf2d48bfb7
MD5 92effc2438f744ff3f2327bcb79afb95
BLAKE2b-256 6ad611e2f4fec0a8e8ea724b7ede9d6e4e0540b869ed24c053b7388ec667cb1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page