Multi-Channel Reconstruction (MCR) Toolkit v2.0: open-source Python-based tools for X-ray CT reconstruction
Recently, we have released the first open-source version of our Multi-Channel CT Reconstruction (MCR) Toolkit (https://gitlab.oit.duke.edu/dpc18/mcr-toolkit-public). The initial release of the Toolkit represents 10 years of development and provides a complete set of GPU-accelerated tools for solving multi-channel (multi-energy, time-resolved) X-ray CT reconstruction problems with support for both analytical and iterative reconstruction in common preclinical and clinical geometries. This initial version of the Toolkit (v1.0) relies on MATLAB and its MEX interface for orchestrating CT reconstruction pipelines; however, heavy reliance on MATLAB comes with licensing restrictions and limited support for deep learning augmentation of reconstruction pipelines. In this work, we detail the features of v2.0 of the MCR Toolkit which ports all the Toolkit's v1.0 features from MATLAB to the Python programming language, including the ability to perform regularized, iterative reconstruction of multi-energy photon-counting cardiac CT data. We demonstrate these new features through benchmarks which show comparable performance between our MATLAB (v1.0) and Python (v2.0) implementations of the BiCGSTAB(l) solver, following improved memory management in our Python implementation. We also demonstrate a high-level interface between v2.0 of the Toolkit and PyTorch, allowing the incorporation of a previously trained multi-energy CT denoising model, known as UnetU, directly in our multi-channel reconstruction framework. These preliminary reconstruction results show a reduction in intensity bias from 13 HU, after a single pass of the UnetU denoising model, to 7 HU after the same model is incorporated into our iterative reconstruction framework; however, some high-contrast edge features are exaggerated in the UnetU reconstruction, and the noise standard deviation increases from 21 HU to 34 HU.