Skip to main content
. Author manuscript; available in PMC: 2019 Aug 24.
Published in final edited form as: Pattern Recognit. 2018 Oct 9;87:38–54. doi: 10.1016/j.patcog.2018.09.015
Algorithm 3 t-TNN based background completion [52].
Input: Original XCA data Dn1×n2×n3, non-vessel mask region Ω (acquired from M in Algorithm 2).
1: Initialize: ρ0 > 0, η > 1, k = 0, X=PΩ(D), Y=W=0.
2: while XYF/XF>tol and k < K do
3: X sub-problem:
Xk+1=argminX:XΩ=DΩkXYk+1ρkWkF2
 solved by:
Xk+1=PΩ(Dk)+PΩ(Yk1ρkWk);
4: Y sub-problem:
Yk+1=argminYY+ρk2Xk+1Y+1ρkWkF2
 solved by:
τ=1ρk,τ=τn2+12,Z=Xk+1+τWk;
Zf=fft(Z,[],3);
for j=1,,n2+12 do
  [Uf(j),Sf(j),Vf(j)]=SVD(Zf(j));
  Jf(j)=diag{(1τSf(j)(i,i))+};
  Sf,τ(j)=Sf(j)Jf(j);
  Hf(j)=Uf(j)Sf,τ(j)Vf(j)T
end for
for j=n2+12+1,,n2 do
  Hf(j)=conj(Hf(n2j+2));
end for
H=ifft(Hf,[],3),Yk+1=H;
5: Wk+1=Wk+ρk(Xk+1Yk+1);
6: ρk+1 = ηρk, k = k + 1
7: end while
8: Vessel layer V=DX;
Output: Background layer tensor X, vessel layer tensor V.