Package: mct
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 (utilizing OpenCL).
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.Summaryfeatures multiple coil combine / reconstruction methodscommand line and python interfaceGPU/multicore-CPU accelerated STARCFree Open Source Software: LGPL v3 licensePython and OpenCL basedFull documentation:https://mct.readthedocs.io/Project home:https://github.com/robbert-harms/MCTTags: MRI, coil-reconstruct, image reconstruction, opencl, pythonData reconstructionThis 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 working with fMRI data.ConsoleTo reconstruct your data using the command line, after installation you can use:$mct-reconstruct<method>{0..15}.niiWhere 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-voddTo 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).PythonIt is also possible to reconstruct your data using the Python API, for example:frommct.reconstruction_methodsimportrSoS,rCovSoS,STARCinput_path='/data/'output_path='/data/output/'nmr_channels=16input_filenames=[input_path+str(ind)forindinrange(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:Simple approach to improve time series fMRI stability: STAbility-weighted Rf-coil Combination (STARC), L. Huber et al. ISMRM 2017 abstract #0586.Kashyap S, Fritz FJ, Harms RL, Huber L, Ivanov D, Roebroeck A, Poser BA, Uludag, K. Effect of optimised coil-combinations on high-resolution laminar fMRI at 9.4T, Proceedings of ISMRM 2018 Abstract #5442, (https://doi.org/10.7490/f1000research.1117449.1)Quick installation guideThe basic requirements for MCT are:Python 3.x (recommended) or Python 2.7OpenCL 1.2 (or higher) support in GPU driver or CPU runtimeLinuxFor Ubuntu >= 16 you can use:sudoadd-apt-repositoryppa:robbert-harms/cbclabsudoapt-getupdatesudoapt-getinstallpython3-mctFor Debian users and Ubuntu < 16 users, install MDT with:sudoapt-getinstall python3python3-pippython3-pyopenclpython3-numpypython3-nibabelpython3-pyqt5python3-matplotlibpython3-yamlpython3-argcompletelibpng-devlibfreetype6-devlibxft-devsudo pip3 install mctNote thatpython3-nibabelmay need NeuroDebian to be available on your machine. An alternative is to usepip3 install nibabelinstead.WindowsThe 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 fromthe MDT documentation.
After following that guide, installation of MCT is simply done usingpip install mct.
The quick overview is:Install Anaconda Python 3.5Install MOT using the guide athttps://mot.readthedocs.ioOpen an Anaconda shell and type:pip install mctMacInstall Anaconda Python 3.5Open a terminal and type:pip install mctPlease 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 packagehttps://maastrichtdiffusiontoolbox.readthedocs.orgRoadmapAdd a few more reconstruction methods like:RoemerGRAPPASENSEImprove the data handling and memory usage.Interruptable processing (saving intermediate data to HD and start from there)