The mathematical CAT scan

3. A numerical simulation: the reconstruction

In a finite model like ours, the Radon Transform assigns to each line the sum of the densities it encounters in the object being scanned. The first step in reconstructing the object is to calculate the Dual of the Radon Transform. The Dual Transform goes from a function of lines to a function of points. In our model, it will assign to each square in the grid the sum of the numbers carried by each of the lines through that square.

Since each grid square is crossed by exactly one line from each family, we can organize the calculation, in our example, by tabulating the numbers family by family, and then adding up the tables. These tables are precisely the arrays given on the previous page. Here each of the tables is labelled by the slope of the corresponding familty of lines; as before, one of those lines is picked put in red.

 ``` horizontal X stands for 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0_0_0_0 0 0 0_0_0_0 0 0 0 8 8 8|8 8 8 8|8 8|8 8 8 8|8 8 8 8 8 8|8 8_8_8|8 8|8_8_8 8|8 8 8 4 4 4|4 4|4 4 4 4 4 4|4 4|4 4 4 4 4 4|4 4|4 4 4 4 4 4|4 4|4 4 4 4 4 4|4 4|4_4_4_4_4_4|4 4|4 4 4 X X X|X X X X X X X X X X|X X X X X X|X_X_X_X_X_X_X_X_X_X|X X X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0``` ``` slope = 1/2 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 3 0 0 0 0_0_1_1 2 2 2_2_2_2 3 3 2 0 0 0|1 1 2 2|2 2|2 2 3 3|2 2 3 0 1 1|2 2_2_2|2 2|3_3_2 2|3 3 3 1 2 2|2 2|2 2 3 3 2 2|3 3|3 3 3 2 2 2|2 2|3 3 2 2 3 3|3 3|3 3 2 2 2 2|3 3|2_2_3_3_3_3|3 3|2 2 1 2 3 3|2 2 3 3 3 3 3 3|2 2|1 1 0 3 2 2|3_3_3_3_3_3_2_2_1_1|0 0 0 2 3 3 3 3 3 3 2 2 1 1 0 0 0 0 0 3 3 3 3 3 2 2 1 1 0 0 0 0 0 0 0 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0``` ``` slope = 1 0 0 0 0 0 0 1 2 3 4 3 2 3 4 4 4 0 0 0 0 0 1 2 3 4 3 2 3 4 4 4 4 0 0 0 0_1_2_3 4 3 2_3_4_4 4 4 4 0 0 0|1 2 3 4|3 2|3 4 4 4|4 4 4 0 0 1|2 3_4_3|2 3|4_4_4 4|4 4 3 0 1 2|3 4|3 2 3 4 4 4|4 4|4 3 2 1 2 3|4 3|2 3 4 4 4 4|4 4|3 2 1 2 3 4|3 2|3_4_4_4_4_4|4 3|2 1 0 3 4 3|2 3 4 4 4 4 4 4 3 2|1 0 0 4 3 2|3_4_4_4_4_4_4_3_2_1|0 0 0 3 2 3 4 4 4 4 4 4 3 2 1 0 0 0 0 2 3 4 4 4 4 4 4 3 2 1 0 0 0 0 0 3 4 4 4 4 4 4 3 2 1 0 0 0 0 0 0 ``` ``` slope = 2 0 0 0 0 0 1 2 3 2 1 1 2 2 2 3 2 0 0 0 0 1 2 3 3 1 1 2 2 2 3 3 2 0 0 0 0_1_2_3 2 1 1_2_2_2 3 2 1 0 0 0|1 2 3 3|1 1|2 2 2 3|3 2 1 0 0 0|1 2_3_2|1 1|2_2_2 3|2 1 0 0 0 1|2 3|3 1 1 2 2 2|3 2|1 0 0 0 0 1|2 3|2 1 1 2 2 2|3 2|1 0 0 0 1 2|3 3|1_1_2_2_2_3|3 2|1 0 0 0 1 2|3 2 1 1 2 2 2 3 2 1|0 0 0 1 2 3|3_1_1_2_2_2_3_3_2_1|0 0 0 1 2 3 2 1 1 2 2 2 3 2 1 0 0 0 0 2 3 3 1 1 2 2 2 3 3 2 1 0 0 0 0 2 3 2 1 1 2 2 2 3 2 1 0 0 0 0 0``` ``` vertical 0 0 0 7 7 4 4 2 2 4 4 7 7 0 0 0 0 0 0 7 7 4 4 2 2 4 4 7 7 0 0 0 0 0 0 7_7_4_4 2 2 4_4_7_7 0 0 0 0 0 0|7 7 4 4|2 2|4 4 7 7|0 0 0 0 0 0|7 7_4_4|2 2|4_4_7 7|0 0 0 0 0 0|7 7|4 4 2 2 4 4|7 7|0 0 0 0 0 0|7 7|4 4 2 2 4 4|7 7|0 0 0 0 0 0|7 7|4_4_2_2_4_4|7 7|0 0 0 0 0 0|7 7 4 4 2 2 4 4 7 7|0 0 0 0 0 0|7_7_4_4_2_2_4_4_7_7|0 0 0 0 0 0 7 7 4 4 2 2 4 4 7 7 0 0 0 0 0 0 7 7 4 4 2 2 4 4 7 7 0 0 0 0 0 0 7 7 4 4 2 2 4 4 7 7 0 0 0``` ``` slope = -2 2 3 2 2 2 1 1 2 3 2 1 0 0 0 0 0 2 3 3 2 2 2 1 1 3 3 2 1 0 0 0 0 1 2 3 2_2_2_1 1 2 3_2_1_0 0 0 0 1 2 3|3 2 2 2|1 1|3 3 2 1|0 0 0 0 1 2|3 2_2_2|1 1|2_3_2 1|0 0 0 0 1 2|3 3|2 2 2 1 1 3|3 2|1 0 0 0 0 1|2 3|2 2 2 1 1 2|3 2|1 0 0 0 0 1|2 3|3_2_2_2_1_1|3 3|2 1 0 0 0 0|1 2 3 2 2 2 1 1 2 3|2 1 0 0 0 0|1_2_3_3_2_2_2_1_1_3|3 2 1 0 0 0 0 1 2 3 2 2 2 1 1 2 3 2 1 0 0 0 0 1 2 3 3 2 2 2 1 1 3 3 2 0 0 0 0 0 1 2 3 2 2 2 1 1 2 3 2 ``` ``` slope = -1 4 4 4 3 2 3 4 3 2 1 0 0 0 0 0 0 4 4 4 4 3 2 3 4 3 2 1 0 0 0 0 0 4 4 4 4_4_3_2 3 4 3_2_1_0 0 0 0 4 4 4|4 4 4 3|2 3|4 3 2 1|0 0 0 3 4 4|4 4_4_4|3 2|3_4_3 2|1 0 0 2 3 4|4 4|4 4 4 3 2 3|4 3|2 1 0 1 2 3|4 4|4 4 4 4 3 2|3 4|3 2 1 0 1 2|3 4|4_4_4_4_4_3|2 3|4 3 2 0 0 1|2 3 4 4 4 4 4 4 3 2|3 4 3 0 0 0|1_2_3_4_4_4_4_4_4_3|2 3 4 0 0 0 0 1 2 3 4 4 4 4 4 4 3 2 3 0 0 0 0 0 1 2 3 4 4 4 4 4 4 3 2 0 0 0 0 0 0 1 2 3 4 4 4 4 4 4 3``` ``` slope = -1/2 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 3 2 2 2 2 2 2 1 1 0 0 0 0 0 0 0 2 3 3 2_2_2_2 2 2 1_1_0_0 0 0 0 3 2 2|3 3 2 2|2 2|2 2 1 1|0 0 0 3 3 3|2 2_3_3|2 2|2_2_2 2|1 1 0 3 3 3|3 3|2 2 3 3 2 2|2 2|2 2 1 2 3 3|3 3|3 3 2 2 3 3|2 2|2 2 2 1 2 2|3 3|3_3_3_3_2_2|3 3|2 2 2 0 1 1|2 2 3 3 3 3 3 3 2 2|3 3 2 0 0 0|1_1_2_2_3_3_3_3_3_3|2 2 3 0 0 0 0 0 1 1 2 2 3 3 3 3 3 3 2 0 0 0 0 0 0 0 1 1 2 2 3 3 3 3 3 0 0 0 0 0 0 0 0 0 1 1 2 2 3 3 3```
