## What is it?
MRIToolkit is a set of command line tools and a MATLAB (R) toolbox to process (diffusion) magnetic resonance imaging (MRI) data. Binaries of the command line version will be provided at some point!
The idea behind MRIToolkit is to integrate my research output with existing state-of-the-art methods for (diffusion) MRI processing.
Where do I find it?
Explore the main functionalities:
The toolbox is referenced for the first time in Guo et al.. Additionally, please cite the original works corresponding to the steps you use:
- ExploreDTI: Leemans, A., Jeurissen, B., Sijbers, J., & Jones, D. K. (2009). ExploreDTI: a graphical toolbox for processing, analyzing, and visualizing diffusion MR data. 17th Annual Meeting of the International Society for Magnetic Resonance in Medicine, Honolulu, Hawaii, USA, 3537.
- Diffusion MRI pre-processing: (signal drift correction, Gibbs ringing correction, motion and eddy currents correction, B-matrix rotation, EPI correction, MPPCA denoising)
- Diffusion Tensor Imaging (DTI) and Diffusion Kurtosis Imaging (DKI) fit including the MK-curve method;
- Spherical deconvolution using the Constrained Spherical Deconvolution (CSD), Multi-shell CSD, damped Richardson Lucy, the Generalized Richardson Lucy and mFOD;
- Robust deconvolution of multiple water pools (NNLS/L2NNLS/PL2NNLS) as in De Luca et al. 2018
- [NEW!] Automatic fiber clustering thanks to WMA pipeline
Quick installation
Please, see this guide
- I have coded most functions to accept Python-like name/value argument couples. To know which arguments to specify, just try the MATLAB help as, for instance, “help EDTI.LoadNifti”
- The file naming convention is to always indicate Niftis as .nii, even when they are actually compressed in .nii.gz. The code takes care of that, but expects only .nii as arguments in function calls!
Getting started
Examples of some functionalities can be found in here
Requirements:
- MRIToolkit relies on a couple of third party dependencies:
- Elastix:
- 1) Either compile your own version or grab the executables for your platform here.
- 2) Copy the file “TemplateMRIToolkitDefineLocalVars.m” to your MATLAB default folder (user/MATLAB or Documents/MATLAB), rename the file as “MRIToolkitDefineLocalVars.m”.
- 3) Edit the script, adjusting the variable MRIToolkit.Elastix.Location as needed.
- NODDI toolbox: if you would like to try the mFOD method, you will need to add the NODDI toolbox to the MATLAB path.
- ExploreDTI: While MRIToolkit is entirely self-sufficient (e.g. all needed ExploreDTI functions are bundled and adapted), the visualization of fiber tractograhy and other results will need ExploreDTI. Get it for free from Alexander Leemans.
Notes:
- MRIToolkit is NOT approved for clinical use
- This code is a work in progress. It will be updated without notice to ensure bug-fixes and the inclusion of best available methods
License:
- This software is distributed under the LGPLv3 license (https://opensource.org/licenses/lgpl-3.0.html).
Keywords:
- Magnetic Resonance Imaging (MRI)
- Image segmentation
- T1 quantification, Inversion Recovery
- T2 quantification, spin echo multi echo
- Extended Phase Graphs
- Diffusion MRI (dMRI) - Diffusion Tensor Imaging (DTI) - Diffusion Kurtosis Imaging (DKI)
- dMRI preprocessing - motion correction - eddy currents correction - EPI distortions correction
- Fiber tractography - Constrained Spherical Deconvolution (CSD) - Generalized Richardson Lucy (GRL) - mFOD
- Laplacian fit - Spectral Fit - Robust Deconvolution
- Automatic tractography clustering
Toolbox components [Content to be updated]
Ready to use:
Alberto De Luca - First published in 2019