Expand description
HC-ChiSep: hollow-cylinder χ-separation with signal-derived fiber orientation.
HC-ChiSep separates paramagnetic (χ+, iron) and diamagnetic (χ−, myelin) susceptibility from a conventional QSM (χ_total), an R2’ map, and multi-echo GRE magnitude — deriving white-matter fibre orientation from the magnitude’s multi-compartment interference pattern (Wharton & Bowtell hollow-cylinder model) rather than requiring DTI.
The pipeline (headline mode) is:
- Dr+ self-calibration — the paramagnetic relaxivity is estimated from the
5th percentile of
R2'/χ_totalover confidently-paramagnetic voxels, falling back to the field-scaled empirical137·B0/3Hz/ppm. - Closed-form two-source solve —
χ+ = R2'/Dr+,χ− = χ+ − χ_total(Ridani convention: no diamagnetic relaxivity outside myelinated WM), clamped to keep χ+ ≥ 0, |χ−| ≥ 0. This is the non-WM branch. - WM-likeness (beat) weighting — a soft weight
wfrom a hollow-cylinder vs mono-exponential model-selection test on the magnitude decay, gated by χ_total sign. Voxels whose magnitude shows the multi-compartment “beat” and are diamagnetic-leaning getw → 1. - θ + MWF grid fit — for supported voxels, fibre angle θ and myelin-water fraction (MWF) are found by an R2’-anchored grid search over the hollow- cylinder magnitude library, then spatially regularised.
- Separation — in WM, |χ−| = K_χ·MWF (myelin-content ↔ MWF anchor,
0.038 ppm ↔ MWF 0.12), χ+ = χ_total + |χ−| shrunk toward a self-calibrated
median; the two branches are blended by
w.
All the reference’s env-gated optional regularisers (TV/guided joint inversion, R2’ denoise, hard constraint) are off in headline mode and are omitted here.
Inputs are in the project’s standard units — χ_total in ppm, R2’ in Hz, TE in seconds, B0 in Tesla — and outputs follow the χ-separation sign convention (χ+ ≥ 0, χ− ≤ 0, χ_total = χ+ + χ−).
Reference: Wharton, S. & Bowtell, R. (2012). “Fiber orientation-dependent white matter contrast in gradient echo MRI.” PNAS 109(45):18559-18564. HC-ChiSep is the QSM-CI submission building on this biophysical model.
Structs§
- Anchored
Fitter 🔒 - Precomputed hollow-cylinder magnitude library over the (θ, MWF) grid.
- HcChisep
Params - Parameters for
hc_chisep.
Constants§
- CHI_A 🔒
- CHI_
GATE_ 🔒C - CHI_
GATE_ 🔒S - CHI_I 🔒
- CHI_
NEG_ 🔒REF - E_EXCH 🔒
- F_AXON 🔒
- GAMMA_
BAR 🔒 - Reduced gyromagnetic ratio (Hz/T) used by the hollow-cylinder model.
- G_RATIO 🔒
- K_CHI 🔒
K_χ: ppm of |χ−| per unit MWF (= CHI_NEG_REF / MWF_REF).- LAM 🔒
- MWF_MAX 🔒
- MWF_MIN 🔒
- MWF_REF 🔒
- NCONV_
SIGMA 🔒 - NM 🔒
- NO_
BEAT_ 🔒FRAC - NT 🔒
- SMOOTH_
CLS 🔒 - SMOOTH_
FIT 🔒 - T2_A 🔒
- T2_E 🔒
- T2_M 🔒
- W_
CENTER 🔒 - W_SCALE 🔒
- W_
SUPPORT 🔒
Functions§
- finish 🔒
- Emit the closed-form branch as the final result (χ+ ≥ 0, χ− ≤ 0 signed).
- gather_
normalised 🔒 - Gather
(len, E)first-echo-normalised signals for the given voxel indices from an echo-major volume stackstack[e*n + i]. - gaussian_
filter_ 🔒3d - 3D separable Gaussian filter, scipy
gaussian_filtersemantics:reflectboundary,truncate = 4.0. - hc_
chisep - HC-ChiSep source separation from a QSM, an R2’ map and multi-echo magnitude.
- hc_
compartment_ 🔒freqs - Compartment frequencies (Hz) for fibre-to-B0 angle
theta(radians). Returns(Δf_myelin, Δf_axon, Δf_extra); extra-axonal is exactly 0. - hc_
wm_ 🔒r2prime - Mono-exp-equivalent reversible rate the beat itself contributes (Hz):
weighted-LS slope of
log(|GRE|/SE)vs centred TE, negated and clamped ≥ 0. - hc_
wm_ 🔒se_ signal - Spin-echo WM magnitude factor (offsets refocused → real pool-T2 mixture).
- hc_
wm_ 🔒signal_ mag - |complex hollow-cylinder GRE magnitude| at echo time
te(s), angletheta(rad), myelin-water fractionmwf, and mesoscopic reversible rater2p_meso. - median 🔒
- median_
filter_ 🔒3 - 3D median filter with a 3×3×3 window (scipy
median_filtersize 3,reflect). - mono_
sse 🔒 - Mono-exponential fit SSE for one voxel’s first-echo-normalised signal.
- percentile 🔒
- numpy-style linear-interpolation percentile (
qin [0, 100]). - reflect_
index 🔒 - Reflect an index into
[0, len)using scipy’sreflectmode (edge repeated). - smooth_
stack 🔒 - Smooth each echo of an echo-major stack
stack[e*n + i]by a 3D Gaussian. - to_
echo_ 🔒major - Convert a voxel-major multi-echo stack
vm[i*ne + e]to echo-major (contiguous per-echo volumes)em[e*n + i]. - volmap 🔒
- Scatter per-voxel values back into a full volume, filling the rest with
fill.