QuantitativeMRI

Documentation for QuantitativeMRI.

QuantitativeMRI.MESE_EPGMethod
MESE_EPG(T2,T1,delta,TE,ETL)

Calculate EPG amplitudes of echos for a standard Multi-echo Spin-echo sequence (same TE / refoc pulse along the echo train):

  • T2
  • T1
  • delta : delta B1 [0-1]
  • TE
  • ETL : Echo train length
source
QuantitativeMRI.T1maps_mp2rageMethod

T1maps_mp2rage(T1map::Array{T},lookUpTable::AbstractVector, T1Range::AbstractVector) where T<:Real

Generates the MP2RAGE / UNI images from the T1 maps. Compute Lookup table from MP2RAGE parameters.

keywords radial = false means that only the central echo is used to compute the signal (standard method for cartesian acquisition) If radial = true, all the echoes are sum.

Arguments

  • T1map::Array{T}
  • lookUpTable::AbstractVector
  • T1Range::AbstractVector

Returns

  • MP2
  • T1Range
  • lookUpTable
source
QuantitativeMRI.T1maps_mp2rageMethod

T1maps_MP2RAGE(T1map::Array{T},p::ParamsMP2RAGE;T1Range=1:10000,effInv = 0.96,radial=false) where T<:Real

Generates the MP2RAGE / UNI images from the T1 maps. Compute Lookup table from MP2RAGE parameters.

keywords radial = false means that only the central echo is used to compute the signal (standard method for cartesian acquisition) If radial = true, all the echoes are sum.

Arguments

  • T1map::Array{T}
  • p::ParamsMP2RAGE

Keywords

  • T1Range = 1:10000
  • effInv = 0.96
  • radial = false

Returns

  • MP2
  • T1Range
  • lookUpTable
source
QuantitativeMRI.T2Fit_EpgNoiseMethod
T2Fit_EpgNoise(ima::Array{T,4}, T1,TE,ETL,x0::Vector{Float64}) where T<:Real

Fit the relaxation parameters T2 of a Multi-Spin Multi-Echo sequence with constant $\Delta TE$ and refocusing pulse. EPG is computed with MRIReco functions. In order to compute the gaussian noise standard deviation you need to know the number of coils l and apply the following equation :

$\sigma_g = \frac{\sigma}{\sqrt{2L}}$

Arguments

  • ima::Array{T,N}: image where the echoes are in the last dimension
  • t::Union{Vector{<:Real},StepRange{<:Real,<:Real}}: times vector in ms
  • T1: T1 relaxation time
  • TE: Echo Time
  • ETL: Echo Train Length

Keywords

Returns fitted maps with format (x,y,z, M0,T2,delta (b1), Noise)

Bibliography

Noise

  • Cárdenas-Blanco A, Tejos C, Irarrazaval P, Cameron I. Noise in magnitude magnetic resonance images. Concepts Magn Reson Part A [Internet]. 2008 Nov;32A(6):409–16. Available from: http://doi.wiley.com/10.1002/cmr.a.20124
  • Feng Y, He T, Gatehouse PD, Li X, Harith Alam M, Pennell DJ, et al. Improved MRI R 2 * relaxometry of iron-loaded liver with noise correction. Magn Reson Med [Internet]. 2013 Dec;70(6):1765–74. Available from: http://doi.wiley.com/10.1002/mrm.24607

EPG

  • MRIReco.jl implementation
source
QuantitativeMRI.T2Fit_ExpMethod
T2Fit_Exp(ima::Array{T,N},t::AbstractVector{T},p0=nothing) where {T<:Real,N}

Fit the relaxation parameters T2 with the equation : $S(t) = M_0 \exp(-\frac{t}{T2})$.

Arguments

  • ima::Array{T,N}: image with dimension [x,...,t]. Last dimensions -> temporal dimension
  • t::AbstractVector{<:Real}: times vector in ms
  • p0=nothing: starting values for fit, if empty p0=[maximum(ima),30]

Keywords

  • removePoint::Bool=true: remove the first point before fitting

Returns

  • fit_params : parameter maps
    • M₀ maps (no unit)
    • T₂ maps (ms)
source
QuantitativeMRI.T2Fit_ExpNoiseMethod
T2Fit_ExpNoise(ima::Array{T,N},t::AbstractVector{<:Real},p0=nothing; kwargs...) where {T<:Real,N}

Fit the relaxation parameters T2 with the equation : $S(t) = \sqrt{(M_0 \exp(-\frac{t}{T2}))^2 + 2 L \sigma_g^2}$ where L est le nombre de canaux, et $\sigma_g$ le bruit gaussien sur les image

Arguments

  • ima::Array{T,N}: image with dimension [x,...,t]. Last dimensions -> temporal dimension
  • t::AbstractVector{<:Real}: times vector in ms
  • p0=nothing: starting values for fit, if empty p0=[maximum(ima),30,maximum(ima)*0.1]

Keywords

  • removePoint::Bool=true: remove the first point before fitting
  • L::Int=1: Number of coil elements

Returns

  • fit_params : parameter maps
    • M₀ maps (no unit)
    • T₂ maps (ms)
    • Noise maps (no unit)
  • fit_vec : fit objects for each pixels

