https://github.com/MagneticResonanceImaging/MRIFieldmaps.jl
This Julia language repo provides methods for regularized estimation of fieldmaps in MRI.
Currently there are methods for B0 fieldmap estimation from a water-only image signal model, or from a water-fat model with 1 or more lipid peaks.
using Pkg
Pkg.add("MRIFieldmaps")
For examples, see the documentation.
images = ... # complex images of size (nx, ny, ..., ncoil, nechotime)
images = ComplexF32.(imges) # 32-bit floats saves memory and thus time
echotime = [0, 2] * 1f-3 # echo times in seconds
b0fieldmap, _, _ = b0map(images, echotime) # regularized fieldmap in Hz
The algorithm in function b0map
for B0 field map estimation is based on the paper:
C Y Lin, J A Fessler,
"Efficient Regularized Field Map Estimation in 3D MRI", IEEE TCI 2020
[http://doi.org/10.1109/TCI.2020.3031082]
[http://arxiv.org/abs/2005.08661]
Please cite this paper if you use this method.
The internal algorithm details are a bit different (and faster) because here we perform coil combination before starting the iterations, whereas the original Matlab code had loops over coils within each iteration.
Tested with Julia ≥ 1.10.
-
https://github.com/ClaireYLin/regularized-field-map-estimation
-
https://github.com/korbinian90/ROMEO.jl phase unwrapping tools that may be helpful for initialization