8Using FBP to perform iterative reconstruction

The readers should be aware that this chapter is based solely on author’s recent research. Many results have not been carefully cross-validated by the imaging community. A Chinese idiom goes like this: To throw a brick to attract jade. It means that the author’s attempt is only preliminary and it may trigger further progress.

This chapter is motivated by the fact that the iterative algorithms are much robust than the filtered backprojection (FBP) algorithms and provide better images for the same given projection data set. On the other hand, the FBP algorithms are much faster than the iterative algorithms. It would be nice to develop FBP algorithms that can give almost the same images as those provided by the iterative algorithms. In fact, under some fairly common situations, this is possible.

8.1The Landweber algorithm: From recursive form to non-recursive form

As discussed in Sections 6.3.2 and 6.9.2, the kth iteration of the Landweber algorithm can be expressed as

X(k)=X(k1)+αAT(PAX(k1))=αATP+(IαATA)X(k1)=αATP+(IαATA)[αATP+(IαATA)X(k2)]=αATP+(IαATA)αATP+(IαATA)2X(k2)=αATP+(IαATA)αATP+(IαATA)[αATP+(IαATA)X(k3)]=αATP+(IαATA)αATP+(IαATA)2αATP+(IαATA)3X(k3)==[I+(IαATA)++(IαATA)k1]αATP+(IαATA)kX(0)=[n=0k1(IαATA)n]αATP+(IαATA)kX(0).

The first line of eq. (8.1) is a recursive expression, in which X(k) depends on X(k–1). The last line of eq. (8.1) in non-recursive, and X(n), n =1,2,..., k – 1, does not appear on the right-hand side.

The Landweber iterative algorithm is used to solve the system AX = P. If noise weighting is also considered, the last line of eq. (8.1) becomes

X(k)=[n=0k1(IαATWA)n]αATWP+(IαATWA)kX(0).

Our FBP algorithm will be derived based on eq. (8.2). There are two terms in eq. (8.2). We will study them one at a time. Let us define two matrices in eq. (8.2):

F(k)[n=0k1(IαATWA)n]αATW

and

H(k)(IαATWA)k.

Thus eq. (8.2) can be rewritten as

X(k)F(k)P+H(k)X(0).

The first term in eq. (8.5) only depends on the projections P, while the second term only depends on the initial condition X(0). Equation (8.2) is not in a closed form, because there is a n=0k1 on the right-hand side. Our next step is to remove this n=0k1 sign.

8.2The Landweber algorithm: From non-recursive form to closed form

In order to turn n=0k1(IαATWA)n into a closed form, let us recall the summation formula for the geometric series

n=0k1rk=1rk1r.

A similar summation formula exists for matrices:

n=0k1Bn=(IB)1(IBK)

if (IB)–1 exists. Thus, we have

F(k)=αn=0k1(IαATWA)nATW=(ATWA)1[I(IαATWA)k]ATW.

If the initial condition is zero, that is, X(0) = , the kth iteration of the Landweber algorithm has a closed form of

X(k)=F(k)P

in the sense that F(k) in the right-hand side of (8.8) does not contains the summation sign . Our next step is to convert the closed-form Landweber algorithm into a backprojection-then-filtering analytic algorithm.

8.3The Landweber algorithm: From closed form to backprojection-then-filtering algorithm

For the sake of simplicity, we drop the noise weighting W in this section. We will put it back in the next section when we derive an FBP algorithm. Let us rewrite eq. (8.9) as follows:

X(k)=(ATA)1[I(IαATA)k]ATP

and make some observations. Here A is the projection matrix and AT is the back-projection matrix. Hence, ATA is the matrix for the projection-then-backprojection operation. Equation (8.10) implies that the projections P are first backprojected into the image domain by ATP, which is filtered by an image domain filter (ATA)–1[I –(IαATA)k].

8.3.1Implementation of (AT A)–1 in the Fourier domain

In Section 2.6.7, we have the following two expressions:

Bpolar(ω,θ)=Fpolar(ω,θ)|ω|,B(ωx,ωy)=F(ωx,ωy)ωx2+ωy2.

Equation (2.37) is in the polar coordinate system, and eq. (2.38) is its counterpart in the Cartesian coordinate system. They are both in the Fourier domain. Here F is the 2D Fourier transform of the original object f, and B is the 2D Fourier transform of the projection-then-backprojection of f. Therefore, multiplying an image by ATA is equivalent to filtering the image with a transfer function 1/|ω|, where ω is the radial variable in the polar Fourier space.