When these eight tables are added to each other, the result is as follows. It is shown graphically (after rescaling) on the right.
 ``` 8 9 8 14 13 10 13 12 12 13 10 13 14 8 9 8 9 9 9 15 15 13 15 15 15 15 13 15 15 9 9 9 9 9 9 15 15 13 15 15 15 15 13 15 15 9 9 9 16 16 17 28 29 28 28 21 21 28 28 29 28 17 16 16 14 17 19 29 30 30 28 21 21 28 30 30 29 19 17 14 10 14 18 28 30 24 21 22 22 21 24 30 27 17 13 10 10 13 17 28 29 24 24 21 21 24 24 29 28 17 13 10 9 13 17 28 29 24 24 24 24 24 24 29 28 17 13 9 15 19 20 29 31 32 31 30 30 31 32 31 29 20 19 15 18 17 17 29 30 30 32 30 30 32 30 30 29 17 17 18 6 7 9 16 17 17 20 18 18 20 17 17 16 9 7 6 7 9 10 15 16 15 17 16 16 17 15 16 15 10 9 7 8 10 9 14 14 12 14 12 12 14 12 14 14 9 10 8 ```

There are mathematical algorithms that allow the exact reconstruction of a 2-dimensional object (or, more generally, a function) from its Radon transform. These are called ``inversion formulas'' and can be found, for example, in Sigurdur Helgason's The Radon Transform, Second edition, Birkhäuser, Boston 1999 or Gerald Folland's Introduction to Partial Differential Equations, Princeton University Press, Princeton NJ 1976. Both these books are based on graduate courses.