Skip to main content

vsharp_with_radii

Function vsharp_with_radii 

Source
pub(crate) fn vsharp_with_radii(
    field: &[f64],
    mask: &[u8],
    grid: &Grid,
    radii: &[f64],
    deconvolve: Option<f64>,
    ball: VsharpBall,
    progress: impl FnMut(usize, usize),
) -> (Vec<f64>, Vec<u8>)
Expand description

V-SHARP with an explicit list of SMV kernel radii (mm).

Internal entry point; the public vsharp wrapper derives the radii from VsharpParams. deconvolve is the TSVD threshold of the final deconvolution, or None to return the SMV high-passed field undeconvolved. ball picks the SMV kernel and its edge test.

Like QSM.jl’s _sharp! for a radius vector (src/bgremove/sharp.jl, fde4b92), it works in the mask’s bounding box zero-padded for the largest radius (SmvBox), so the deconvolution is periodic on that box as in QSM.jl.