diff --git a/scripts/run_experiments.jl b/scripts/run_experiments.jl
index ea30e48179f8e8bf0d0396ffb5f43d1ce60abda5..08fac743f482c4a8bab0bc7e5236354df5e333c9 100644
--- a/scripts/run_experiments.jl
+++ b/scripts/run_experiments.jl
@@ -1441,7 +1441,7 @@ function inpaint(ctx)
             k_refine > N_refine && break
             println("refine ...")
             #estimate_res!(st)
-            marked_cells = Set(mark(st; theta = 0.5))
+            marked_cells = Set(mark(st; theta = 0.99))
 
             ## EXPERIMENTAL: mark according to projection error
             #g_err = compute_local_error(st.g, g_arr)
@@ -1490,13 +1490,12 @@ 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;)
-    for coarsen in 0:15
+    for coarsen in 7
         params = (
             name = "test",
             n_refine = coarsen,
-            #estimator = :primal_dual,
+            estimator = :residual,
             g_arr, mask_arr, mesh,
-            #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,
@@ -1509,7 +1508,8 @@ function experiment_inpaint_adaptive(ctx)
             params.beta, params.S,
             width=size(g_arr, 1), height=size(g_arr, 2))
 
-        ctx(inpaint, "s-identity_alpha1_$(round(Int, params.alpha1))_alpha2_$(round(Int, params.alpha2))_coarse_$(params.n_refine)"; params...)
+        #ctx(inpaint, "s-identity_alpha1_$(round(Int, params.alpha1))_alpha2_$(round(Int, params.alpha2))_coarse_$(params.n_refine)"; params...)
+        ctx(inpaint, "s-identity_alpha1_$(round(Int, params.alpha1))_alpha2_$(round(Int, params.alpha2))_coarse_$(params.n_refine)_pd"; params..., estimator= :primal_dual)
     end
 end
 
@@ -1555,6 +1555,7 @@ function experiment_inpaint_denoise(ctx)
 end
 
 function optflow(ctx)
+    duration = @elapsed begin
     size(ctx.params.imgf0) == size(ctx.params.imgf1) ||
 	throw(ArgumentError("non-matching image sizes"))
 
@@ -1562,6 +1563,7 @@ function optflow(ctx)
     project_image!(f, img) =
         ctx.params.n_refine == 0 ?
             interpolate!(f, x -> evaluate_bilinear(img, x)) : # fine mesh
+            #project_l2_pixel!(f, img) # My change (AL) 2023 10 05
             project_l2_lagrange!(f, img) # coarse adaptive mesh
 
 
@@ -1690,7 +1692,7 @@ function optflow(ctx)
         end
     end
     #CSV.write(joinpath(ctx.outdir, "energies.csv"), df)
-
+    end#end @elapsed
     u_sampled = sample(st.u)
     saveimg(joinpath(ctx.outdir, "f0.png"), to_img(imgf0))
     saveimg(joinpath(ctx.outdir, "f1.png"), to_img(imgf1))
@@ -1712,7 +1714,7 @@ function optflow(ctx)
         st.alpha1, st.alpha2, st.lambda, st.beta, st.gamma1, st.gamma2, ctx.params.Schoice,
         width=size(u_sampled, 2), height=size(u_sampled, 3),
         endpoint_error_mean, endpoint_error_stddev,
-        angular_error_mean, angular_error_stddev,
+        angular_error_mean, angular_error_stddev, duration
     )
     return st
 end
@@ -1734,6 +1736,7 @@ function experiment_optflow_middlebury_all_benchmarks(ctx)
         ctx(experiment_optflow_middlebury, example;
             alpha1 = 10., alpha2 = 0., lambda = 1., beta = 1e-5,
             gamma1 = 1e-4, gamma2 = 1e-4, Schoice = :nabla, newton_max_iters = 30)
+	break
     end
 end
 
@@ -1745,14 +1748,14 @@ function experiment_optflow_middlebury_warping_comparison(ctx)
 end
 
 function experiment_optflow_middlebury_warping_comparison_adaptive(ctx)
-    ctx(experiment_optflow_middlebury_all_benchmarks, "vanilla";
-        warp = false, refine = false, n_refine = 0)
-    ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
-        warp = true, refine = false, n_refine = 0)
+    #ctx(experiment_optflow_middlebury_all_benchmarks, "vanilla";
+    #    warp = false, refine = false, n_refine = 0)
+    #ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
+    #    warp = true, refine = false, n_refine = 0)
     ctx(experiment_optflow_middlebury_all_benchmarks, "adaptive-warping";
         warp = true, refine = true, n_refine = 6)
-    #ctx(experiment_optflow_middlebury_all_benchmarks, "adaptive-warping";
-    #    warp = true, refine = true, n_refine = 6, estimator = :residual)
+    ctx(experiment_optflow_middlebury_all_benchmarks, "adaptive-warping-pd";
+        warp = true, refine = true, n_refine = 6, estimator = :primal_dual)
 end
 
 function experiment_optflow_schoice(ctx)