Multiplying an image by (ATA)–1 is equivalent to filtering the image with a transfer function |ω|. We will show that [I –(IαATA)k] is equivalent to a window function in the Fourier domain next.

8.3.2Implementation of I –(IαAT A)k in the Fourier domain

Multiplying an image with an identity matrix I does nothing to the image. In the Fourier domain, this is equivalent to filtering the image with a transfer function 1(one).

As pointed out in Section 8.3.1, multiplying an image by ATA is equivalent to filtering the image with a transfer function 1/|ω|. Hence, multiply an image by (IαATA) is equivalent to filtering the image with a transfer function (1 – α/|ω|). Multiply an image by (IαATA)k is equivalent to filtering the image k times with a transfer function (1–α/|ω|), which is the same as filtering the image with a transfer function (1–α/ |ω|)k. Thus, multiplying an image by I –(IαATA)k is equivalent to filtering the image with atransferfunction1–(1– α/|ω|)k.

8.3.3Landweber algorithm: Backprojection-then-filtering algorithm

Using the results in Sections 8.3.1 and 8.3.2, we are ready to implement the Landweber algorithm using an analytic backprojection-then-filtering algorithm. Let us once again rewrite eq. (8.9) here

X(k)=(ATA)1[I(IαATA)k]ATP.

We can do part-by-part translation from the matrix notation to the Fourier domain transfer function and arrive at the following implementation steps:

1.Let B = ATP. This is backprojection of the sinogram P into the image domain.

2.Take the 2D Fourier transform of the backprojected image B.

3.In the Fourier domain, apply the 2D Fourier transform of the backprojected image with a transfer function |ω|[1 – (1 – α/ |ω|)k] where |ω|=ωx2+ωy2.

4.Take the 2D inverse Fourier transform to obtain the final image.

If we compare this algorithm with the standard backprojection-then-filtering algorithm in Section 2.3.4, they are identical except that here we replace the 2D ramp filter |ω| by a windowed 2D ramp filter |ω|[1 – (1 – α/|ω|)k]. The only thing new is the window function [1 – (1 – α/|ω|)k] with parameters α and k, where α corresponds to the step size in the Landweber algorithm and k corresponds to the number of iterations in the Landweber algorithm.

8.3.4Numerical examples of the window function

In order to see what this window function W(ω)=1 – (1 – α/|ω|)k looks like, let us plot some cases of the window function in Figure 8.1. Before plotting, discretization is required. The frequency ω is defined in the range of [–0.5, 0.5]. This window function is not defined at ω =0. We define W(0) = 1 as a usual practice for a window function. Let the sampling interval on [–0.5, 0.5] be 1/1,024.

image

Fig. 8.1: Window functions for k =10,100, and 1000, respectively.

The selection of the parameter α can be tricky. If α is not properly chosen (1 – α/|ω|)k can be unbounded with k → ∞. We will use the worst case to find a proper α. The smallest positive (discrete) frequency is the sampling interval 1/1,024. We require that

|11,024α|<1,

which gives

0<α<21,024=1Numberoffrequencysampleson[0,0.5].

We pick the median value for α as

α=1/1024=1Numberoffrequencysampleson[0,0.5]

The window function is even and only the positive frequency half is shown in Figure 8.1. We observe that the window function W(ω)=1–(1– α/|ω|)k is like a low-pass filter. For a smaller k, the bandwidth is narrower. As k increases, the bandwidth gets wider.

8.4The Landweber algorithm: The weighted FBP algorithm

8.4.1Landweber algorithm: FBP without noise weighting

In Section 8.3, a backprojection-then-filtering algorithm is derived to emulate the iterative Landweber algorithm. This algorithm is almost the same as the conventional backprojection-then-filtering algorithm except that the ramp filter is modified by a window function, which is controlled by the iteration number k and a parameter α.

As presented in Chapter 2, many algorithms are equivalent and they belong to a big FBP family. Figure 2.9 lists 10 algorithms in this big family, and they can be converted from any one of them to another.

