.. _supportedmodels-MCRMWI: .. role:: raw-html(raw) :format: html MCRMWI ====== Multi-compartment relaxometry for (diffusion informed) myelin water imaging (MCR-MWI). gpuMCRMWI --------- Usage ^^^^^ .. code-block:: obj = gpuMCRMWI(te,tr,fa,fixed_params); [out] = obj.estimate( data, mask, extraData, fitting); Model parameters ^^^^^^^^^^^^^^^^ .. code-block:: % S0 : T1w signal [a.u.] % MWF : myelin water fraction [0,1] % IWF : intracellular volume ratio (=Vic or ICVF in DWI) [0,1] % R2sMW : R2* MW [1/s] % R2sIW : R2* IW [1/s] % R2sEW : R2* EW [1/s] % freqMW : frequency MW [ppm] % freqIW : frequency IW [ppm] % dfreqBKG : background frequency in addition to the one provided [ppm] % dpini : B1 phase offset in addition to the one provided [rad] model_params = { 'S0'; 'MWF'; 'IWF'; 'R1IEW'; 'kIEWM'; 'R2sMW';'R2sIW';'R2sEW'; 'freqMW';'freqIW';'dfreqBKG';'dpini'}; ub = [ 2; 0.3; 1; 2; 10; 200; 50; 50; 0.25; 0.05; 0.4; pi/2]; lb = [ 0; 0; 0; 0.25; 0; 50; 2; 2; -0.05; -0.1; -0.4; -pi/2]; startpoint = [ 1; 0.1; 0.8; 1; 0; 100; 15; 21; 0.04; 0; 0; 0]; I/O overview ------------ ``obj = gpuMCRMWI(te,tr,fa,fixed_params);`` +---------------------------+--------------------------------------------------------------------------------------------------------------+ | Input | Description | +===========================+==============================================================================================================+ | te | 1xNte echo time [s] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | tr | repetition time [s] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fa | 1xNfa flip angle vector [degree] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params | parameters to be fixed (Optional) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.x_i | isotropic susceptibility of myelin [ppm], default = 0.1 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.x_a | anisotropic susceptibility of myelin [ppm], default = 0.1 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.E | exchange induced frequency shift [ppm], default = 0.02 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.rho_mw | myelin water proton ratio, default = 0.4186 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.B0 | main magnetic field strength [T], default = 3 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.B0_dir | main magnetic field direction, [x,y,z], default = [0;0;1] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fixed_params.t1_mw | myelin (water) T1 [s], default = 234e-3 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ ``[out] = obj.estimate( data, mask, extraData, fitting);`` +---------------------------+--------------------------------------------------------------------------------------------------------------+ | Input | Description | +===========================+==============================================================================================================+ | data | 5D MRI data, [x,y,z,t,fa] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | mask | 3D mask, [x,y,z] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData | Structure array with additional data | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.b1 | 3D B1+ map [ratio], [x,y,z] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.freqBKG | 3D/4D initial estimation of total field [Hz] (highly recommended), [x,y,z,fa] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.pini | 3D initial estimation of B1 offset [rad] (highly recommended), [x,y,z] | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.ff | 3D/4D fibre fraction map, [x,y,z,Nfibre] (for DIMWI only) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.theta | 3D/4D angle between B0 and fibre orientation, [x,y,z,Nfibre] (for DIMWI only) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.fo | 4D/5D fibre orientation vector map, [x,y,z,Nfibre,3] (for DIMWI only) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | extraData.IWF | 3D volume fraction Intracellular/(Intracellular+extracellular), [x,y,z] (for DIMWI only) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting | Structure array for model parameter estimation | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.optimiser | Algorithm for parameter update, 'adam' (default) | 'sgdm' | 'rmsprop' | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.isdisplay | boolean, display optimisation process in graphic plot | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.convergenceValue | tolerance in loss gradient to stop the optimisation | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.convergenceWindow | # of elements in which 'convergenceValue' is computed | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.iteration | maximum # of optimisation iterations | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.initialLearnRate | initial learn rate of Adam optimiser | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.tol | tolerance in loss | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.lambda | regularisation parameter(s) | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.regmap | model parameter(s) in which regularisation is applied, | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.TVmode | Mode for total variation (TV) regularisation, '2D' | '3D' | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.lossFunction | loss function, 'L1' | 'L2' | 'huber' | 'mse' | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.isWeighted | is cost weighted, true|false, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.weightMethod | Weighting method, '1stecho' (default) | 'norm' | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.weightPower | power order of the weight, default = 2 | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.isFitExchange | exchange is a free parameter, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.isEPG | use EPG-X signal instead of BM analytical solution for exchange, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.DIMWI | Structure variable for DIMWI options | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.DIMWI.isFitIWF | 'IWF' is a free parameter, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.DIMWI.isFitFreqMW | Myelin water frequency is a free parameter, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.DIMWI.isFitFreqIW | Intracellular water frequency is a free parameter, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+ | fitting.DIMWI.isFitR2sEW | Extracellular water R2* is a free parameter, default = true | +---------------------------+--------------------------------------------------------------------------------------------------------------+