Skip to content

hanyoseob/matlab-parallel-CT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parallelbeam CT

Reference

Computed Tomography: Principles, Design, Artifacts, and Recent Advances, 3rd.

The beginners, who is unfamiliar about the CT concept and principle, read Chapter 3. Image Reconstruction.

Abstract

X-ray computed tomography (CT) has experienced an explosion of technological development for a quarter century. Six years after the second edition of Computed Tomography, this third edition captures the most recent advances in technology and clinical applications. New to this edition are descriptions of iterative reconstruction, statistical reconstruction, methodologies used to model the CT systems, and the searching methodologies for optimal solutions. A new section on 3D printing introduces approaches by early adopters in the area. Also added is a description and discussion of the size-specific dose estimate, an index that attempts to more accurately reflect the dose absorption of specific-sized patients. The coverage of dual-energy CT has been significantly expanded to include its background, theoretical development, and clinical applications.

Projection

  • Projection operator is implemented based on Ch.3 Equations (3.5) & (3.6).

  • Ray-driven method is applied to Projection operator.

    • Ch.3 Equation (3.5): Rotated coordinate X-ray CT system (Counterclockwise).

      • eq-t-axis
      • eq-s-axis
    • Ch.3 Equation (3.6): Line integration along X-ray.

      • eq-line-integration

Filtering

  • Filtering operator is implemented based on Ch.3 Equations (3.21) & (3.29) & (3.30).

    • Ch.3 Equation (3.29): Filtering kernel
      • eq-filtering-kernel
  • Filtering is performed by convolution ver. using Ch.3 Equation (3.30) and FFT ver. using Equation (3.21).

    • Ch.3 Equation (3.30): convolution ver.
      • eq-convolution
    • Ch.3 Equation (3.21): FFT ver.
      • eq-FFT

Backprojection

  • Backprojection operator is implemented based on Ch.3 Equation (3.22).

  • Pixel-driven method is applied to backprojection operator.

    • Ch.3 Equation (3.22): Backprojection
      • eq-backprojection

Parameters

  • X-ray CT System parameters

    1. dAngle [degree; (float, +)] : Rotational range of X-ray source
    2. nView [element; (int, +)] : The number of views
    3. dView [degree; (float, +)] : The step of view
    4. DSO [mm; (float, +)] : Distance from Source to Object
    5. DSD [mm; (float, +)] : Distance from Source to Detector
  • X-ray detector parameters

    1. dDctX [mm; (float, +)] : Detector pitch
    2. nDctX [element; (int, +)] : The number of detectors
    3. dOffsetDctX [float; (float, +-)] : Index of shifted detectors
    4. compute_filtering ['convolution', 'fft'; (string)] : Filtering method
  • Object parameters

    1. dImgX, dImgY [mm; (float, +)] : Pixel resolutions
    2. nImgX, nImgY [element; (int, +)] : The number of pixels
    3. dOffsetImgX, dOffsetImgY [element; (float, +-)] : Index of shifted image

Results

alt text

  • The results were reconstructed by hyper parameters below.

  • X-ray CT System parameters

    1. dAngle [degree; (float, +)] : 360
    2. nView [element; (int, +)] : 360
    3. dView [degree; (float, +)] : 1
    4. DSO [mm; (float, +)] : 400
    5. DSD [mm; (float, +)] : 800
  • X-ray detector parameters

    1. dDctX [mm; (float, +)] : 0.7
    2. nDctX [element; (int, +)] : 400
    3. dOffsetDctX [element; (int, +-)] : 30
    4. compute_filtering ['convolution', 'fft'; (string)] : 'fft'
  • Object parameters

    1. dImgX, dImgY [mm; (float, +)] : 1, 1
    2. nImgX, nImgY [element; (int, +)] : 256, 256
    3. dOffsetImgX, dOffsetImgY [element; (float, +-)] : 0, 0

Execution Time

  • While Matlab is optimized to calculate the Matrix operation, it is calculated by pixel operation to match the Equations explicitly.
  • Therefore, the execution time is slow as shown in a table below.
Operation Execution time Remark
Projection about 1000 sec ray-driven
(a) Filtering about 0.025 sec convolution
(b) Filtering about 0.050 sec zero-padding + FFT
Backprojection about 300 sec pixel-driven

To reduce the execution time, Codes of C/C++ ver. and/or Python ver. code will be published as soon as possible.