To convert a backprojection-then-filtering algorithm to an FBP algorithm, all one has to do is to take the central slice of the 2D ramp filter as the 1D filter. In our case, the 2D ramp filter and the 2D window function are isotropic (that is, radially symmetrical). If presented in the polar coordinate system, they are functions of the radius, and independent from the angles. The 1D central sections of them have the same expressions as the 2D radial expression (see Figure 8.2). Therefore, the FBP algorithm that emulates the Landweber algorithm consists of the following steps:

1.Find the 1D Fourier transform of the projections p(s, θ) with respect to the first variable s, obtaining P(ω, θ).

2.Multiply P(ω, θ) with a windowed ramp filter |ω|[1 – (1 – α/ |ω|)k], obtaining Q(ω, θ).

3.Find the 1D inverse Fourier transform of Q(ω, θ) with respect to the first variable ω, obtaining q(s, θ).

4.Backproject q(s, θ) to obtain the final reconstruction.

This FBP algorithm is almost the same as the conventional FBP algorithm, except that the conventional ramp filter is replaced by a windowed ramp filter and the window function is controlled by the iteration number k and a parameter α. The transition from an iterative algorithm to an FBP algorithm is not so bad, is it?

image

Fig. 8.2: The 1D ramp filter is a central slice of the 2D ramp filter.

You are encouraged to implement this Landweber-FBP algorithm and the iterative Landweber algorithm. When you compare their reconstructed images, the images are not 100% identical. These two algorithms are not truly equivalent. The FBP algorithm assumes continuous functions and has a shift-invariant property. On the other hand, the iterative algorithm depends on how the image array pixels are defined. The combined projection and backprojection ATA in an iterative algorithm does not give a perfect 1/r point spread function. The discrepancy between the results of these two algorithms is caused by the discrepancy between ATA and the 1/r point spread function. However, the discrepancies are not large. Figure 8.3 shows a pair of reconstructions by these two algorithms with k = 20, where the values of the parameter α are different for two algorithms.

8.4.2Landweber algorithm: FBP with view-based noise weighting

One of the important reasons to use an iterative algorithm is to incorporate the noise model during image reconstruction. This section consider a simplified case: the noise weighting is view based. In other words, the weighting factors for all rays at a particular view are the same.

If the initial image is zero, the closed-form Landweber algorithm is

X(k)=(ATWA)1[I(IαATWA)k]ATWP.

If the noise weighting is view based, matrix W is block-diagonal. Each block corresponds to all the rays in a view. Within each block the diagonal elements are identical.

It is not easy to see what matrix W is doing in ATWA. However, a central slice at a particular angle of ATWA is simply |ω| multiplied by a scalar wm, where m is the view index. Thus, the windowed ramp filter at the mth view is given as

image

Fig. 8.3: Images reconstructed by the iterative Landweber algorithm (left and the broken line profile) and the Landweber-FBP algorithm (right and the solid line profile). The profiles are drawn across the central horizontal line.

|ω|wm[1(1αwm/|ω|)k].

In eq. (8.15), ATWP is weighted backprojection of the projections P. At the mth view, all the projections are first multiplied by the scalar wm and then are backprojected to the image domain. In fact, at the mth view, the projection data multiplier wm cancels the wm in the first part ω /wm of eq. (8.16). The net result is that for view-based noise weighting eq. (8.15) is equivalent to

X(k)=(ATA)1[I(IαATWA)k]ATP.

The corresponding FBP algorithm for eq. (8.17) is given as follows:

1.Find the 1D Fourier transform of the projections p(s, θ) with respect to the first variable s, obtaining P(ω, θ).

2.Multiply P(ω, θ) with a windowed ramp filter |ω|[1 – (1 – αwθ/|w|)k], obtaining Q(ω, θ).

3.Find the 1D inverse Fourier transform of Q(ω, θ) with respect to the first variable ω, obtaining q(s, θ).

4.Backproject q(s, θ) to obtain the final reconstruction.

The view-based noise weighting only changes the window function of the ramp filter. The window function depends on the iteration number k, a parameter α, and the view-based weighting wθ.

8.4.3Landweber algorithm: FBP with ray-based noise weighting

The FBP algorithms without noise weighting and with view-based noise weighting give shift-invariant point spread function in the reconstructed image. Using ray-based noise weighting will make the FBP algorithm have a shift-variant point spread function. The reconstruction time for ray-based noise weighting can be significantly lengthened. The advantage of using an FBP algorithm would be diminished.

