diff --git a/src/run.jl b/src/run.jl index 9fc102f2e9cfddc334b9eb6a33c86aaf0db0524d..fd9e32ddf79d8480fdb7310fd27cfab7a259f430 100644 --- a/src/run.jl +++ b/src/run.jl @@ -3,7 +3,7 @@ export myrun, denoise, inpaint, optflow, solve_primal!, estimate! using LinearAlgebra: norm -struct L1L2TVContext{M,Ttype,Stype} +struct L1L2TVContext{M, Ttype, Stype} name::String mesh::M d::Int # = ndims_domain(mesh) @@ -112,7 +112,8 @@ function step!(ctx::L1L2TVContext) # solve du print("assemble ... ") - A, b = assemble(ctx.du.space, du_a, du_l; ctx.g, ctx.u, ctx.nablau, ctx.p1, ctx.p2, ctx.tdata) + A, b = assemble(ctx.du.space, du_a, du_l; + ctx.g, ctx.u, ctx.nablau, ctx.p1, ctx.p2, ctx.tdata) print("solve ... ") ctx.du.data .= A \ b @@ -124,7 +125,8 @@ function step!(ctx::L1L2TVContext) zero(p1) return -p1 + alpha1 / m1 * (T(tdata, u) + T(tdata, du) - g) - cond end - interpolate!(ctx.dp1, dp1_update; ctx.g, ctx.u, ctx.p1, ctx.du, ctx.tdata) + interpolate!(ctx.dp1, dp1_update; + ctx.g, ctx.u, ctx.p1, ctx.du, ctx.tdata) # solve dp2 function dp2_update(x; u, nablau, p2, du, nabladu) @@ -134,7 +136,8 @@ function step!(ctx::L1L2TVContext) zero(p2) return -p2 + lambda / m2 * (nablau + nabladu) - cond end - interpolate!(ctx.dp2, dp2_update; ctx.u, ctx.nablau, ctx.p2, ctx.du, ctx.nabladu) + interpolate!(ctx.dp2, dp2_update; + ctx.u, ctx.nablau, ctx.p2, ctx.du, ctx.nabladu) # newton update ctx.u.data .+= ctx.du.data @@ -263,7 +266,7 @@ function inpaint(img, imgmask; name, params...) pvd = paraview_collection("$(ctx.name).pvd") pvd[0] = save_inpaint(0) - for i in 1:10 + for i in 1:20 step!(ctx) estimate!(ctx) pvd[i] = save_inpaint(i)