A Julia installation v1.3 or higher is required. To get the newest version of this package, Julia v1.7 or newer is recommended.
Magnitude and Phase images in NIfTI fileformat (4D images with echoes in the 4th dimension, 5D images with channels in the 5th dimension)
Open the Julia REPL and type
julia> ] # enter julia package manager
(v1.11) pkg> add MriResearchTools
(v1.11) pkg> # type backspace to get back to the julia REPL
julia>
Open multi-echo 4D NIfTI phase and magnitude files and perform ROMEO phase unwrapping.
using MriResearchTools
# input images
TEs = [4,8,12]
nifti_folder = joinpath("test", "data", "small")
magfile = joinpath(nifti_folder, "Mag.nii") # Path to the magnitude image in nifti format, must be .nii or .hdr
phasefile = joinpath(nifti_folder, "Phase.nii") # Path to the phase image
# load images
mag = readmag(magfile)
phase = readphase(phasefile; fix_ge=true) # fix_ge=true only for GE data with corrupted phase
# unwrap
unwrapped = romeo(phase; mag=mag, TEs=TEs)
# save unwrapped image
outputfolder = "outputFolder"
mkpath(outputfolder)
savenii(unwrapped, "unwrapped", outputfolder, header(phase))
Function Reference: https://korbinian90.github.io/MriResearchTools.jl/dev
ROMEO 3D/4D Phase Unwrapping
romeo
unwrap
unwrap_individual
romeovoxelquality
mask_from_voxelquality
calculateB0_unwrapped
get_B0_snr
Laplacian unwrapping
laplacianunwrap
MCPC-3D-S multi-echo coil combination
mcpc3ds
MCPC-3D-S phase offset removal of multi-echo, multi-timepoint data
mcpc3ds_meepi
Reading, writing and other functions for NIfTI files (adapted from JuliaIO/NIfTI)
readphase
readmag
niread
savenii
header
write_emptynii
Magnitude homogeneity correction (example)
makehomogeneous
Masking
robustmask
phase_based_mask
Combine multiple coils or echoes (magnitude only)
RSS
Unwarping of B0 dependent shifts
getVSM
thresholdforward
unwarp
Fast gaussian smoothing for real, complex data and phase (via complex smoothing)
gaussiansmooth3d
gaussiansmooth3d_phase
Fast numeric estimation of T2 and R2
NumART2star
r2s_from_t2s
QSM integration with single-echo / multi-echo data (experimental stage)
qsm_average
qsm_B0
qsm_laplacian_combine
qsm_romeo_B0
qsm_mask_filled
Needs the command using QuantitativeSusceptibilityMappingTGV
for the TGV QSM backend or using QSM
to load the QSM.jl (rts default) backend.
Other functions
robustrescale
getHIP
getsensitivity
getscaledimage
estimatequantile
estimatenoise
Dymerska, B., Eckstein, K., Bachrata, B., Siow, B., Trattnig, S., Shmueli, K., Robinson, S.D., 2020. Phase Unwrapping with a Rapid Opensource Minimum Spanning TreE AlgOrithm (ROMEO). Magnetic Resonance in Medicine. https://doi.org/10.1002/mrm.28563
Eckstein, K., Dymerska, B., Bachrata, B., Bogner, W., Poljanc, K., Trattnig, S., Robinson, S.D., 2018. Computationally Efficient Combination of Multi-channel Phase Data From Multi-echo Acquisitions (ASPIRE). Magnetic Resonance in Medicine 79, 2996–3006. https://doi.org/10.1002/mrm.26963
Eckstein, K., Trattnig, S., Robinson, S.D., 2019. A Simple Homogeneity Correction for Neuroimaging at 7T, in: Proceedings of the 27th Annual Meeting ISMRM. Presented at the ISMRM, Montréal, Québec, Canada. https://index.mirasmart.com/ISMRM2019/PDFfiles/2716.html Eckstein, K., Bachrata, B., Hangel, G., Widhalm, G., Enzinger, C., Barth, M., Trattnig, S., Robinson, S.D., 2021. Improved susceptibility weighted imaging at ultra-high field using bipolar multi-echo acquisition and optimized image processing: CLEAR-SWI. NeuroImage 237, 118175. https://doi.org/10.1016/j.neuroimage.2021.118175
Hagberg, G.E., Indovina, I., Sanes, J.N., Posse, S., 2002. Real-time quantification of T2* changes using multiecho planar imaging and numerical methods. Magnetic Resonance in Medicine 48(5), 877-882. https://doi.org/10.1002/mrm.10283
Hagberg, G.E., Eckstein, K., Tuzzi, E., Zhou, J., Robinson, S.D., Scheffler, K., 2022. Phase-based masking for quantitative susceptibility mapping of the human brain at 9.4T. Magnetic Resonance in Medicine. https://doi.org/10.1002/mrm.29368
This project is licensed under the MIT License - see the LICENSE for details