Skip to main content
. Author manuscript; available in PMC: 2018 Apr 21.
Published in final edited form as: Phys Med Biol. 2017 Feb 23;62(8):3352–3374. doi: 10.1088/1361-6560/aa6285

Table 1.

Pseudocode for iterative solution of the poly-KCR objective

Λ = {λn} registration vector all components
μ(0)= Initial reconstruction (e.g. FBP)
κ(0) = Initial guess for STF coefficients
ω(Λ)=(Π{n=1}ND{T(λ{n})s{n}})
% Generate transformed masks
μ(0)(Λ)=ω(Λ)μ(0), % Apply mask to background estimate
for all components n ∈ [1 N]
p{n}=Gaussian(AH(λ{n})bI,H{n},δ) % Component path length with blur
end
% Calculate path length for background volume
L* = A1→ % 1→ denotes the all 1s vector
for all components n ∈ [1 N]
L* = L*p{n}
end
for t = 1 to max_iterations % [t−1] denotes (t−1)th iteration value
l=-{n=1}N{k=1}Kκk{n}[t-1](p{n})k % Spectral correction to path length
l=Aμ[t-1](Λ) % Forward projection of background
% Background volume update (Appendix 6.2)
for all voxels, j
μ,j[t]=μ,j[t-1]+iMwia,ij(loggiyi-(l+l))-RiMwiL,ia,ij+R
end
% Spectral coefficient update (Appendix 6.1)
for all components q ∈ [1 N]
   for all coefficients l ∈ [1 K]
κl{q}[t]=κl{q}[t-1]+iMwi(pi{q})l(l,i-{n=1}N{k=1}Kκk{n}[t-1](pi{n})k-log(giyi))iMwi(pi{q})2l
   end
end
end