Skip to main content
. Author manuscript; available in PMC: 2011 Sep 1.
Published in final edited form as: IEEE Trans Med Imaging. 2010 Jun 7;29(11):1839–1850. doi: 10.1109/TMI.2010.2050898

TABLE I.

Pseudo-code for the SF-TR forward projector with the A1 amplitude method (SF-TR-A1) and the A2 method (SF-TR-A2)

• Initialize projection view array to zero, i.e., yβ[sk,tl]=0 for
k = 0, … , Ns − 1 and l = 0, … , Nt − 1
For each row n1 = 0, 1, … , N1 − 1 of f[n]:
 1) For each column n2 = 0, 1, … , N2 − 1:
  a) Compute trapezoid vertices τ0, τ1, τ2, τ3 in (38) using
   (9).
  b) Determine indices (sk values) of detector cells that
   intersect [τ0, τ3], i.e. {k:[skrs2,sk+rs2][τ0,τ3]}.
  c) Compute transaxial footprint F1(sk;β;n) using (41)
   and (43) for all these sk values and store them.
  d) Compute lφ0 using (32) (SF-TR-A2 only)
  e) For each slice n3 = 0, 1, … , N3 − 1:
   i) Determine indices (tl values) of detector cells that
    intersect [t, t+], i.e., {l:[t1rt2,tl+rt2][t,t+]}.
   ii) For each tl value:
    A) Compute F2(tl;β;n) using (42).
    B) For each sk value:
     – Compute projection
      p(sk,tl;β;n) where p=f[n]F1(sk;β;n)F2(tl;β;n) for SF-
      TR-A1,
      p=f[n]lφ0F1(sk;β;n)F2(tl;β;n) for
      SF-TR-A2.
     – Update projection view yβ[sk,tl]±p.
• Scale all the projection view by l1(sk, tl; β) using (36) for
 SF-TR-A1 or by lθ(sk, tl) using (35) for SF-TR-A2.