CT Ch6 Part1

Embed Size (px)

Citation preview

  • 8/10/2019 CT Ch6 Part1

    1/58

    Computed Tomography

    (Part 1)

    Yao Wang

    Polytechnic School of Engineering

    New York University, Brooklyn, NY 11201

    Based on Prince and Links, Medical Imaging Signals and Systems and

    Lecture Notes by Prince. Figures are from the book.

    EL-GY 6813 / BE-GY 6203 / G16.4426

    Medical Imaging

  • 8/10/2019 CT Ch6 Part1

    2/58

    F14 Yao Wang @ NYU

    Lecture Outline

    Instrumentation

    CT Generations

    X-ray source and collimation

    CT detectors

    Image Formation

    Line integrals

    Parallel Ray Reconstruction

    Radon transform

    Back projection

    Filtered backprojection

    Convolution backprojection

    Implementation issues

    2

  • 8/10/2019 CT Ch6 Part1

    3/58

    F14 Yao Wang @ NYU

    Limitation of Projection Radiography

    Projection radiography

    Projection of a 2D slice along one direction only

    Can only see the shadowof the 3D body

    CT: generating many 1D projections in different angles

    When the angle spacing is sufficiently small, can reconstruct the

    2D slice very well

    3

  • 8/10/2019 CT Ch6 Part1

    4/58

    F14 Yao Wang @ NYU

    1stGeneration CT: Parallel Projections

    4

  • 8/10/2019 CT Ch6 Part1

    5/58

    F14 Yao Wang @ NYU

    2ndGeneration

    5

  • 8/10/2019 CT Ch6 Part1

    6/58

  • 8/10/2019 CT Ch6 Part1

    7/58F14 Yao Wang @ NYU

    4G

    FastCannot use

    collimator atdetector, hence

    affected byscattering

    7

  • 8/10/2019 CT Ch6 Part1

    8/58F14 Yao Wang @ NYU

    5G: Electron Beam CT (EBCT)

    Stationary source and detector.Used for fast (cine) whole heart imaging

    Source of x-ray moves around by steering an electronbeam around X-ray tube anode.

    8

  • 8/10/2019 CT Ch6 Part1

    9/58F14 Yao Wang @ NYU

    6G: Helical CT

    Entire abdomen or chest can be completed in 30 sec.

    9

  • 8/10/2019 CT Ch6 Part1

    10/58F14 Yao Wang @ NYU

    7G: Multislice

    From http://www.kau.edu.sa/Files/0008512/Files/19500_2nd_presentation_final.pdf

    10

  • 8/10/2019 CT Ch6 Part1

    11/58F14 Yao Wang @ NYU

    Reduced scan time and increased Z-resolution (thin slices)Most modern MSCT systems generates 64 slices per rotation, can image

    whole body (1.5 m) in 30 sec.

    From http://www.kau.edu.sa/Files/0008512/Files/19500_2nd_presentation_final.pdf

    11

  • 8/10/2019 CT Ch6 Part1

    12/58F14 Yao Wang @ NYU

    Generation Source Source Collimation Detector

    1st Single X-ray Tube Pencil Beam Single

    2nd Single X-ray Tube Fan Beam (not enough to cover FOV) Multiple

    3rd Single X-ray Tube Fan Beam (enough to cover FOV) Many

    4th Single X-ray Tube Fan Beam covers FOV

    Stationary

    Ring of

    Detectors

    5th

    Many tungsten

    anodes in single

    large tube Fan Beam

    Stationary

    Ring of

    Detectors

    6th 3G/4G 3G/4G 3G/4G

    7th Single X-ray Tube Cone Beam

    Multiple

    array of

    detectors

    From http://www.kau.edu.sa/Files/0008512/Files/19500_2nd_presentation_final.pdf

    12

  • 8/10/2019 CT Ch6 Part1

    13/58F14 Yao Wang @ NYU

    From http://www.kau.edu.sa/Files/0008512/Files/19500_2nd_presentation_final.pdf

    13

  • 8/10/2019 CT Ch6 Part1

    14/58F14 Yao Wang @ NYU

    X-ray Source

    14

  • 8/10/2019 CT Ch6 Part1

    15/58

    Dual Energy CT

    Recall that linear attenuation coefficient depends on theX-ray energy

    Dual energy CT enables simultanious acquisition to two

    images of the organ, reflecting their attenuation profilescorresponding to different energies

    The scanner has two x-ray tubes using two different

    voltage levels to generate the x-rays.

    F14 Yao Wang @ NYU 15

  • 8/10/2019 CT Ch6 Part1

    16/58F14 Yao Wang @ NYU

    X-ray Detectors

    Convert detected photons to lights

    Convert light to electric current

    16

  • 8/10/2019 CT Ch6 Part1

    17/58F14 Yao Wang @ NYU

    CT Measurement Model

    17

  • 8/10/2019 CT Ch6 Part1

    18/58F14 Yao Wang @ NYU 18

    I_0 must be calibrated for each detector, measured in the absence of

    attenuating objects

  • 8/10/2019 CT Ch6 Part1

    19/58F14 Yao Wang @ NYU

    CT Number

    Need 12 bits to represent, h=-1000 for air..

    Godfrey Hounsfield, together with Alan Cormack, invented X-ray CT!

    19

  • 8/10/2019 CT Ch6 Part1

    20/58F14 Yao Wang @ NYU

    Parameterization of a Line

    s

    x

    y

    = l

    Option 1 (parameterized bys):

    Option 2:

    Each projection line isdefined by (l,!)

    A point on this line (x,y) can

    be specified with two options

    20

  • 8/10/2019 CT Ch6 Part1

    21/58F14 Yao Wang @ NYU

    Line Integral: parametric form

    21

  • 8/10/2019 CT Ch6 Part1

    22/58

    F14 Yao Wang @ NYU

    Line Integral: set form

    22

  • 8/10/2019 CT Ch6 Part1

    23/58

    F14 Yao Wang @ NYU

    Physical meaning of f

    & g

    23

  • 8/10/2019 CT Ch6 Part1

    24/58

    F14 Yao Wang @ NYU

    What is g(l,)?

    24

  • 8/10/2019 CT Ch6 Part1

    25/58

    F14 Yao Wang @ NYU

    Example

    Example 1: Consider an image slice which contains a

    single square in the center. What is its projections along0, 45, 90, 135 degrees?

    Example 2: Instead of a square, we have a rectangle.Repeat.

    25

  • 8/10/2019 CT Ch6 Part1

    26/58

    F14 Yao Wang @ NYU

    Sinogram

    26

    Bottom row: !=0 (vertical proj), middle !="/2 (horizontal proj), top !="-d!

  • 8/10/2019 CT Ch6 Part1

    27/58

    F14 Yao Wang @ NYU

    Backprojection

    The simplest method for reconstructing an image from a

    projection along an angle is by backprojection

    Assigning every point in the image along the line defined by (l,!) theprojected value g(l, !), repeat for all l for the given !

    s

    x

    y

    27

  • 8/10/2019 CT Ch6 Part1

    28/58

    F14 Yao Wang @ NYU 28

  • 8/10/2019 CT Ch6 Part1

    29/58

    F14 Yao Wang @ NYU

    Example

    Continue with the example of the image with a square in

    the center. Determine the backprojected image fromeach projection and the reconstruction by summing

    different number of backprojections

    29

  • 8/10/2019 CT Ch6 Part1

    30/58

    F14 Yao Wang @ NYU

    Two Ways of Performing Backprojection

    Option 1: assigning value of g(l, !) to all points on the line (l, !)

    g(l, !) is only measured at certain l: ln=n #l If l is coarsely sampled (#l is large), many points in an image will not be

    assigned a value

    Many points on the line may not be a sample point in a digital image

    Option 2: For each !, go through all sampling points (x,y) in animage, find its corresponding l=x cos !+y sin !, take the g valuefor (l, !)

    g(l, !) is only measured at certain l: ln=n #l

    must interpolate g(l, !) for any l from given g(ln, !)

    Option 2 is better, as it makes sure all sample points in an image are

    assigned a value

    For more accurate results, the backprojected value at each pointshould be divided by the length of the underlying image in theprojection direction (if known)

    30

  • 8/10/2019 CT Ch6 Part1

    31/58

    F14 Yao Wang @ NYU

    Backprojection Summation

    Replaced by asum in practice

    31

  • 8/10/2019 CT Ch6 Part1

    32/58

    F14 Yao Wang @ NYU

    Implementation Issues

    From L. Parra at CUNY, http://bme.ccny.cuny.edu/faculty/parra/teaching/med-imaging/lecture4.pdf32

    g(:,phi) stores the projection data at angle phi corresponding to excentricities stored in s_n

  • 8/10/2019 CT Ch6 Part1

    33/58

    F14 Yao Wang @ NYU

    Implementation: Projection

    To create projection data using computers will have similar problems.Possible l and !are both quantized. If you first specify (l,!), then find (x,y)that are on this line. It is not easy. Instead, for given !, you can go throughall (x,y) and determine corresponding l, quantize l to one of those you wantto collect data.

    Sample matlab code (for illustration purpose only)

    f(x,y) stores the original image data

    G(l,phi) stores projection data, ql is the desired quantization stepsize for l.

    N=ceil(sqrt(I*I+J*J))+1; %(assume image size IxJ), N0 is maximum lateral distance

    N0= floor((N-1)/2);ql=1;

    G=zeros(N,180);

    for phi=0:179for (x=-J/2:J/2-1; y=-I/2:I/2-1)

    l=x*cos(phi*pi/180)+y*sin(phi*pi/180);

    l=round(l/ql)+N0+1;If (l>=1) && (l

  • 8/10/2019 CT Ch6 Part1

    34/58

    F14 Yao Wang @ NYU

    Problems with Backprojection

    !Blurring

    34

  • 8/10/2019 CT Ch6 Part1

    35/58

    F14 Yao Wang @ NYU

    Projection Slice Theorem

    The Fourier Transform of a projection at angle !is a line in theFourier transform of the image at the same angle.

    If (l,!) are sampled sufficientlydense, then from g (l,!) weessentially know F(u,v) (on the polar coordinate), and by inverse

    transform we can obtain f(x,y)!

    dlljlgG }2exp{),(),( !"##" $=%&

    &$

    35

    Ill t ti f th P j ti Sli

  • 8/10/2019 CT Ch6 Part1

    36/58

    F14 Yao Wang @ NYU

    Illustration of the Projection Slice

    Theorem

    36

  • 8/10/2019 CT Ch6 Part1

    37/58

    F14 Yao Wang @ NYU

    Proof

    Go through on the board

    Using the set form of the line integral

    See Prince&Links, P. 203 (2ndedition)

    dlljlgG }2exp{),(),( !"##" $=%&

    &$

    37

  • 8/10/2019 CT Ch6 Part1

    38/58

    F14 Yao Wang @ NYU

    The Fourier Method

    The projection slice theorem leads to the following

    conceptuallysimple reconstruction method

    Take 1D FT of each projection to obtain G($,!) for all !

    Convert G($,!) to Cartesian grid F(u,v)

    Take inverse 2D FT to obtain f(x,y)

    Not widely used because

    Difficult to interpolate polar data onto a Cartesian grid

    Inverse 2D FT is time consuming

    But is important for conceptual understanding

    Take inverse 2D FT on G($,!) on the polar coordinate leads tothe widely used Filtered Backprojectionalgorithm

    38

  • 8/10/2019 CT Ch6 Part1

    39/58

    F14 Yao Wang @ NYU

    Filtered Backprojection

    Inverse 2D FT in Cartesian coordinate:

    Inverse 2D FT in Polar coordinate:

    Proof of filtered backprojection algorithm

    Inverse FT

    ! ! +

    = dudvevuFyxf yvxuj )(2),(),( "

    ! !>" #>"+

    =

    $

    %%$& %&&%&%&

    20 0

    )sincos(2)sin,cos(),( ddeFyxf yxj

    =l=G(",!)

    39

  • 8/10/2019 CT Ch6 Part1

    40/58

    F14 Yao Wang @ NYU

    Filtered Backprojection Algorithm

    Algorithm:

    For each !

    Take 1D FT of g(l,!) for each !-> G($,!)

    Frequency domain filtering: G($,!) -> Q($,!)=|$|G($,!)

    Take inverse 1D FT: Q($,!) -> q(l,!)

    Backprojecting q(l,!) to image domain -> b!(x,y)

    Sum of backprojected images for all !

    40

  • 8/10/2019 CT Ch6 Part1

    41/58

    F14 Yao Wang @ NYU

    Function of the Ramp Filter

    Filter response:

    c($) =|$|

    High pass filter

    G($,!) is more denselysampled when $is small, and

    vice verse The ramp filter compensate

    for the sparser sampling athigher $

    41

  • 8/10/2019 CT Ch6 Part1

    42/58

    F14 Yao Wang @ NYU

    Convolution Backprojection

    The Filtered backprojection method requires taking 2 Fourier

    transforms (forward and inverse) for each projection

    Instead of performing filtering in the FT domain, perform convolutionin the spatial domain

    Assuming c(l) is the spatial domain filter

    |$| c(l)

    |$|G($,!) c(l) * g(l,!)

    For each !:

    Convolve projection g(l,!) with c(l): q(l,!)= g(l,!) * c(l)

    Backprojecting q(l,!) to image domain -> b!(x,y)

    Add b!(x,y) to the backprojection sum

    Much faster if c(l) is short

    Used in most commercial CT scanners

    42

  • 8/10/2019 CT Ch6 Part1

    43/58

    F14 Yao Wang @ NYU 43

  • 8/10/2019 CT Ch6 Part1

    44/58

    F14 Yao Wang @ NYU

    Step 1: Convolution

    44

  • 8/10/2019 CT Ch6 Part1

    45/58

    F14 Yao Wang @ NYU

    Step 2: Backprojection

    45

  • 8/10/2019 CT Ch6 Part1

    46/58

    F14 Yao Wang @ NYU

    Step 3: Summation

    46

  • 8/10/2019 CT Ch6 Part1

    47/58

    F14 Yao Wang @ NYU

    Ramp Filter Design

    47

  • 8/10/2019 CT Ch6 Part1

    48/58

    F14 Yao Wang @ NYU

    The Ram-Lak Filter (from [Kak&Slaney])

    48

  • 8/10/2019 CT Ch6 Part1

    49/58

    F14 Yao Wang @ NYU

    Common Filters

    Ram-Lak: using the rectangular window

    Tend to amplify noise

    Shepp-Logan: using a sinc window

    Cosine: using a cosine window

    Hamming: using a generalized Hamming window

    See Fig. B.5 in A. Webb, Introduction to biomedicalimaging

    49

  • 8/10/2019 CT Ch6 Part1

    50/58

    F14 Yao Wang @ NYU

    Practical Implementation

    Projectionsg(l, !)are only measured at finite intervals

    l=n#; #chosen based on maximum frequency in G(",!), W

    1/#>=2W or #

  • 8/10/2019 CT Ch6 Part1

    51/58

    F14 Yao Wang @ NYU

    Matlab Implementation

    MATLAB (image toolbox) has several built-in functions:

    phantom: create phantom images of size NxNI = PHANTOM(DEF,N) DEF=Shepp-Logan,Modified Shepp-Logan

    Can also construct your own phantom, or use an arbitrary image

    radon: generate projection data from a phantom

    Can specify sampling of !R = RADON(I,THETA)

    The number of samples per projection angle = sqrt(2) N

    iradon: reconstruct an image from measured projections

    Uses the filtered backprojection method

    Can choose different filters and different interpolation methods forperforming backprojection

    [I,H]=IRADON(R,THETA,INTERPOLATION,FILTER,FREQUENCY_SCALING,OUTPUT_SIZE)

    Use help radonetc. to learn the specifics

    Other useful command:

    imshow, imagesc, colormap

    51

  • 8/10/2019 CT Ch6 Part1

    52/58

    Use MATLAB to illustrate projection and reconstruction

    using different parameter settings

    More vs. less projection angles

    Different filters

    I=phantom(def,N),

    DEF='Shepp-Logan, 'Modified Shepp-Logan (default)

    R = RADON(I,THETA), e.g. THETA=0:179 or 0:2:179

    I = IRADON(R,THETA,INTERPOLATION,FILTER)

    Interpoltation filters: used for backprojection

    'nearest' - nearest neighbor interpolation,

    'linear' - linear interpolation (default),

    'spline' - spline interpolation

    Reconstruction filter: Ram-Lak (default), 'Shepp-Logan, 'Cosine

    F14 Yao Wang @ NYU 52

  • 8/10/2019 CT Ch6 Part1

    53/58

    F14 Yao Wang @ NYU 53

    Top: 180 projectionsMiddle: 90 projections

    Bottom: 45 projections

    MATLAB code:

    >> I=imread('lena.jpg');>> r180=radon(I,0:179); % 0:2:179;

    >> p180=iradon(r180,0:179,spline,cosine);>> subplot(1,3,1),imagesc(I);

    >> subplot(1,3,2),imagesc(r180);

    >> subplot(1,3,3),imagesc(p180);

    >> truesize>> colormap(gray)

    S

  • 8/10/2019 CT Ch6 Part1

    54/58

    F14 Yao Wang @ NYU

    Summary

    Different generations of CT machines:

    Difference and pros and cons of each

    X-ray source and detector design

    Require (close-to) monogenic x-ray source

    Relation between detector reading and absorption properties of theimaged slice

    Line integral of absorption coefficients (Radon transform)

    Reconstruction methods

    Backprojection summation

    Fourier method (projection slice theorem)

    Filtered backprojection

    Convolution backprojection

    Impact of number of projection angles on reconstruction imagequality

    Matlab implementations

    Equivalent, but differ in

    computation

    54

    R f

  • 8/10/2019 CT Ch6 Part1

    55/58

    F14 Yao Wang @ NYU

    Reference

    Prince and Links, Medical Imaging Signals and Systems,Chap 6.

    Webb, Introduction to biomedical imaging, Appendix B.

    Kak and Slanley, Principles of Computerized

    Tomographic Imaging, IEEE Press, 1988. Chap. 3

    Electronic copy available at

    http://www.slaney.org/pct/pct-toc.html

    Good description of different generations of CTmachines

    http://www.kau.edu.sa/Files/0008512/Files/19500_2nd_presentation_final.pdf

    http://bme.ccny.cuny.edu/faculty/parra/teaching/med-imaging/

    lecture4.pdf

    55

    H k

  • 8/10/2019 CT Ch6 Part1

    56/58

    F14 Yao Wang @ NYU

    Homework

    Reading:

    Prince and Links, Medical Imaging Signals and Systems,Chap6, Sec.6.1-6.3.3

    Note down all the corrections for Ch. 6 on your copy ofthe textbook based on the provided errata.

    Problems for Chap 6 of the text book:

    1. P6.5

    2. P6.14 (Note that you can leave the solution of part (a) in theform of the convolution of two functions without deriving theactual convolution. For part (b) you could describe in terms ofintuition.)

    3. P6.17

    4. The added problem in the following page

    56

  • 8/10/2019 CT Ch6 Part1

    57/58

    Added problem

    Consider a 4x4 discrete image that contains a diagonal lineI=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1];

    a) determine its projections in the directions: 0, 45,90,135 degrees.

    b) determine the backprojected image from each projection;

    c) determine the reconstructed images by using projections in the 0 and 90degrees only.

    d) determine the reconstructed images by using all projections. Comment onthe difference from c).

    Note that for back-projection, you should normalize the backprojection ineach direction based on the total length of projection along that direction inthe square area.

    F14 Yao Wang @ NYU 57

    Computer Assignment

  • 8/10/2019 CT Ch6 Part1

    58/58

    Computer AssignmentDue: Two weeks from lecture date

    1. Learn how do phantom.radon,iradonwork; summarize theirfunctionalities. Type demoson the command line, then select toolbox -

    > image processing -> transform -> reconstructing an image fromprojection data. Alternatively, you can use helpfor each particularfunction.

    2. Write a MATLAB program that 1) generate a phantom image (you can usea standard phantom provided by MATLAB or construct your own), 2)produce projections in a specified number of angle, 3) reconstruct the

    phantom using backprojection summation; Your program should allow theuser to specify the number of projection angle. Run your program withdifferent number of projections for the same view angle, and the differentview angles, and compare the quality. You should NOT use the radon( )and iradon()function in MATLAB.

    3. Repeat 1 but uses filter backprojection method for step 3). In addition to

    the number of projection angles, you should be able to specify the filteramong several filters provided by Matlab and the interpolation filters usedfor backprojection. Compare the reconstructed image quality obtained withdifferent filters and interpolation methods for the same view angle andnumber of projections. You can use the iradon()function in MATLAB

    4. (Optional) Repeat 3 but uses convolution backprojection method. Youhave to do your own program