Skip to main content

artefact_solve_single

Function artefact_solve_single 

Source
fn artefact_solve_single(
    n: [usize; 3],
    x1: &[f64],
    m: &[f64],
    gw: &[Vec<f64>],
    dk: &[f64],
    tol: f64,
    max_iter: usize,
) -> (Vec<f64>, LsqrOutcome)
Expand description

Step 6 of ilsqr as STI computes it (IlsqrPrecision::Single): the right-hand side G ∇(M·Re χ₁) in double, rounded to single; the operator y ↦ G ∇(√N F⁻¹(M_ic y)) and its adjoint r ↦ M_ic F(∇ᴴ(G r)) / √N in single precision, on dense vectors (the unknown over the whole k-space grid, the residual over three whole image grids); MATLAB’s lsqr on single data. Returns Re F⁻¹(M_ic y) in double (the artefacts divided by √N), as artefact_solve does.