| 1: |
; Nmax: = 1000; L0 = 103, σ0 = 20, stop :=−0.999,
, sL:= 1.3, Δ:=0.02ε control parameters
|
| 2: |
h⃗0 : = f⃗0: = FDK or ART initial image
|
| 3: |
for k=1, Nmax do main loop
|
| 4: |
; |
| 5: |
; (• denotes element-wise multiplication between two vectors) |
| 6: |
f⃗old:= f⃗,
|
| 7: |
if δh >ε − Δ, λ: = 1/Δ; else λ: = 1/(ε − δh); end if; calculate the regularization weight outside and inside the feasible solution set, respectively.
|
| 8: |
; gradient of the objective as a function of f⃗
|
| 9: |
f⃗ := (h⃗ − L−1∇F)+ ; update image and set non-negativity
|
| 10: |
while
|
| 11: |
L = sL · L; |
| 12: |
f⃗:= (h⃗ − L−∇F)+ ; |
| 13: |
end; backtracking to find the Lipschitz constant L
|
| 14: |
|
| 15: |
|
| 16: |
β: = θ(1 − θ)/(θ2 + θnew) |
| 17: |
, θ: = θnew, σold: =σ; |
| 18: |
if
stopping criteria
|
| 19: |
return f⃗; |
| 20: |
break; |
| 21: |
end if; |
| 22: |
end for; |