In order to make the algorithm fast, let us be creative. A little deviation in the weighting function has almost no effects on the reconstruction. At each view angle, we quantize the ray-based weighting function into N +1values: w0, w1,, wN, which in turn give N + 1 different filters. They are

Wk,α,wn(ω)=1(1αwn|ω|)k,whenω0,andWk,α,wn(0)=1,

for n = 0, 1, 2, ..., N. Using these N +1 filters, N + 1 sets of filtered projections are obtained. Before backprojection, one of these N + 1 projections is selected for each ray according to its proper weighting function. Only one backprojection is performed using the selected filtered projections.

As an example, let us assume that N is 10 and the measurements are transmission data. Before the projections data are ready to process, we form 11 Fourier domain filter transfer functions Wk,α,wn(ω) as defined in eq. (8.18) with, say, wn = exp(–0.1 × n × pmax), n = 0, 1, 2, ..., 10, respectively. Here pmax is the maximum value of the measured line integrals. In implementation, ω is a discrete frequency index and takes the discrete values of between –0.5 and 0.5 (and “0.5” corresponds to the highest frequency). Note that wn = exp(–0.1 × n × pmax) is for one exemplary noise model. One can use other weighting functions for other noise models. The ray-based FBP algorithm can be implemented as

image

Fig. 8.4: Reconstruction results for the clinical data: (Top) The conventional FBP reconstruction, (Bottom) The ray-based noise-weighted FBP reconstruction. Display window is from –400 to 400 HU. [Thanks Raoul M. S. Joemai of Leiden University Medical Center for the CT scan.]

1.At each view angle θ, find the 1D Fourier transform of p(s, θ) with respect to s, obtaining P(ω, θ).

2.Form N + 1 versions of Qn(ω, θ)= P(ω, θWk,α,wn(ω)with n =0, 1, ..., N.

3.Take the 1D inverse Fourier transform of Qn(ω, θ) with respect to ω, obtaining qn(s, θ) with n =0, 1,..., N.

4.Construct q(s, θ) by letting q(s, θ)= qn(s, θ) if p(s, θ)≈ n × pmax/N.

5.Backproject q(s, θ) to obtain the final image.

This ray-based FBP algorithm is fast, because it only performs backprojection once. Backprojection is the most time-consuming part in an FBP algorithm. We now demonstrate the effectiveness of this ray-based noise weighting FBP algorithm using a low-dose x-ray CT patient data set (see Figure 8.4). The severe horizontal streaking artifacts across the body are significantly reduced.

8.5FBP algorithm with quadratic constraints

Other than being able to model the data noise, the iterative algorithm can also incorporate constraints as Bayesian optimization. If the constraints are quadratic functions of the image, an FBP algorithm can be developed to incorporate them.

The Bayesian constraints regulate the solutions and effectively control the noise propagation. Therefore, the common iterative Bayesian algorithms do not diverge and, in theory, can iterate till infinity. There is no need to stop the algorithms early. Many researchers use both noise weighting and Bayesian constraints for iterative image reconstruction.

One can set up a Bayesian objective function

χ2=||AXP||w2+β||FXGY||2=XTATWAX2XTATWP+PTWP+β(XTFTFX2XTFTGY+YTGTGY)

where Y is a reference image, and F and G are feature extracting matrices. This objective function pushes the selected feature of X to look like the selected feature of Y. For example, if Y is zero and F is the identity matrix, this objective function is looking for a minimum norm solution. If F and G are edge extracting matrices, this objective function is looking for an X that has edges similar to the edges of Y.

The gradient of the objective function (8.19) is

χ2=2[ATWAX2ATWP+β(FTFXFTGY)]

and its corresponding iterative Landweber algorithm can be readily obtained as

X(k)=X(k1)α[ATW(AX(k1)P)+βFT(FX(k1)GY)]=(IαATWAαβFTF)X(k1)+αATWP+αβFTGY=(αATWA+αβFTF)1[I(IαATWAαβFTF)k](αATWP+αβFTGY)+(IαATWAαβFTF)kX(0).=(ATWA+βFTF)1[I(IαATWAαβFTF)k](ATWP+βFTGY)+(IαATWAαβFTF)kX(0).

If the initial image is zero, the Landweber Bayesian algorithm becomes

X(k)=(ATWA+βFTF)1[I(IαATWAαβFTF)k](ATWP+βFTGY).

The linear iterative algorithm (8.22) can be readily translated into an FBP algorithm.

8.5.1Example of minimum norm-constrained FBP

In order to convert this iterative Bayesian Landweber algorithm (8.22) to an FBP algorithm, we need to know F, G, and Y. As an example, let Y be zero, and F be the identity matrix. In this case, a minimum norm solution is sought. We also assume that W is view-based noise weighting. Then eq. (8.22) becomes

X(k)=(ATWA+βI)1[I(IαATWAαβI)k]ATWP,

and the corresponding modified ramp function for the noise-weighted Bayesian FBP algorithm is given as

RAMPm(ω)=wmwm|ω|+β[1(1αwm|ω|αβ)k]=|ω|11+β|ω|/wm[1(1αwm|ω|αβ)k],

where m is the angle index and wm is the noise weighting for the mth angle. In a Bayesian algorithm, the iteration number can be arbitrarily large. Let k, then the window function associated with eq. (8.24) becomes

Wm(ω)=11+β|ω|/wm.

In order to see what this window function Wm(ω) in eq. (8.25) looks like, let us plot some cases of the window function in Figure 8.5. Let the sampling interval on [0, 0.5] be 0.5/512 = 1/1024. Let β/α be 1. It is observed from Figure 8.5 that a smaller weight wm gives a narrower bandwidth and stronger lowpass filtering.

The implementation of a noise-weighted Bayesian-FBP algorithm is almost the same as a noise-weighted Landweber FBP algorithm; the only difference is in the window function expressions.

image

Fig. 8.5: Window functions for the Bayesian-FBP algorithm with wm =0.1,0.4 and 0.7, respectively.

8.5.2Example of reference image-constrained FBP

Let us present another example in which there is no noise weighting, but there is a reference image Y, which can also be represented as a pure backprojection (without ramp filtering) of a certain sinogram Q, i.e., Y = ATQ. Let F = G = I. We want X to look like Y. In this example, eq. (8.22) becomes

X(k)=(ATA+βI)1[I(IαATAαβI)k](ATP+βY)=(ATA+βI)1[I(IαATAαβI)k]ATP+βATQ)

