Skip to main content

sti_kernel

Function sti_kernel 

Source
fn sti_kernel(n: [usize; 3], vs: [f64; 3], bdir: (f64, f64, f64)) -> Vec<f64>
Expand description

STI’s dipole kernel (calcD2Matrix) in unshifted order: D = 1/3 − (k·H)²/|k|², 0 at k = 0, with k_d = f/(n_d·vs_d) for the signed frequency index f (−n/2 at Nyquist) and H normalised.

It is dipole_kernel’s formula, but evaluated the way STI does, bit for bit: k by division rather than by multiplying with 1/(n·vs). The two differ in the last bit of k on anisotropic grids, which flips the sign of D at k-space points exactly on the magic-angle cone, and the initial guess’s ±1/0.065 with it (a 3e-6 relative change in χ on the 0.8×0.9×1.5 mm phantom).