Bibliography

  • Cárdenas-Blanco A, Tejos C, Irarrazaval P, Cameron I. Noise in magnitude magnetic resonance images. Concepts Magn Reson Part A [Internet]. 2008 Nov;32A(6):409–16. Available from: http://doi.wiley.com/10.1002/cmr.a.20124
  • Feng Y, He T, Gatehouse PD, Li X, Harith Alam M, Pennell DJ, et al. Improved MRI R 2 * relaxometry of iron-loaded liver with noise correction. Magn Reson Med [Internet]. 2013 Dec;70(6):1765–74. Available from: http://doi.wiley.com/10.1002/mrm.24607
source
QuantitativeMRI.mp2rage_T1mapsMethod

mp2rageT1maps(imMP2::Array{T},p::ParamsMP2RAGE;T1Range=1:10000,effInv = 0.96) where T <: Real

Compute Lookup table from MP2RAGE parameters. keywords radial = false means that only the central echo is used to compute the signal (standard method for cartesian acquisition) If radial = true, all the echoes are sum.

Arguments

  • im_MP2::Array{T}
  • p::ParamsMP2RAGE

Keywords

  • T1Range = 1:10000
  • effInv = 0.96
  • radial = false

Returns

  • T1map
  • T1Range
  • lookUpTable

Bibliography

  • Marques JP, Kober T, Krueger G, van der Zwaag W, Van de Moortele P-F, Gruetter R. MP2RAGE, a self bias-field corrected sequence for improved segmentation and T1-mapping at high field. NeuroImage 2010;49:1271–1281 doi: 10.1016/j.neuroimage.2009.10.002.
source
QuantitativeMRI.mp2rage_combMethod
mp2rage_comb(ima::Array{Complex{<:Real}})
mp2rage_comb(ima_magn::Array{<:Real},ima_phase::Array{<:Real})

Combine the image acquired at 2 differents inversion time (TI) in order to create a MP2RAGE image with the following equation. ima could be of any size but the last dimension needs to be the 2 TI.

If magnitude and phase image are passed to the function. It will combine them to create a complex image.

$\text{MP2RAGE} = Re(\frac{ima_{TI_1} \times conj(ima_{TI_2})}{|ima_{TI_1}|^2+|ima_{TI_2}|^2})$

Arguments

  • ima::Array{Complex{<:Real}}: image of any dimension with TI = 2
  • ima_magn::Array{<:Real},: magnitude image of any dimension with TI = 2
  • ima_phase::Array{<:Real},: magnitude image of any dimension with TI = 2

Keywords

Returns

  • MP2RAGE images

Bibliography

  • Marques JP, Kober T, Krueger G, van der Zwaag W, Van de Moortele P-F, Gruetter R. MP2RAGE, a self bias-field corrected sequence for improved segmentation and T1-mapping at high field. NeuroImage 2010;49:1271–1281 doi: 10.1016/j.neuroimage.2009.10.002.
source
QuantitativeMRI.mp2rage_lookuptable_cartesianMethod
mp2rage_lookuptable(p::ParamsMP2RAGE;T1Range=1:0.5:10000,effInv = 0.96)

Compute lookup table according to the MP2RAGE parameters

Arguments

  • p::ParamsMP2RAGE: MP2RAGE parameters structure

Keywords

  • T1Range : T1 range computed
  • effInv : Inversion efficiency of the pulse

Returns

  • lookUpTable (NaN .= 0)

Bibliography

  • Marques JP, Kober T, Krueger G, van der Zwaag W, Van de Moortele P-F, Gruetter R. MP2RAGE, a self bias-field corrected sequence for improved segmentation and T1-mapping at high field. NeuroImage 2010;49:1271–1281 doi: 10.1016/j.neuroimage.2009.10.002.
source
QuantitativeMRI.mp2rage_lookuptable_radialMethod
mp2rage_lookuptable_radial(p::ParamsMP2RAGE;T1Range=1:0.5:10000,effInv = 0.96)

Compute lookup table according to the MP2RAGE parameters summing all the echoesl (mandatory for radial acquisition)

Arguments

  • p::ParamsMP2RAGE: MP2RAGE parameters structure

Keywords

  • T1Range : T1 range computed
  • effInv : Inversion efficiency of the pulse

Returns

  • lookUpTable (NaN .= 0)

Bibliography

  • Marques JP, Kober T, Krueger G, van der Zwaag W, Van de Moortele P-F, Gruetter R. MP2RAGE, a self bias-field corrected sequence for improved segmentation and T1-mapping at high field. NeuroImage 2010;49:1271–1281 doi: 10.1016/j.neuroimage.2009.10.002.
  • Faller TL, Trotier AJ, Miraux S, Ribot EJ. Radial MP2RAGE sequence for rapid 3D T1 mapping of mouse abdomen: application to hepatic metastases. Eur Radiol. 2019 Nov;29(11):5844-5851. doi: 10.1007/s00330-019-06081-3. Epub 2019 Mar 19. PMID: 30888483.
source
QuantitativeMRI.residual_EpgNoiseMethod
residual(x::Vector{<:Real}, ydata::Vector{<:Real},T1,TE,ETL)

x -> Vector of parameter to fit : - x[1] : M0 - x[2] : T2 - x[3] : delta - x[4] : $\sigma$

source