Our first step is to replace

with

(2.38) |

where a single pair yields such (

(2.39) |

so that going through all measured values of will eventually cover the whole plane .

Some comments:

- 1.
- Points for small values of
*k*' are much denser than points for large values of*k*', hence the importance of the filtering function. Filtering with weights the data to compensate for the sparser fill of the frequency domain at larger . - 2.
- Filter
*B*(*k*') does the same job, whereas its relative*b*(*x*') is equivalent, but operates in the spatial domain.

The next step is to discretise

with

(2.40) |

But the index

Convolution is a symmetric operation, i.e.,
.
This
can be proven simply by subsitution. This means that we can
move
*x*'_{n} - *x*'_{k} to *p* getting:

(2.41) |

where we have restricted

What then? We are simply going to *pad* our vector *p* with
zeros.

The discrete values of *b*_{k} are going to be:

(2.42) |

In summary:

- 1.
- to compute
for a given
*n*we have to evaluate a scalar product of*p*and*b*, both of length 2*K*-1 - 2.
- to compute
for all
*n*will have to perform floating point multiplications.

This is going to be expensive.

Because of the low cost of FFT it is cheaper to

- 1.
- Take FFT of a padded data function to form
- 2.
- Discretise

What next?

- 1.
- For a given angle
the vector
gives
values of
*C*at points (*x*,*y*) such that

(2.43) - 2.
- The filtered projection values are mapped onto
their closest grid box
(
*x*_{g},*y*_{g}), and then summed within that box to produce density .