Skip to main content

The MRI Coil-reconstruct Toolbox

Project description

The MRI Coil-reconstruct Toolbox, MCT, is a small toolbox for combining the channels of a multi-channel MRI acquisition. Where possible, this toolbox uses GPU accelerated routines to speed-up the processing. For example, the weights of the STARC (STAbility-weighted Rf-coil Combination) reconstruction model are fitted using the GPU or using multi-threaded CPU. At the moment MCT supports rSoS (root Sum Of Squares), rCovSoS (same as SoS but than with additional usage of a noise covariance matrix) and STARC.

Beta version notice

Please note that this software is still in beta and that the user interface may change over versions.

Summary

  • features multiple coil combine / reconstruction methods

  • command line and python interface

  • GPU/multicore-CPU accelerated STARC

  • Free Open Source Software: LGPL v3 license

  • Python and OpenCL based

  • Full documentation: https://mct.readthedocs.io/

  • Project home: https://github.com/cbclab/MCT

  • Uses the GitLab workflow

  • Tags: MRI, coil-reconstruct, image reconstruction, opencl, python

Data reconstruction

This software contains various reconstruction methods that can be used to combine your channels into one (or more) volumes. Not all reconstruction methods may be applicable to your data, for example the STARC [1] method only works when dealing with fMRI data.

Console

To reconstruct your data using the command line, after installation you can use:

$ mct-reconstruct <method> {0..15}.nii

Where method at the moment is one of “rSoS”, “rCovSoS” or “STARC”. Some methods require more information to combine the channels, please see the full documentation for this.

If you only want to use certain volumes of your data, use the “–volumes” or “-v” switch on the command line:

$ mct-reconstruct <method> {0..15}.nii -v odd

To use (for example) only the odd volumes. Available options are “odd”, “even” or a list of indices, such as “0 2 4 5” (space separated).

Python

It is also possible to reconstruct your data using the Python API, for example:

from mct.reconstruction_methods import rSoS, rCovSoS, STARC

input_path = '/data/'
output_path = '/data/output/'
nmr_channels = 16
input_filenames = [input_path + str(ind)
                   for ind in range(nmr_channels)]

method = rSoS(input_filenames)
method.reconstruct(output_path, volumes='odd')

This would reconstruct your data using rSoS using only the odd volumes.

References:

  1. Simple approach to improve time series fMRI stability: STAbility-weighted Rf-coil Combination (STARC), L. Huber et al. ISMRM 2017 abstract #0586.

Quick installation guide

The basic requirements for MCT are:

  • Python 3.x (recommended) or Python 2.7

  • OpenCL 1.2 (or higher) support in GPU driver or CPU runtime

Linux

For Ubuntu >= 16 you can use:

  • sudo add-apt-repository ppa:robbert-harms/cbclab

  • sudo apt-get update

  • sudo apt-get install python3-mct

For Debian users and Ubuntu < 16 users, install MDT with:

  • sudo apt-get install python3 python3-pip python3-pyopencl python3-numpy python3-nibabel python3-pyqt5 python3-matplotlib python3-yaml python3-argcomplete libpng-dev libfreetype6-dev libxft-dev

  • sudo pip3 install mct

Note that python3-nibabel may need NeuroDebian to be available on your machine. An alternative is to use pip3 install nibabel instead.

Windows

The installation on Windows is a little bit more complex and the following is only a quick reference guide. To save duplication of information and since this package depends on MDT and MOT, the complete install instructions can be copied from the MDT documentation. After following that guide, installation of MCT is simply done using pip install mct. The quick overview is:

  • Install Anaconda Python 3.5

  • Install MOT using the guide at https://mot.readthedocs.io

  • Open an Anaconda shell and type: pip install mct

Mac

  • Install Anaconda Python 3.5

  • Open a terminal and type: pip install mct

Please note that Mac support is experimental due to the unstable nature of the OpenCL drivers in Mac, that is, users running MDT with the GPU as selected device may experience crashes. Running MDT in the CPU seems to work though.

For more information and full installation instructions please see the documentation of the MDT package https://maastrichtdiffusiontoolbox.readthedocs.org

Roadmap

  1. Add a few more reconstruction methods like:

    • Roemer

    • GRAPPA

    • SENSE

  2. Improve the data handling and memory usage.

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

mct-0.3.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

mct-0.3.0-py2.py3-none-any.whl (29.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mct-0.3.0.tar.gz.

File metadata

  • Download URL: mct-0.3.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.8

File hashes

Hashes for mct-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b20479858b0acc1bcbffd8ca0ff337254ed608acc82b2f87ebd0d6e44f6f3ce7
MD5 48d627c7fd20452d96f0e4ca391ab9e8
BLAKE2b-256 6f65f3de3339c190adc626d993e1f2807cf354574781b7fa2da7534b491376d2

See more details on using hashes here.

File details

Details for the file mct-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: mct-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.8

File hashes

Hashes for mct-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1d55da67e468d946581226ac05d430e0cb00c54cf85f20425a5c6e00b64fe650
MD5 1bb0c327f1c2d3d69ed720493bdec9bc
BLAKE2b-256 ee249d4dd1422fd954a00961e45972643fad69a8b8cd2ec5dd41c5de3e7955e7

See more details on using hashes here.

Supported by

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