Skip to content

Matlab Code for performing the Backprojection of a crescend-shaped object

Notifications You must be signed in to change notification settings

Kogl1n/Computerized-Tomography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computerized-Tomography

Matlab Code for performing the Filtered Backprojection (FBP) and Alegebraic Reconstruction Technique (ART) of a crescend-shaped object needed for Computerized-Thomography (CT). For further information on the mathematical background, please read https://en.wikipedia.org/wiki/Tomographic_reconstruction and https://en.wikipedia.org/wiki/Algebraic_reconstruction_technique or https://en.wikipedia.org/wiki/Kaczmarz_method.

Software used in production are https://github.com/odlgroup/odl and https://github.com/tomopy/tomopy/ with GPU support and several other reconstruction and artifact supression methods.

Industrial applications are for instance crack and defect detection, c.f. https://en.wikipedia.org/wiki/Industrial_computed_tomography. In those cases it is likely that we have an incomplete data problem due to too broad pieces or too absorbing materials or thick walls.

Note:

The main obstacle was that the discrete circular convolution (which also has negative indices) was incompatible with the provided definition of the inverse Fourier transform of the lowpass filter, which lead to a flawed but somehow recognizable result. It is mirrored which gave us the hint for changing sides of the filter.

wrong

Files

irlf.m: function providing the inverse Fourier transform of the Ram-Lak-Lowpass-Filter.
convp.m: (Circular) convolution h of the discrete N-periodic functions f and g. 
          Used to compute the conv. for every angle.
convp2.m: Discrete convolution of N-periodic function f (as row vector) and NxM matrix A. 
          Used to compute the conv for all angles at the same time.
          
Exercise_1_2.m: Sets up crescent shaped region, performs and plots Radon transform.
Exercise_3_5.m: Main Script performing the filtered backprojection (FBP) using convp.m or convp2.m.

kaczmarz.m: Performs the reconstruction using the Algebraic Reconstruction Technique (ART).

Examples

The following images show a comparison between performing a convolution with convp.m with N=18 and N=36 where N constitutes the number of discrete angular CT measurements. It is also possible to change the distances of the dectector array resulting in fine grained backprojections in case of smaller distances or coarse grained otherwise which result with interpolation in blurry images.

FBP (using convp) with N=18:

Backprojection18

FBP (using convp) with N=36:

Backprojection36

FBP (using convp2) with N=18

Backprojection182

FBP (using convp2) with N=36:

Backprojection362

About

Matlab Code for performing the Backprojection of a crescend-shaped object

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages