Skip to content
Snippets Groups Projects
Commit d6b041f8 authored by Stephan Hilb's avatar Stephan Hilb
Browse files

fix: use global coordinate for evaluation of expressions

parent 04135472
No related branches found
No related tags found
No related merge requests found
......@@ -77,7 +77,7 @@ function step!(ctx::L1L2TVContext)
gamma1 = ctx.gamma1
gamma2 = ctx.gamma2
function du_a(x, du, nabladu, phi, nablaphi; g, u, nablau, p1, p2, tdata)
function du_a(x_, du, nabladu, phi, nablaphi; g, u, nablau, p1, p2, tdata)
m1 = max(gamma1, norm(T(tdata, u) - g))
cond1 = norm(T(tdata, u) - g) > gamma1 ?
dot(T(tdata, u) - g, T(tdata, du)) / norm(T(tdata, u) - g)^2 * p1 :
......@@ -98,7 +98,7 @@ function step!(ctx::L1L2TVContext)
return a1 + a2 + aB
end
function du_l(x, phi, nablaphi; g, u, nablau, p1, p2, tdata)
function du_l(x_, phi, nablaphi; g, u, nablau, p1, p2, tdata)
aB = alpha2 * dot(T(tdata, u), T(tdata, phi)) +
beta * dot(S(u, nablau), S(phi, nablaphi))
m1 = max(gamma1, norm(T(tdata, u) - g))
......@@ -119,7 +119,7 @@ function step!(ctx::L1L2TVContext)
# solve dp1
function dp1_update(x; g, u, p1, du, tdata)
function dp1_update(x_; g, u, p1, du, tdata)
m1 = max(gamma1, norm(T(tdata, u) - g))
cond = norm(T(tdata, u) - g) > gamma1 ?
dot(T(tdata, u) - g, T(tdata, du)) / norm(T(tdata, u) - g)^2 * p1 :
......@@ -130,7 +130,7 @@ function step!(ctx::L1L2TVContext)
ctx.g, ctx.u, ctx.p1, ctx.du, ctx.tdata)
# solve dp2
function dp2_update(x; u, nablau, p2, du, nabladu)
function dp2_update(x_; u, nablau, p2, du, nabladu)
m2 = max(gamma2, norm(nablau))
cond = norm(nablau) > gamma2 ?
dot(nablau, nabladu) / norm(nablau)^2 * p2 :
......@@ -182,7 +182,7 @@ end
function estimate!(ctx::L1L2TVContext)
huber(x, gamma) = abs(x) < gamma ? x^2 / (2 * gamma) : abs(x) - gamma / 2
function estf(x; g, u, p1, p2, nablau, w, nablaw, tdata)
function estf(x_; g, u, p1, p2, nablau, w, nablaw, tdata)
alpha1part = iszero(ctx.alpha1) ? 0. : ctx.alpha1 * (
huber(norm(ctx.T(tdata, u) - g), ctx.gamma1) +
dot(ctx.T(tdata, u) - g, p1 / ctx.alpha1) +
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment