Close

52 year old computer performs fast CT reconstruction

marcelvanherkmarcelvanherk wrote 02/15/2025 at 22:08 • 3 min read • Like

I have previously reported a simulator of a Data General 1210 Nova computer. Last week I gave an invited lecture at the British Society for the History of Radiology and I started with a description of the first CT scanner as designed by Hounsfield around 1970. The clinical system, released in 1973 contains a Data General Nova computer.


I personally first encountered a Data General Nova computer when I sneaked into the 'The Instrument' technology fair in the Amsterdam convention center in 1974. I bought a Nova 1210 computer on Ebay in 2017 and have equiped it with a self-built front panel, as my computer was embedded and did not have one. This panel is controlled by a Teensy board, that can very quickly exchange information with the original Nova computer, as if it toggling the front panel switches thousands of times per second. I wanted to demonstrate CT reconstruction on this computer so this year I have added a small 320x240 pixel LCD display with SPI connection. The latter is controlled by the Teensy in response to normally unused HALT instructions of the NOVA. Similar instructions read a sinogram from the Teensy flash storage.

The core algorithm for CT reconstruction is backprojection, that entails drawing each line between the X-ray source and detector, for all angles of acquisition. This might seem like a time consuming operation but already in the first CT scanner it was considered that the process could be described as a linear mapping of image rows to the detector array. To reconstruct a 80x80 image (the original size of the CT slices in the original EMI CT scanner), 1.2 million pixel mappings must be performed. The trigonimetric functions are stored in a lookup table. No multiplications are required, which is a good thing as my computer does not have a multiplier option, one software multiplication takes about 100 microseconds.
The end result is an efficient backprojection. However, the converging lines result in a wash around the center of the intersecting lines. If you do this for a entire slice of head, the image becomes very blurred. For that reason the input signal must be filtered so counteract the blurring: filtered backprojection. My latest code can do an entire slice reconstruction in 35 seconds, quite a bit faster than the reported 5 minutes reconstruction time on the first CT scanner.

The entire story, including a live demo of the CT reconstruction on the Nova can be found on the BSHR web site: Marcel's lecture on the history of digital imaging.
Straight backprojection of a single point.
Straight backprojection of a CT slice.
Like

Discussions