From 9c422a5250052c076da1478f49a53524fb8aba47 Mon Sep 17 00:00:00 2001
From: Stephan Hilb <stephan@ecshi.net>
Date: Wed, 12 Jun 2024 19:55:35 +0200
Subject: [PATCH] add adaptive inpainting example

---
 scripts/run.jl             |  4 +++-
 scripts/run_experiments.jl | 22 ++++++++++++++++------
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/scripts/run.jl b/scripts/run.jl
index 685725c..8c432e9 100644
--- a/scripts/run.jl
+++ b/scripts/run.jl
@@ -21,6 +21,8 @@ end
 function paper2(ctx)
     # comparison: image mesh interpolation methods
     ctx(experiment_image_mesh_interpolation, "image-mesh-interpolation")
-    # comparison: vanilla / warping / adaptive
+    # optflow comparison: vanilla / warping / adaptive
     ctx(experiment_optflow_middlebury_warping_comparison_adaptive, "fem/opticalflow/middlebury_warping_comparison_adaptive")
+    # adaptive inpainting
+    ctx(experiment_inpaint_adaptive, "fem/inpaint_adaptive")
 end
diff --git a/scripts/run_experiments.jl b/scripts/run_experiments.jl
index bfd755b..2bef78c 100644
--- a/scripts/run_experiments.jl
+++ b/scripts/run_experiments.jl
@@ -1448,19 +1448,29 @@ function inpaint(ctx)
     return st
 end
 
-function experiment_inpaint(ctx)
+function experiment_inpaint_adaptive(ctx)
     g_arr = loadimg(joinpath(ctx.indir, "input.png"))
     mask_arr = loadimg(joinpath(ctx.indir, "mask.png"))
     mesh = init_grid(g_arr;)
 
-    inpaint(Util.Context(ctx; name = "test",
-        S = Operators.SIdentity,
+    params = (
+        name = "test",
         n_refine = 5,
         g_arr, mask_arr, mesh,
-        alpha1 = 0., alpha2 = 50., lambda = 1., beta = 1e-5,
+        #alpha1 = 0.2, alpha2 = 8., lambda = 1.,
+        alpha1 = 0., alpha2 = 50., lambda = 1.,
+        beta = 1e-5, S = Operators.SIdentity(),
         gamma1 = 1e-4, gamma2 = 1e-4,
-        eps_newton = 1e-4,
-    ))
+        eps_newton = 1e-4)
+
+    savedata(joinpath(ctx.outdir, "data.tex");
+        params.eps_newton, params.n_refine,
+        params.alpha1, params.alpha2, params.lambda,
+        params.gamma1, params.gamma2,
+        params.beta, params.S,
+        width=size(g_arr, 1), height=size(g_arr, 2))
+
+    ctx(inpaint; params...)
 end
 
 function experiment_inpaint_denoise(ctx)
-- 
GitLab