1: |
β(1) ← 1; βred ← 0.99; α(1) ← 0.05; αred ← 0.9; |
2: |
tol ← 0.11; NTV ← 20; rmax ← 0.9; |
|
3: |
λ(1) ← 1; γ ← 4; |
|
4: |
MaxIteration ← 1000; Δfmin ← 2 × 10−4; |
|
5: |
f⃗(0) ← f⃗FDK
|
⊲ Use FDK image as the initial image |
6: |
for
k ← 1, MaxIteration
do
|
⊲ main loop |
7: |
for
j ← 1,N
do
|
⊲ POCS step via SART with positivity constraint. |
8: |
|
9: |
end for
|
|
10: |
|
|
11: |
|
|
12: |
res(k) ← ‖p̃ − Rf⃗(k)‖ |
|
13: |
if
k = 1 then
|
|
14: |
|
⊲ Initialize TV step size |
15: |
end if
|
|
16: |
← AnatomySegmentation (f⃗(k)) |
17: |
for
kTV ← 1,NTV
do
|
|
18: |
|
19: |
f⃗(k) ← f⃗(k) + α(k)d⃗fAATV
|
|
20: |
end for
|
|
21: |
|
|
22: |
if
then
|
⊲ Stopping criterion |
23: |
break; |
|
24: |
else
|
|
25: |
β(k+1) ← β(k) × βred
|
⊲ Calculate new step sizes |
26: |
if
and res(k) > tol
then
|
27: |
α(k+1) ← α(k) × αred
|
|
28: |
end if
|
|
29: |
|
|
30: |
end if
|
|
31: |
end for |
|
32: |
return
|
|