Expand description
ROMEO weight calculation for phase unwrapping
Calculates edge weights for region-growing phase unwrapping based on:
- Phase coherence
- Phase gradient coherence (multi-echo)
- Magnitude coherence
- Magnitude weights
Reference: Dymerska, B., Eckstein, K., Bachrata, B., Siow, B., Trattnig, S., Shmueli, K., Robinson, S.D. (2021). “Phase unwrapping with a rapid opensource minimum spanning tree algorithm (ROMEO).” Magnetic Resonance in Medicine, 85(4):2294-2308. https://doi.org/10.1002/mrm.28563
Reference implementation: https://github.com/korbinian90/MriResearchTools.jl
Structs§
- Romeo
Params - Parameters for ROMEO phase unwrapping.
Enums§
- Romeo
Weight Type - Weight calculation scheme for ROMEO unwrapping.
Constants§
- TWO_PI 🔒
Functions§
- calculate_
weights_ bestpath - Calculate BestPath edge weights.
- calculate_
weights_ romeo - Calculate ROMEO edge weights for phase unwrapping.
- calculate_
weights_ romeo_ configurable - Calculate ROMEO edge weights with configurable weight components.
- calculate_
weights_ romeo_ with_ flags - Calculate ROMEO edge weights with full 6-component flag control.
- calculate_
weights_ single_ echo - Simplified weight calculation for single-echo data (no phase2)
- compute_
weights_ 🔒from_ params - Compute weights from params (dispatches BestPath vs ROMEO).
- correct_
global_ 🔒offset - Correct global 2π offset for a single 3D volume.
- correct_
multi_ echo_ wraps - Correct global 2π offsets between echoes using median wrap counting.
- correct_
regions 🔒 - Correct each region’s median to nearest 0 by subtracting n·2π.
- find_
seed_ point - Find a seed point at the center of mass of the mask.
- idx3d 🔒
- Index into a 3D array in Fortran order (column-major, matches NIfTI)
- merge_
regions_ 🔒post - Merge adjacent regions by computing inter-region phase offsets.
- percentile_
95 🔒 - Compute 95th percentile of magnitude within mask (matching ROMEO.jl).
- phase_
linearity_ 🔒edge - Phase linearity for an edge between two voxels.
- phase_
linearity_ 🔒triplet - Phase linearity of three consecutive phase values.
- rescale_
weight 🔒 - Rescale weight from [0,1] to u8 [1,255], with 0 = invalid.
- temporal_
uncertain_ 🔒rewrap - Re-unwrap voxels that are uncertain after temporal unwrapping.
- unwrap_
individual 🔒 - Individual multi-echo unwrapping.
- unwrap_
romeo - Unwrap a single 3D phase volume using ROMEO.
- unwrap_
romeo_ multi_ echo - Unwrap 4D multi-echo phase data using ROMEO.
- unwrap_
template 🔒 - Template-based multi-echo unwrapping.
- unwrap_
voxel 🔒 - Temporal unwrap: remove 2π wraps by comparing to a reference value.
- voxel_
quality_ romeo - Calculate per-voxel quality map from ROMEO edge weights
- wrap_
angle 🔒 - Wrap angle to [-π, π]