Skip to main content

nltv

Function nltv 

Source
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 ROI
  • nx, ny, nz - Array dimensions
  • vsx, vsy, vsz - Voxel sizes in mm
  • bdir - B0 field direction
  • lambda - Regularization parameter (typically 1e-3)
  • mu - Reweighting parameter for nonlinearity (typically 1.0)
  • tol - Convergence tolerance
  • max_iter - Maximum ADMM iterations
  • newton_iter - Reweighting updates (inner Newton-like iterations)

§Returns

Susceptibility map