CT demo v0.1

Using image files, generate CT projection data, simulate noise, and reconstruct
2.4K Downloads
Updated 29 Jul 2014

View License

This software is designed to aid anyone new to the field of computed tomography (CT). The acquisition and reconstruction of CT images can be a mysterious topic for the uninitiated. This CT demo software gives the user a sense of the steps involved in producing CT images for analyst review.
Run the software in the matlab environment by running the CT_demo script.

The steps can be understood by the following steps, as shown on the GUI:
1. Input image
Select an image which is the "true object" for the CT projection acquisition. We will simulate an x-ray acquisition by taking projections over this image.
To add images, place them in the 'images' folder. The software recognizes *.tif, *.jpg, and *.png file types.
2. Sinogram
Take projections over the image. This is simply known as the Radon transform, which is natively built into Matlab.
2.1 Tube current - this determines the number of photons which will be emitted from the xray source. The higher the tube current, the more xrays. Because photon noise follows a Poisson distribution, the more photons, or xrays, that we have, the lower the noise. However, more photons means more radiation dose. [NOTE: THIS IS CURRENTLY AN ARBITRARY SCALING AND NOT RELATED TO REAL NUMBERS OF PHOTONS]
2.2 Number of projections - this determines the number of projections we will take with xrays over a 180 degree arc. Less projections will introduce artifacts, but can decrease dose in this demo [NOTE: THIS IS NOT TYPICALLY THE CASE IN DIAGNOSTIC CT SYSTEMS]
3. Reconstruction method
Using the obtained xray projections, reconstruct an image. There are two methods:
3.1 Simple back projection (SBP) - Simply project the projections back across the image domain with their original values. Project each projection according to its angle of acquisition. Note that this has a blurring or smearing effect.
3.2 Filtered back projection (FBP) - Filter the projections according to some filter (also known as a 'kernel'). The kernels will weight higher frequencies more than lower ones, typically. Most have a roll-off at high frequencies to remove high frequency noise.

**PLEASE send me your feedback, negative and positive! I would like to improve this demo to help those new to CT to grasp as many aspects as possible - from attenuation artifacts to noise distributions to dose optimization to reconstruction algorithms! Very much appreciated!

Cite As

Brendan Eck (2024). CT demo v0.1 (https://www.mathworks.com/matlabcentral/fileexchange/47382-ct-demo-v0-1), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

CT demo v0.1/

Version Published Release Notes
1.0.0.0