fn apply_operator(
ws: &mut Ws,
d_kernel: &[f32],
wf2: &[f32],
wr2: &[f32],
mmx: &[f32],
mmy: &[f32],
mmz: &[f32],
mrx: &[f32],
mry: &[f32],
mrz: &[f32],
vr_tot: &[f32],
vr_pos: &[f32],
vr_neg: &[f32],
lambda1: f32,
field_w: f32,
cf_ppm: f32,
dr_p: f32,
dr_q: f32,
mask: &[u8],
dx: &[f32],
out: &mut [f32],
stage: &mut [f32],
)Expand description
Apply the Gauss-Newton operator to dx = [d+; d−]:
A± = 2λ1·TVtot(d+ + d−) + λ1·TV±(d±) + (2π)²·cf²·Dᴴ Wf² D (d+ + d−)
± Dr,± · Wr² · (Dr,pos·d+ − Dr,neg·d−)