Specialized tools for MRI
Author korbinian90
19 Stars
Updated Last
5 Months Ago
Started In
February 2019


Dev Build Status Codecov


A Julia installation v1.3 or higher is required. To get the newest version of this package, Julia v1.6 LTS 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.8) pkg> add MriResearchTools
(v1.8) pkg> # type backspace to get back to the julia REPL

Quick Start

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)
# unwrap
unwrapped = romeo(phase; mag=mag, TEs=TEs)
# save unwrapped image
outputfolder = "outputFolder"
savenii(unwrapped, "unwrapped", outputfolder, header(phase))

Included Functionality

Function Reference:

ROMEO 3D/4D Phase Unwrapping
romeo unwrap unwrap_individual romeovoxelquality mask_from_voxelquality

QSM 3D/4D QSM (experimental stage) qsm_average qsm_B0 qsm_laplacian_combine qsm_romeo_B0 qsm_mask_filled

Laplacian unwrapping

MCPC-3D-S multi-echo coil combination

Reading, writing and other functions for NIfTI files (adapted from JuliaIO/NIfTI)
readphase readmag niread savenii header write_emptynii

Magnitude homogeneity correction (example)

robustmask phase_based_mask

Combine multiple coils or echoes (magnitude only)

Unwarping of B0 dependent shifts
getVSM thresholdforward unwarp

Fast gaussian smoothing for real, complex data and phase (via complex smoothing)
gaussiansmooth3d gaussiansmooth3d_phase

  • standard
  • weighted
  • with missing values
  • optional padding to avoid border effects

Fast numeric estimation of T2* and R2*
NumART2star r2s_from_t2s

Other functions
robustrescale getHIP getsensitivity getscaledimage estimatequantile estimatenoise

Methods are implemented from these Publications


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.


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.

Homogeneity Correction

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. 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.

NumART2* - fast T2* and R2* fitting

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.


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.


This project is licensed under the MIT License - see the LICENSE for details