next up previous contents
Next: Outlook Up: Numerical Methods in Tomography Previous: Circular harmonic algorithms

Fourier reconstruction

We already made use of the relation

  equation2162

for the Radon transform in tex2html_wrap_inline3076 in section 2.1, and of the corresponding formula for the nD ray transform

  equation2167

in section 3.4. In this section we use these formulas to derive reconstruction algorithms. To fix ideas we consider the case of the 2D Radon transform, sampled as in the standard parallel geometry. This means that g = Rf is given for tex2html_wrap_inline3232 , tex2html_wrap_inline3234 , tex2html_wrap_inline3236 and tex2html_wrap_inline3238 , tex2html_wrap_inline3240 , as in section 2.1. f is assumed to vanish outside tex2html_wrap_inline3368 .

The idea of Fourier reconstruction is very simple: Do a 1D Fourier transform on g with respect to the second variable for each tex2html_wrap_inline3298 . According to (6.1) this yields tex2html_wrap_inline4410 in all of tex2html_wrap_inline4412 . Do a 2D inverse Fourier transform to obtain f. Even though this seems fairly obvious, the numerical implementation in a discrete setting is quite intricate. In fact good Fourier algorithms have been found only quite recently.

To begin with we describe the simplest possible implementation. We warn the reader that this algorithm is quite useless since it is not sufficiently accurate.

Algorithm 6 (Standard Fourier reconstruction.)

Data:
The number tex2html_wrap_inline3332 , tex2html_wrap_inline3236 , tex2html_wrap_inline3240

g the 2D Radon transform of f.

Step 1:
For tex2html_wrap_inline3236 carry out the discrete Fourier transform

displaymath4428

Step 2:
For each tex2html_wrap_inline4430 , |k| < q, find j, r such that tex2html_wrap_inline4438 is as close as possible to k and put

displaymath4442

Step 3:
Do the 2D discrete inverse Fourier transform

displaymath4444

Result:
tex2html_wrap_inline4446 is an approximation to tex2html_wrap_inline4448 .

The algorithm is designed to reconstruct a function f with support in tex2html_wrap_inline3368 which is essentially tex2html_wrap_inline3128 -band-limited. (2.6), (2.7) have to be satisfied. We stress again that the algorithm as it stands is not to be recommended because of poor accuracy. Better versions are described below.

A few comments are in order. In step 1 we compute an approximation tex2html_wrap_inline4456 to

displaymath4458

Under the assumption (2.6) this approximation is reliable since Fourier transforms are evaluated exactly by the trapezoidal rule if the Nyquist condition, in our case (2.6), is satisfied. According to (6.1), step 1 provides us with the values

eqnarray2215

In step 2 we compute tex2html_wrap_inline4410 on the cartesian grid tex2html_wrap_inline4462 by nearest neighbour interpolation:

displaymath4464

Since f vanishes outside tex2html_wrap_inline3368 , tex2html_wrap_inline4410 has bandwidth tex2html_wrap_inline3242 . Thus sampling of tex2html_wrap_inline4410 on a 2D grid with stepsize tex2html_wrap_inline4476 is adequate by the sampling theorem.

Step 3 is the trapezoidal rule for the 2D inverse Fourier transform, properly discretized and complying with the Nyquist condition. Hence tex2html_wrap_inline4446 is an approximation to tex2html_wrap_inline4448 .

Step 1 and step 3 of Algorithm 6 are justified by the sampling theorem. Thus the failure of the algorithm must be caused by the interpolation in step 2. This is in fact the case. Of course we can replace the interpolation by a more accurate one, such as linear interpolation. However this doesn't help much.

Inspite of its poor accuracy, Fourier reconstruction is attractive because of its favourable complexity which is due to the fast Fourier transform (FFT).

We have used FFT in the circular harmonic algorithm already, but FFT is so essential for Fourier reconstruction that we say a few words about FFT; for a thourough treatment we refer to Nussbaumer (1982). The discrete Fourier transform of length q is defined to be

  equation2240

An algorithm which computes tex2html_wrap_inline4484 from tex2html_wrap_inline4486 in less then O tex2html_wrap_inline4488 , typically O tex2html_wrap_inline4490 , operations is a called an FFT. In the circular harmonic algorithm we have used FFT just for the evaluation of (6.3). In Fourier reconstruction we employ FFT for the evaluation of Fourier integrals

displaymath4492

for the functions f in tex2html_wrap_inline4496 with support in tex2html_wrap_inline4498 . Sampling theory tells us that tex2html_wrap_inline4410 has to be discretized with stepsize tex2html_wrap_inline4476 ( tex2html_wrap_inline4410 has bandwidth tex2html_wrap_inline3242 ). With tex2html_wrap_inline3290 the stepsize for f the trapezoidal rule provides the approximation

  equation2259

