Skip to main content

Model-based parameter quantification using OpenCL and Python

Project description

travis gitlab pypi Documentation Status

PyQMRI - Model-Based Parameter Quantification

PyQMRI 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 the Quickstart Guide. The example can also be run interactively using Open in Colab.

Installation and usage guides, as well as API documentaiton, can be found in the Documentation

Sample Data

In-vivo datasets used in the original publication (doi: [10.1002/mrm.27502]) can be found at zenodo. 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.

Contributing

Development and code contributions should be done at our GitLab site to facilitate the CI integration and GPU availability there. If you want to contribute please make sure that all tests pass and adhere to our Code of Conduct. Prior to running the tests it is necessary to start an ipcluster. An exemplary workflow would be: ipcluster start & followed by typing pytest test in 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.: pytest test/unittests pytest test/integrationtests

For more detailed instructions on how to contribute have a look at contributing.

Changelog:

  • v1.3
    • Added various new models for quantification

    • Initial release of ICTV/ICTGV image reconstruction code.

    • Added the possibility to use preconditioning during optimization.

  • v1.2
    • Added 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) MRI

  • v1.1
    • Added the first iteration of CPU support. Tested on Intel CPUS using pocl on Ubuntu and Arch Linux.

    • Changed stagnation to use inverse of exponential. Adapted default config accordingly

    • Added ASL model

  • v1.0
    • Initial Release

Citation:

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 for

Maier O, Schoormans J,Schloegl M, Strijkers GJ, Lesch A, Benkert T, Block T, Coolen BF, Bredies K, Stollberger R
Rapid 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]

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

pyqmri-1.3.0.tar.gz (86.5 MB view details)

Uploaded Source

Built Distribution

pyqmri-1.3.0-py3-none-any.whl (190.2 kB view details)

Uploaded Python 3

File details

Details for the file pyqmri-1.3.0.tar.gz.

File metadata

  • Download URL: pyqmri-1.3.0.tar.gz
  • Upload date:
  • Size: 86.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pyqmri-1.3.0.tar.gz
Algorithm Hash digest
SHA256 36d015a999ca0f3f46e078444cbb928b8471049d2d2d8ae88afd122561f76642
MD5 fbbe515c1b4ed99f2e5ee0cad11f2c65
BLAKE2b-256 41f12de208375ba1415fe193d3539fd3e96cc93f5dbdd86a7b1dd713dce902e6

See more details on using hashes here.

File details

Details for the file pyqmri-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pyqmri-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 190.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for pyqmri-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe69d75307b064c3c16250f742f42d81932ab4dfd0d606d4f3093e406186bcd9
MD5 c82451379de8baeacc717ed5ba9c7576
BLAKE2b-256 172a0ff5ad7a540a707d7ead7a74aa2342982e74eb2361d186642499b61c6979

See more details on using hashes here.

Supported by

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