Table of Contents
Fetching ...

PyPeT: A Python Perfusion Tool for Automated Quantitative Brain CT and MR Perfusion Analysis

Marijn Borghouts, Ruisheng Su

TL;DR

This work addresses the need for an open, customizable perfusion analysis tool that unifies CT perfusion (CTP) and MR perfusion (MRP) processing. It introduces PyPeT, a Python-based toolbox using $R(t)$-driven deconvolution (SVD-based) to generate perfusion maps, including $CBF$, $CBV$, $MTT$, $TTP$, and $Tmax$, with an emphasis on modularity, lightweight computation, and extensive inline documentation. Validation against FDA-approved reference tools across CT and MR datasets shows strong structural similarity, with SSIM values typically around $0.75$–$0.85$, demonstrating reliable correspondence while maintaining full transparency and reproducibility. PyPeT thus lowers barriers to perfusion research by providing an accessible, open platform for development, validation, and custom experimentation, with future work aimed at improving absolute quantification, AIF handling, and broader validation.

Abstract

Computed tomography perfusion (CTP) and magnetic resonance perfusion (MRP) are widely used in acute ischemic stroke assessment and other cerebrovascular conditions to generate quantitative maps of cerebral hemodynamics. While commercial perfusion analysis software exists, it is often costly, closed source, and lacks customizability. This work introduces PyPeT, an openly available Python Perfusion Tool for head CTP and MRP processing. PyPeT is capable of producing cerebral blood flow (CBF), cerebral blood volume (CBV), mean transit time (MTT), time-to-peak (TTP), and time-to-maximum (Tmax) maps from raw four-dimensional perfusion data. PyPeT aims to make perfusion research as accessible and customizable as possible. This is achieved through a unified framework in which both CTP and MRP data can be processed, with a strong focus on modularity, low computational burden, and significant inline documentation. PyPeT's outputs can be validated through an extensive debug mode in which every step of the process is visualized. Additional validation was performed via visual and quantitative comparison with reference perfusion maps generated by three FDA-approved commercial perfusion tools and a research tool. These comparisons show a mean SSIM around 0.8 for all comparisons, indicating a good and stable correlation with FDA-approved tools. The code for PyPeT is openly available at our GitHub https://github.com/Marijn311/CT-and-MR-Perfusion-Tool

PyPeT: A Python Perfusion Tool for Automated Quantitative Brain CT and MR Perfusion Analysis

TL;DR

This work addresses the need for an open, customizable perfusion analysis tool that unifies CT perfusion (CTP) and MR perfusion (MRP) processing. It introduces PyPeT, a Python-based toolbox using -driven deconvolution (SVD-based) to generate perfusion maps, including , , , , and , with an emphasis on modularity, lightweight computation, and extensive inline documentation. Validation against FDA-approved reference tools across CT and MR datasets shows strong structural similarity, with SSIM values typically around , demonstrating reliable correspondence while maintaining full transparency and reproducibility. PyPeT thus lowers barriers to perfusion research by providing an accessible, open platform for development, validation, and custom experimentation, with future work aimed at improving absolute quantification, AIF handling, and broader validation.

Abstract

Computed tomography perfusion (CTP) and magnetic resonance perfusion (MRP) are widely used in acute ischemic stroke assessment and other cerebrovascular conditions to generate quantitative maps of cerebral hemodynamics. While commercial perfusion analysis software exists, it is often costly, closed source, and lacks customizability. This work introduces PyPeT, an openly available Python Perfusion Tool for head CTP and MRP processing. PyPeT is capable of producing cerebral blood flow (CBF), cerebral blood volume (CBV), mean transit time (MTT), time-to-peak (TTP), and time-to-maximum (Tmax) maps from raw four-dimensional perfusion data. PyPeT aims to make perfusion research as accessible and customizable as possible. This is achieved through a unified framework in which both CTP and MRP data can be processed, with a strong focus on modularity, low computational burden, and significant inline documentation. PyPeT's outputs can be validated through an extensive debug mode in which every step of the process is visualized. Additional validation was performed via visual and quantitative comparison with reference perfusion maps generated by three FDA-approved commercial perfusion tools and a research tool. These comparisons show a mean SSIM around 0.8 for all comparisons, indicating a good and stable correlation with FDA-approved tools. The code for PyPeT is openly available at our GitHub https://github.com/Marijn311/CT-and-MR-Perfusion-Tool

Paper Structure

This paper contains 16 sections, 1 equation, 10 figures, 1 table.

Figures (10)

  • Figure 1: Contrast time curves (CTC), residue function, and the derived perfusion parameters.
  • Figure 2: Left: snapshot of the debug viewer showing a raw 4D input CTP image. Right: corresponding maximum intensity projection of the middle third of slices.
  • Figure 3: Left: snapshot of the debug viewer showing the generated mask. Middle: the corresponding perfusion image. Left: The corresponding brain segmentation.
  • Figure 4: Snapshot of the debug viewer showing normalized mean signal intensity over time, with the start of the bolus highlighted.
  • Figure 5: Left: snapshot of the debug viewer showing the CTC image. Right: corresponding maximum intensity projection of the middle third of slices.
  • ...and 5 more figures