Package: pyqmri
PyQMRI - Model-Based Parameter QuantificationPyQMRI is a Python based toolbox for quantitative Magnetic Resonance Imaging (MRI). Utilizing _PyOpenCL and a double-buffering scheme,
it enables the accelerated reconsruction and fitting of arbitrary large datasets on memory limited GPUs.
Currently, PyQMRI supports the processing of 3D Cartesian and non-Cartesian (stack-of-) data.Examples include T1 quantification from variable flip angle or
inversion-recovery Look-Locker data, T2 quantification using a
mono-exponential fit, or Diffusion Tensor quantification.In addition, a Genereal Model exists that can be invoced
using a text file containing the analytical signal equation.For a real world usage example have a look at theQuickstart Guide.
The example can also be run interactively using.Installation and usage guides, as well as API documentaiton, can be found in theDocumentationSample DataIn-vivo datasets used in the original publication (doi:[10.1002/mrm.27502]) can be found atzenodo. If you use the sample data with the recent release of PyQMRI please delete the “Coils”
entry in the .h5 to force a recomputation of the receive coil sensitivities as the orientation does not match the data.ContributingDevelopment and code contributions should be done at ourGitLabsite to facilitate the CI integration and GPU availability there.
If you want to contribute please make sure that all tests pass and adhere to ourCode of Conduct.
Prior to running the tests it is necessary to start an ipcluster.
An exemplary workflow would be:ipclusterstart&followed by typingpytesttestin the PyQMRI root folder. It is advised to run unit and integration tests after each other as OUT_OF_MEMORY exceptions can occur if both are in one session, e.g.:pytesttest/unittestspytesttest/integrationtestsFor more detailed instructions on how to contribute have a look atcontributing.Changelog:v1.3Added various new models for quantificationInitial release of ICTV/ICTGV image reconstruction code.Added the possibility to use preconditioning during optimization.v1.2Added and tested AMD CPU and AMD GPU support. (Tested on Ryzen 9 with AMD APP SDK and Radeon 6900XT with ROCm)Added the model for fast field-cycling (FFC) MRIv1.1Added the first iteration of CPU support. Tested on Intel CPUS usingpoclon Ubuntu and Arch Linux.Changed stagnation to use inverse of exponential. Adapted default config accordinglyAdded ASL modelv1.0Initial ReleaseCitation:If using the toolbox, please consider citing: “Maier et al., (2020). PyQMRI: An accelerated Python based Quantitative MRI toolbox. Journal of Open Source Software, 5(56), 2727,https://doi.org/10.21105/joss.02727”Also consider citing “Oliver Maier, Matthias Schloegl, Kristian Bredies, and Rudolf Stollberger; 3D Model-Based Parameter Quantification on Resource Constrained Hardware using Double-Buffering. Proceedings of the 27th meeting of the ISMRM, 2019, Montreal, Canada” if using parts of the software, specifically the PyOpenCL based NUFFT and the double buffering capabilities, in your work.Older Releases:You can find the code forMaier O, Schoormans J,Schloegl M, Strijkers GJ, Lesch A, Benkert T, Block T, Coolen BF, Bredies K, Stollberger RRapid T1 quantification from high resolution 3D data with model‐based reconstruction.Magn Reson Med., 2018; 00:1–16 doi:[10.1002/mrm.27502]at[v0.1.0]