• No results found

7.4 Computation of the Forward Operator

7.4.2 Geometry Factor Symmetries

The geometry factor relies on computation of the scatter vector s = r− r, which has length

s = |s| and the cosine factor at the detector surface |n · ˆs|. For our geometry, the cosine

factor equals the magnitude of the x component of the corresponding unit vector ˆs = ss.

Translation Symmetry

For the system envisioned in this chapter, there is a large rectangular array of small detector pixels. A typical detector may have an array of approximately 1500 by 2000 pixels with pixel widths of 0.19 mm. One choice in reconstruction is the reconstructed pixel widths in the object domain. These pixel widths should be motivated from a first principles analysis of achievable resolution of the final system. Even then, some flexibility in the exact pixel width remains. Suppose that the displacement between pixel centers in the y direction (across the source fan) is an integer multiple of the detector pixel widths. For our simulations, we use a factor of 16 to get 16*0.19 = 3.04 mm width in the y direction. Let v be a vector corresponding to the translation of a pixel in the object by one pixel width along the y direction. Then, the trivial equality

(r+ v)− (r + v) = (r − r) = s (7.3)

implies that for each scatter vector from object location r to detector location r, there is a scatter vector from object location r + v to detector location r+ v. Thus, given scatter vectors computed for one value of y in the object, the scatter vectors for adjacent object locations are nearly all determined, with only scatter vectors corresponding to detector pixels near the edge of the detector array needing to be computed. This gives a very efficient update for their computations.

Let us assume there are M detector rows (z-direction), N detector columns (y-direction), and T SFyrepresents the number of y-directional detector pixels that correspond to 1 y-directional

object pixel. Pseudocode 7.3 shows the effect translation symmetry has on the computational structure for the forward operator. From the pseudocode, we see that previous geometry

factor computations are reused, and only a miniscule fraction of the geometry factor image needs to be recomputed. For a 1500 by 2000 detector array and a translation symmetry factor of 16, the reduction in geometry factor computation is about 98.9%.

Pseudocode 7.3 Computational structure for forward operator incorporating translation symmetry

Given object scattering density f (r, q)

compute predefined momentum transfer q samples, scatter angle θ samples, and source factor matrix S(θ, q) for predefined q and θ samples

initialize detector image to zero for each object pixel x do

for each object pixel y do Sf (θ) = S(θ, :)× f(r, :)

if ry is first pixel along y direction then

compute geometry factor image G(1 : M, 1 : N ) else

update geometry factor image G(:, T SFy + 1 : N ) = G(:, 1 : N− T SFy)

recompute G(:, 1 : T SFy)

end if

compute and interpolate scatter angle image interpolate Sf (θ) at scatter angle image compute mask modulation factor image

detector image += geometry factor image × mask modulation factor image × inter- polated Sf (θ)

end for end for

Left-right Mirror Symmetry

Another form of symmetry that we can exploit in the computation of the forward model is a left-right mirror symmetry. Let us assume that the fan beam is perpendicular to the detector plane. If the y-coordinates of the source and the center of the detector array are equal, then we can consider an object reconstruction region whose center’s y-coordinate is aligned with the source and detector. For such an object region, we can select an even number of pixels along the y direction. With this choice, the scatter vectors from the left half of the object region are a mirror reflection of those on the right half of the region. The scatter angles and magnitude of the scatter vectors are equal for both halves of the object region.

As a result of the left-right mirror symmetry, we only need to compute the geometry factor and scatter angles for one half of the object region, a savings of 50% in geometry computation.

Pseudocode 7.4 shows the the modification of the forward operator computation due to left- right mirror symmetry. The pseudocode assumes that the mask modulation factor is left-right symmetric.

Pseudocode 7.4 Computational structure for forward operator incorporating left-right mir- ror symmetry. “fliplr”flips the image from left to right.

Given object scattering density f (r, q)

compute predefined momentum transfer q samples, scatter angle θ samples, and source factor matrix S(θ, q) for predefined q and θ samples

initialize two symmetric detector images to zero for each object pixel x do

for each object pixel y in the left half do SfL(θ) = S(θ, :)× f([x, y, 0], :)

SfR(θ) = S(θ, :)× f([x, −y, 0], :)

if y is first pixel along y direction then

compute geometry factor image G(1 : M, 1 : N ) else

update geometry factor image G(:, T SFy + 1 : N ) = G(:, 1 : N− T SFy)

recompute G(:, 1 : T SFy)

end if

compute and interpolate scatter angle image interpolate SfL(θ) at scatter angle image

interpolate SfR(θ) at scatter angle image

compute mask modulation factor image

detector image left += geometry factor image × mask modulation factor image × interpolated SfL(θ)

detector image right += geometry factor image × mask modulation factor image × interpolated SfR(θ)

end for end for

detector image = detector image left + fliplr(detector image right)

One of the difficulties with this symmetry is that it is easily broken in reality. The source and the detector array’s center may not share the same y-coordinate. In that case, we can transform the measurements, with a potential data loss near the left and right edges, by shifting the measurement window to align the source and detector center.

In addition, the mask modulation may not be symmetric about y = 0. This completely breaks the left-right mirror symmetry. A method that alleviates this break in left-right mirror symmetry is discussed later on in the chapter.

Up-down Mirror Symmetry

In addition to left-right mirror symmetry, further improvements in the efficiency of the forward operator computation are possible, with additional constraints on the geometry. If we assume that the fan beam is perpendicular to the detector plane and that the z-coordinate of the source equals that of the detector array center, then the scatter vectors from the object to the top portion of the detector array are reflections of those to the bottom half.

Pseudocode 7.5 depicts the incremental change of the forward operator computational struc- ture attributed to up-down mirror symmetry. The pseudocode assumes that the mask modu- lation factor is left-right and up-down symmetric. Since only a half of the detector arrays are used in geometry factor and scatter angle computation, a further savings of 50% is achieved. Using both left-right and up-down mirror symmetries result in a 75% decrease in geometry and scatter angle computations, since we only need to compute the scatter vector from one half of the object to a half of the detector array.

In a real system, it may be difficult to align the fan beam and detector array well enough to achieve this setting. However, this vertical centering can be mimicked at a loss of a few measurements near the top and bottom of the detector array; the measured data can be cropped so that the fan beam is centered.

As was the case with left-right mirror symmetry, if the mask modulation factor is not sym- metric about z = 0, then the up-down symmetry is broken. In essence, the choice of the computational algorithm affects the design of the mask and the geometry as a whole. If we anticipate an efficient algorithm with includes online computation of the mask modulation factor, then the secondary mask should be designed to allow for the mirror symmetries. On the other hand, given a fixed secondary mask, the algorithm should be designed to ac- commodate the potential absence of mirror symmetries. As we will see later, the left-right and up-down mirror symmetries can still be enforced even when the mask is not mirror symmetric. This algorithmic choice is directly influenced by the system design.