Expand description
χ-separation via the original Shin 2021 projected-CG algorithm.
Faithful implementation of the algorithm in the Supplementary Methods of
Shin et al. 2021 (the SNU-LIST toolbox ships it compiled as chi_sep_iLSQR.p
/ chi_sep_MEDI.p, so this is a paper-based port). The minimization is
argmin_{χ+, χ−} ‖ Wr·{R2' − (Dr,pos·|χ+| + Dr,neg·|χ−|)}
+ i·2π·Wf·{f − Df ∗ (χ+ + χ−)} ‖₂² + reg(χ+, χ−)
subject to χ+ ≥ 0, χ− ≤ 0where Wf is an SNR weight from the GRE magnitude and Wr = Wf/10 where
R2’ is unreliable (R2’ > 30 Hz or < 1 Hz). Because the R2’ term is real and
the field term imaginary, the complex norm decouples into two independent
least-squares terms; with the sign constraints enforced (|χ+| = χ+,
|χ−| = −χ−) both are linear in (χ+, χ−). The regularization is edge-masked
L1 total variation (MEDI-style, IRLS-linearized here):
reg = 2λ1‖M_Mag ∇(χ+ + χ−)‖₁ + λ1‖M_R2' ∇χ+‖₁ + λ1‖M_R2' ∇χ−‖₁with M_Mag a binary edge mask from the magnitude and M_R2' one from the
R2’ map. The solution is initialized from the voxelwise 2×2 system
{Dr,pos·χ+ − Dr,neg·χ− = R2', χ+ + χ− = χ_QSM} using a conventional QSM
reconstruction — the toolbox’s chi_sep_iLSQR name refers to feeding it an
iLSQR QSM ([crate::inversion::ilsqr]); per the QSM-CI diagnostic the QSM
must be reconstructed from the same local field with matching conventions,
not supplied externally. Iteration is Gauss-Newton/CG with sign projection
each step; it stops when ‖χⁿ⁺¹ − χⁿ‖/‖χⁿ‖ < tol on χ_total or at max_iter.
Reference: Shin, H., et al. (2021). “χ-separation: Magnetic susceptibility source separation toward iron and myelin mapping in the brain.” NeuroImage, 240:118371 (Supplementary Methods, “Algorithm for χ-separation”).
Structs§
- ChiSep
Ilsqr Params - Parameters for
chi_sep_ilsqr. - Ws 🔒
- Shared buffers for the operator applications (all length n unless noted).
Constants§
- TWO_PI 🔒
Functions§
- apply_
operator 🔒 - Apply the Gauss-Newton operator to
dx = [d+; d−]: - cg_
solve 🔒 - Standard CG on the doubled system.
- chi_
sep_ ilsqr - χ-separation (Shin 2021, projected Gauss-Newton/CG).
- chi_
sep_ 🔒ilsqr_ core - irls_
weights 🔒 - IRLS weights Vr = 1/sqrt(|M·∇χ|² + eps) for one TV term.