Skip to main content
. Author manuscript; available in PMC: 2017 Jun 8.
Published in final edited form as: Comput Vis Image Underst. 2016 Oct 6;155:173–194. doi: 10.1016/j.cviu.2016.10.002
Initialization: f = g, v = 1, σ1 = σ2 = ε1, σ1prev = σ2prev ≫ 1
Iteration: while (|σ1prevσ1| > ε2 or |σ2prevσ2| > ε2) repeat
  1. Update the edge map v using the gradient descent algorithm, as in Eq.(12).

  2. Update the restored image f using the gradient descent algorithm, as in Eq.(13), and constrain f with Eq.(14).

  3. Set σ1prev = σ1, and update σ1 by solving Eq.(15) using the bisection method.

  4. Set σ2prev = σ2, and update σ2 by solving Eq.(16) using the bisection method.

  5. Update the blur kernel hσ1,σ2 with the new σ1 and σ2 using Eqs.(21) and (22).

end