This MATLAB software repository is part of a human brain 3D deuterium metabolic imaging (DMI) work to investigate SNR improvement of bSSFP acquistion when using spectral-spatial CSI and multi-echo encoding schemes.
What can it do:
- reconstruct CSI and multi-echo raw data in SNR units
- multiple ways of spectral seperation
- CSI data (IDEAL,AMARES,Lorenztian fit, linear fitting)
- multi-echo data (IDEAL, IDEAL-modes, linear fiting)
- in vivo metabolite quantification
- other utilities like NIFTI export, FLASH/FISP/bSSFP signal simulation, PSF calculation, etc
- non-localized T1/T2 spectroscopic Pulseq seqeunce and processing scripts
- mapVBVD : read Siemens raw data (required)
- arrShow : Array Show for visualizing/debug (optional but highly recommended!)
- Pulseq : Only for spectroscopic Pulseq seqeunce and processing scripts (optional)
- OXSA : Only for AMARES fitting (optional)
- spm12 : Only for reslicing (optional)
This package is developed on MATLAB 2022b
used toolboxes
1, MATLAB 2, Optimization Toolbox 3, Signal Processing Toolbox 4, Symbolic Math Toolbox 5, Image Processing Toolbox 6, Curve Fitting Toolbox 7, Parallel Computing Toolbox 8, Automated Driving Toolbox 9, Lidar Toolbox 10, Navigation Toolbox 11, Robotics System Toolbox 12, ROS Toolbox 13, UAV Toolbox8-13: probably only required for dumb geometric tranformation for NIFTI export!
from [fList, pList] = matlab.codetools.requiredFilesAndProducts('MetCon_CSI.m')
clone this repository and its dependencies.
!git clone --depth=1 https://github.com/pehses/mapVBVD.git
!git clone --depth=1 https://github.com/praveenivp/DeutMetCon.git
addpath(fullfile(pwd,'mapVBVD'))
addpath(genpath(fullfile(pwd,'DeutMetCon')))
Note that this repository is highly experimental, and for the most part, the code serves as its own documentation. Check out these demos to get a feel for what's going on, and then decide if diving into the code is worth your while.
The data required for all demo scripts can be found in zenodo.org with DOI:10.5281/zenodo.14652737
- Demo 01 [live script][PDF] - CSI phantom data
- Demo 02 [live script][PDF] - ME phantom data
- Demo 03 [live script][PDF] - CSI invivo data
- Demo 04 [live script][PDF] - ME invivo data
- Demo 05 [live script][PDF] - Noise Test to verify
This package has unmodified/modified code from other sources.
- adaptiveCombine.m is from University of Wuerzburg, Germany
- wsvd coil combine is from Chris Rodgers, University of Oxford, 2014.
- noise decorrelation: ismrm_sunrise_matlab
- some plot utilies are taken from matlab file exchange.
The external softwares are bundled togther for easy testing of this repository. Please contact me if it violates any copyright.
- IDEAL : Reeder SB, Wen Z, Yu H, et al. Multicoil Dixon chemical species separation with an iterative least-squares estimation method. Magn Reson Med. 2004;51(1):35-45. doi:10.1002/mrm.10675
- AMARES : Vanhamme L, van den Boogaart A null, Van Huffel S null. Improved method for accurate and efficient quantification of MRS data with use of prior knowledge. J Magn Reson. 1997;129(1):35-43. doi:10.1006/jmre.1997.1244
- adaptive coil combine: Walsh DO, Gmitro AF, Marcellin MW. Adaptive reconstruction of phased array NMR imagery. US Patent 6,160,398. 2000;690:682-690.
- WSVD coil combine: Rodgers CT, Robson MD. Receive array magnetic resonance spectroscopy: Whitened singular value decomposition (WSVD) gives optimal Bayesian solution. Magnetic Resonance in Medicine. 2010;63(4):881-891. doi:10.1002/mrm.22230
If you find this helpful for your work, please cite
to be added later!
Comments and feedback to Praveen(praveen.ivp@gmail.com)