The range of k is in agreement with the sampling theorem: The stepsize tex2html_wrap_inline4514 corresponds to the bandwidth tex2html_wrap_inline4516 , hence tex2html_wrap_inline4518 in (6.4) suffices. Of course (6.4) is a discrete Fourier transform of length 2q. Sometimes one wants to adjust the stepsizes of f and tex2html_wrap_inline4410 differently. Then one has to evaluate

  equation2282

with an arbitrary real parameter c. This can be done by the chirp-z-algorithm, see Nussbaumer (1982), again with typically O tex2html_wrap_inline4490 operations.

Assuming that we have a fast Fourier transform (FFT) algorithm which does a discrete Fourier transform of length q with O tex2html_wrap_inline4490 operations, the complexity of Algorithm 6 is as follows. Step 1 does p Fourier transforms of length 2q, requiring O tex2html_wrap_inline4540 operations. Assuming that the interpolation in step 2 can be done in O(1) operations per point we get O tex2html_wrap_inline4488 as the complexity of step 2. The 2D Fourier transform in step 3 can be done with O tex2html_wrap_inline4546 operations. Hence the complexity of Algorithm 6 is O tex2html_wrap_inline4548 . This is much better than the filtered backprojection algorithm (Algorithm 1), which needs O tex2html_wrap_inline4550 operations for a reconstruction on a tex2html_wrap_inline4552 grid.

Presently there exist two Fourier methods with satisfactory accuracy and favourable complexity.

1. The linogram algorithm (Edholm and Herman (1987)).

Here, interpolation in Fourier space is avoided altogether by a clever choice of the directions tex2html_wrap_inline4170 . The linogram algorithm works on the data

eqnarray2292

where j, tex2html_wrap_inline3240 . Doing a 1D Fourier transform on tex2html_wrap_inline4560 results in

displaymath4562

where tex2html_wrap_inline4564 arccot (j/q). For tex2html_wrap_inline4568 we get from (6.1)

  equation2307

Note that this can be done efficiently by the chirp-z-algorithm. The key observation is that the points

displaymath4572

form a grid lying on vertical lines with distance tex2html_wrap_inline4574 , being evenly spaced within each vertical line (though with different stepsizes in different lines). On such a grid we can do a 1D FFT in the horizontal direction in the usual way. In the horizontal direction the stepsize is not what we need for a direct application of the FFT, but the chirp-z-algorithm is still applicable. This takes care of the 2D inverse Fourier transform in tex2html_wrap_inline4578 . For tex2html_wrap_inline4580 we proceed analogously with the data tex2html_wrap_inline4582 , evaluating tex2html_wrap_inline4584 for tex2html_wrap_inline4586 . We remark that the linogram data in Edholm and Herman (1987) is a little different from ours, namely tex2html_wrap_inline4588 , tex2html_wrap_inline4590 , respectively. The use of these detector positions makes the linogram algorithm even simpler in that the factor tex2html_wrap_inline4592 in the right hand side of (6.6) dissapears.

2. The gridding algorithm (O'Sullivan (1985), Kaveh (1987), Schomberg and Timmer (1995).

This algorithm works on the standard parallel data which we used in Algorithm 6. It does the interpolation in step 2 of Algorithm 6 in the following way. Let w be a smooth function in tex2html_wrap_inline4412 with w = 1 on tex2html_wrap_inline3368 which is decaying exponentially at infinity. Put tex2html_wrap_inline4602 . Then,

eqnarray2338

by (6.1). Using a quadrature rule with nodes tex2html_wrap_inline4604 , tex2html_wrap_inline4166 and weights tex2html_wrap_inline4608 we obtain the approximation

  equation2355

to tex2html_wrap_inline4610 . The method relies on the following assumptions:

1.
tex2html_wrap_inline4612 is decaying at infinity so fast that only a few terms of the r sum in (6.7) have to be retained.
2.
The dependence on the angle is not critical, so that it suffices to retain only a few terms in the j sum of (6.7).

If these conditions are met then tex2html_wrap_inline4618 of (6.3) is a good approximation to tex2html_wrap_inline4610 which can be evaluated essentially in O(1) operations for each k. This takes care of step 2. Of course when using (6.7) we have to divide f by w after step 3 to make up for the previous multiplication with w.

It is needless to say that our derivation of the gridding algorithm is purely heuristic. It seems that presently there exists no convincing theoretical analysis of the gridding algorithm.


next up previous contents
Next: Outlook Up: Numerical Methods in Tomography Previous: Circular harmonic algorithms

Frank Wuebbeling
Thu Sep 10 10:51:17 MET DST 1998