pub fn nltv(
local_field: &[f64],
mask: &[u8],
nx: usize,
ny: usize,
nz: usize,
vsx: f64,
vsy: f64,
vsz: f64,
bdir: (f64, f64, f64),
lambda: f64,
mu: f64,
tol: f64,
max_iter: usize,
newton_iter: usize,
) -> Vec<f64>Expand description
NLTV dipole inversion using iteratively reweighted ADMM
§Arguments
local_field- Local field values (nx * ny * nz)mask- Binary mask (nx * ny * nz), 1 = inside ROInx,ny,nz- Array dimensionsvsx,vsy,vsz- Voxel sizes in mmbdir- B0 field directionlambda- Regularization parameter (typically 1e-3)mu- Reweighting parameter for nonlinearity (typically 1.0)tol- Convergence tolerancemax_iter- Maximum ADMM iterationsnewton_iter- Reweighting updates (inner Newton-like iterations)
§Returns
Susceptibility map