For a Bayesian algorithm, we can let k → ∞. Thus eq. (8.26) is reduced to

X(k)=(ATA+βI)1(ATP+βATQ).

The Fourier domain counterpart of (ATA + βI)–1 is

11|ω|+β=|ω|1+β|ω|,

which leads to the corresponding window function for the ramp filter as

W(ω)=11+β|ω|.

This window function is not a stranger to us and is very similar to eq. (8.25). If we plot it with respect to the frequency ω, it looks like a lowpass filter, similar to the curves in Figure 8.5.

Something new to us is in ATP + βY and in ATP + βATQ, where P is the projection array and ATP backprojects P into the image domain. The reference Y is given in the image domain, and Y = ATQ. What is this Q? Well, if we backproject Q to get Y, then Q is the rampfiltered version of AY.

The Bayesian-FBP version of eq. (8.27) can be implemented as follows:

1.We are given projections p(s, θ) and a reference image fref(x, y). At each view angle θ, we forward project fref(x, y), obtaining pref(s, θ). Then apply the ramp filter to pref(s, θ), obtaining qref(s, θ). Form new projections pnew(s, θ)= p(s, θ)+ βqref(s, θ).

2.Find the 1D Fourier transform of Pnew(ω, θ) with respect to s, obtaining Pnew(ω, θ)

3.Use the window function (8.29) and compute Qnew(ω, θ)= Pnew(ω, θ)×|ωW(ω).

4.Take the 1D inverse Fourier transform of Qnew(ω, θ) with respect to ω, obtaining qnew(s, θ).

5.Backproject qnew(s, θ) to obtain the final image.

You may ask: “What is the reference image Y?” We use an MRI example to answer this question. We want to generate a movie of a human beating heart, using a radial k-space data acquisition method. We do not have time to acquire a full k-space data set at each time frame. At each time frame, we barely have time to measure data in 24 views. At a different time frame, we measure different 24 views. If we sum up measurements from 4 consecutive time frames, we would get 96 different views and they can be considered to form a full data set. For each time frame, we would like to reconstruct an image X. Before we reconstruct X, we use the data from closest 5 time frames (present +2 before +2 after) to reconstruct a reference image Y. When weactually reconstruct image X, the reference image Ycomes in to help. Some reconstruction results are shown in Figure 8.6.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset