Code covered by the BSD License  

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
CT reconstruction package

4.6
4.6 | 5 ratings Rate this file 70 Downloads (last 30 days) File Size: 6.03 KB File ID: #34608 Version: 1.2
image thumbnail

CT reconstruction package

by

Mark Bangert (view profile)

 

16 Jan 2012 (Updated )

Set of functions performing ct reconstruction tasks

| Watch this File

File Information
Description

Set of functions performing ct reconstruction tasks like a radon transformation, a simple backprojection, a filtered backprojection using a convolution in the spatial domain, a filtered backprojection using a 2D Fourier transformation, and a filtered back projection using the central slice theorem.

It includes the function

 myCtRecontruction

that should run out of the box and uses Matlab's Shepp Logan Phantom for demonstration. It is also possible to run the myCtReconstruction with an argument

 myCtRecontruction(anyCtDataSet)

to perform image reconstruction on a custom data set.

References:

[1] Set of CT reconstruction functions by Prof. Justin Romberg @ http://www.clear.rice.edu/elec431/projects96/DSP/
[2] W. Schlegel, J. Bille: Medizinische Physik 2: Medizinische Strahlenphysik http://www.amazon.com/Medizinische-Physik-Strahlenphysik-German/dp/354065254X/ref=sr_1_1?ie=UTF8&qid=1326709541&sr=8-1

MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
03 Mar 2016 Leila Farid

I'm working on a project which aim to recreate the principle of a CT Scan. I have to treat the projection data. But when there is several detectors, the code does'nt seems to work.
Each column of my matrix is an angle and each line the intensity of light acquired by each detector.
Can you help me to understand better how the code is working ? I didn't find why i can't reconstrute the image my self
When i work with only 1 detector and translation+rotation moves around the object it works. It's when i want to pass to the next stage where there is only rotation and several detectors that it doesn't

Comment only
17 Nov 2015 Jean-Nicola Blanchet

The function "myFilteredBackprojectionCentralSlice.m" is a simple spatial domain backprojection that does not use the slice theorem. It does the following:
- fft projections
- filter projections in Fourier domain
- ifft back to spatial
- aggregate results (spread projections and sum)

It should be done in the follwing order:
- fft projection
- filter projections in Fourier domain
- aggregate results in the Fourier domain
- ffti aggregated result back to spatial

09 Oct 2015 Saket Dandawate

The central slice algorithm[1] used in the CT package is wrong.

The central slice theorem dictated that if 1D-FT of projections is added at the center rotated at the corresponding theta then the 2D-IFT of the resultant data (in fourier domain) is equivalent to the back projections (in spacial domain).

As such visualization on the fly is only possible of the fourier domain data and not the spacial domain as you get the entire image once 2D-IFT is performed

[1] BPI = myFilteredBackprojectionCentralSlice(sinogram,thetas)

Ref :

Slide 6/7
https://www.cs.tut.fi/sgn/m2obsi/m2obsiWWW/tomoRGI.pdf

Chapter 3 Page 56
<http://www.slaney.org/pct/pct-toc.html>

Comment only
14 May 2015 Liz

Liz (view profile)

Can someone out here explain the reconstruction code to me?

Comment only
12 Nov 2013 Nicholas

Excellent set of code. Thanks a lot.

01 Aug 2013 Soren

Soren (view profile)

Fantastic tool for didactic purposes and as a platform for further development. Thanks for sharing!!

25 May 2012 Tai Chieh

Great!

It's really help

22 Mar 2012 Shrinivas

Excellent work

Updates
27 Jan 2012 1.2

Excluded head phantom.

Contact us