PROJECTION AND BAC PROJECTION METHODS AND CORRESPONDING IMPLEMENTATION ALGORITHMS
BACKGROUND OF THE INVENTION
The present invention relates generally to the processes of reprojection- backprojection, and more specifically, to reprojection-backprojection techniques/algorithms that includes new interpolation and data access schemes that result in better speed, lower artifacts, lower noise and higher spatial resolution than existing techniques.
In computed tomography, the operation that transforms an N-Dimension image into an N-Dimension set of line integrals is called the forward projection or reprojection. The most evident example of this operation is the physical process that generates an X-ray image of an object. After logarithmic conversion, an X-ray image is well approximated as the line integral projection of the distribution of the object's linear attenuation coefficient. In practice, a forward projector is required for tomographic simulations or when performing iterative reconstruction.
The transpose operation is called backprojection. This is used in filtered backprojection and in iterative reconstruction, which form the bulk of today's reconstruction algorithms.
Many methods for reprojection and backprojection exist. In one method each X-ray beam is represented by a line and the intersection length of each line with each pixel is used as weight factor. Another technique performs linear interpolation between two pixels for each row or column that the X-ray beam intersects (see Figure 1 ). The latter two methods are ray-driven methods.
In the projection case, all projection lines are looped over, and for each projection line the image weighting and summing image pixel values are run
through in order to approximate a ray-integral. The backprojection is defined as the transpose operation: the weight factors remain the same, but the detector values are weighted and assigned to the image pixels.
Another technique is the pixel-driven approach, which is typically used in filtered backprojection (see Figure 2). All image pixels are looped over, and for each image pixel a line is drawn connecting the source and the image pixel. The intersection of that line with the detector array is then determined. Linear interpolation is performed between the two detector values nearest to the intersection point and the result is assigned to the image pixel. The reprojection operation is defined as the transpose operation. The weights for the left and right detector bin are given by
d,. -d ω, d,. -d,
Eqn (1 ) d-d, dr -d.
where d is the location of the intersection, dr and d/ are the first detector bin centers to the right and to the left of the intersection.
Other approaches exist, such as methods based on spherical basic functions and methods using nearest-neighbor or no interpolation.
The reprojection and backprojection operations are a computationally intensive but essential part of simulation and reconstruction techniques such as those used in CT or the like. Most existing approaches can be subdivided into ray-driven and pixel driven methods. One drawback to both the ray- driven and pixel driven methods resides in the fact that they introduce artifacts, the first one (viz., the ray driven method) in the backprojection and the latter (viz., the pixel driven method) in the reprojection. Another drawback to both methods resides in the percentage of the data used in each view reprojection/backprojection .
For example, in the case of a ray-driven projection of an image with pixels that are much smaller than the detector bin size, only a fraction of the pixels contributes to the projection at that angle. The same is true for the opposite case of the pixel driven backprojection. In iterative reconstruction, where both a reprojection and backprojection method are required, a combination of a ray-driven reprojection and pixel-driven backprojection could be considered to circumvent previous problems. However, even while this is possible, it is often preferred to use a matched reprojector-backprojector pair. In fact, an important criterion in choosing a reprojector-backprojector approach is speed.
The two main limiting factors on speed are arithmetic complexity and data access time. For the ray-driven approach, the arithmetics is relatively simple. It is therefore much faster than the pixel driven approach for small data sizes. At larger data sizes however, the data access time becomes more important and at this stage the pixel-driven approach starts to benefit from its sequential image access time while the ray-driven approach more or less accesses the data randomly. For the 3D cone-beam case, data sets become even larger and therefore data access time gains importance.
For further disclosure pertaining to these techniques and the types of apparatus which are used in connection therewith, reference may be had to United States Patent No. 5,848, 114 issued on December 8, 1998 in the name of Kawai et al.; United States Patent No. 6,351 ,514 issued in the name of Besson on February 26, 2002; United States Patent No. 6,339,632 issued in the name of Besson on January 15, 2002. The contents of these patents is hereby incorporated by reference thereto.
SUMMARY OF THE INVENTION
More specifically, a first aspect of the present invention resides in a method of image processing comprising: projecting pixels in a pixel grid onto a detector having a plurality of bins, or vice versa; dynamically adjusting a dimension of
a square window for one of a pixel and a detector bin so that adjacent windows form a continuous shadow over one of the detector bins of the detector and the image pixels; and determining the effect of each pixel on each bin of the detector or vice versa.
A second aspect of the invention resides in a method of image processing comprising: projecting edges of each pixel of a pixel grid, that is intersected by a ray projected from a source to a detector, in a predetermined linear sequence of pixels in the pixel grid, onto a predetermined line that passes through the grid; projecting the edges of each bin of a detector onto the predetermined line; and determining the contribution of each pixel to a bin of the detector array or vice versa in accordance with the projections of the pixel edges and the detector bin edges on the predetermined line.
A third aspect of the present invention resides in a method of image processing comprising: establishing a pixel grid containing image pixels which are arranged in image rows and columns; continuously mapping respective transitions between image pixels and detector-bins of a detector which has detected radiation from a radiation source comprising: projecting detector bin transitions onto a predetermined line; projecting the pixel transitions onto the predetermined line; and weighting one of the detector bins and pixels with segment lengths on the predetermined line, based on distances between adjacent projections to calculate their contribution.
A fourth aspect of the present invention resides in a computer readable medium encoded with a program executable by a computer for processing an image, said program being configured to instruct the computer to: project pixels in a pixel grid onto a detector having a plurality of bins, or vice versa; dynamically adjust a dimension of a square window for one of a pixel and a detector bin so that adjacent windows form a continuous shadow over one of the detector bins of the detector and the image pixels; and determine the effect of each pixel on each bin of the detector or vice versa.
A fifth aspect of the invention resides in a computer readable medium encoded with a program executable by a computer for processing an image, said program being configured to instruct the computer to: project edges of each pixel of a pixel grid, that is intersected by a ray projected from a source to a detector, in a predetermined linear sequence of pixels in the pixel grid, onto a predetermined line that passes through the grid; project the edges of each bin of a detector onto the predetermined line; and determine the contribution of each pixel to a bin of the detector array or vice versa in accordance with the projections of the pixel edges and the detector bin edges on the predetermined line.
A sixth aspect of the present invention resides in a computer readable medium encoded with a program executable by a computer for processing an image, said program being configured to instruct the computer to: establish a pixel grid containing image pixels which are arranged in image rows and columns; continuously map respective transitions between image pixels and detector-bins of a detector which has detected radiation from a source by: projecting detector bin transitions onto a predetermined line; projecting the pixel transitions onto the predetermined line; and weighting one of the detector bins and pixels with segment lengths on the predetermined line, based on distances between adjacent projections to calculate their contribution.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic representation of a ray-driven reprojection- backprojection with linear interpolation wherein, for every row or column intersected by the projection line, linear interpolation is performed between the two adjacent pixels.
Figure 2 is a schematic representation of a pixel-driven reprojection- backprojection with linear interpolation wherein a line connecting source and
image pixel determines an intersection with the detector array and wherein linear interpolation is performed between the two adjacent detector bins.
Figure 3 is a depiction of a ray-driven backprojection of a uniform view showing the result wherein high-frequency artifacts are introduced because some pixels are updated more frequently than their neighbors.
Figure 4 is a graphical representation of a pixel-driven projection of a uniform disk wherein high-frequency artifacts are introduced because some detector bins are updated more frequently than their neighbors.
Figure 5 is a schematic depiction of a representation of the pixel-driven linear inter-polation method wherein, due to the irregular overlap of the projected square windows, some detector bins will see more contributions than other, resulting in high-frequency oscillations.
Figure 6 depicts a pixel-driven linear interpolation method wherein the width of the square windows is adjusted so that they are always adjacent.
Figure 7 depicts a distance-driven reprojector-backprojector wherein both the detector bin interfaces and the pixel interfaces are mapped onto the x-axis, and wherein the resulting segment lengths are used as weight factors in the projection and backprojection.
Figure 8 depicts a distance-driven projector-backprojector providing a closer view of the interlaced pattern of pixel interfaces pi and detector interfaces di.
Figure 9 graphically depicts a distance-driven projection of a uniform disk wherein the high-frequency oscillations are entirely eliminated.
Figure 10 is a distance-driven backprojection of a uniform view wherein the high-frequency artifacts are entirely eliminated.
Figure 11 is a graph showing plots of time per backprojection for a SUN E4500 computer versus data size.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In order to better understand the embodiments of the present invention a more detailed explanation of the above prior art techniques is deemed appropriate. In Figs. 1 , 2, 6 and 7 the grid depicts a pixel image reconstruction grid which is fixed in a three dimensional coordinate system, onto which pixels are mapped in accordance with data acquired in response to a ray being projected from the source to the detector both (schematically shown). Each of the squares in these grids depicts a pixel.
As noted above, a drawback encountered with both the ray-driven and the pixel-driven method is that they introduce high-frequency artifacts, one in the backprojection and another in the reprojection. Figure 3 shows an example of a ray-driven backprojection of one uniform view. The interference pattern is due to the fact that some pixels are updated more frequently than other pixels. The artifact problem is worse when the pixel size is small compared to the detector bin size, and vanishes when the pixel size is large compared to the detector bin size.
Figure 4 graphically shows one sinogram line of a pixel-driven projection of a uniform disk. By way of example, in Computed Tomography, a measured data set (sinogram) is made up of a large number of views (projections). Each view corresponds to a measurement with the entire detector array, so each view in turn consists of a large number of detector bins (projection lines). A typical sinogram consists of 1500 views/projections of 1000 detector bins/projection lines.
As mentioned above, the interference pattern is due to the fact that some detector bins are updated more frequently than their neighbors. Further, the
artifact problem is more pronounced when the detector bin size is small compared to the pixel size, and it vanishes when the detector bin size is large compared to the pixel size. In this instance the reprojections and backprojections were performed, simply by way of example, with a flat 2D fan- beam geometry, a magnification of 1.76, 256x256 pixels, 256 detector bins, 256 views over 360°, and an arbitrary start angle of 126°.
Another drawback of both methods resides in the data usage in each view projection/backprojection. Assume, for the sake of explanation, a ray-driven projection of an image with pixels that are much larger than the detector bin size (see Figure 5). Only a fraction of the pixels contributes to the projection at that angle. Similarly, in a pixel-driven backprojection with pixels that are much smaller than the detector bin size, only a fraction of the detector values are used in each view. This results in poor noise performance. In iterative reconstruction this may also lead to poor convergence properties.
A very important criterion in choosing a projector-backprojector approach is computation speed. The two main limiting factors on computation speed are arithmetic complexity and data access time. With the ray-driven approach, the arithmetics is relatively simple. It is therefore faster than the pixel-driven approach for small data sizes. At larger data sizes however, the data access time becomes more critical. Under these conditions the pixel-driven approach begins to exhibit desirable processing speed characteristics due to its inherent sequential image data accessing which reduces access time while the ray- driven approach requires a much higher degree of random accesses because it jumps over large blocks of data and thus departs from the sequential manner in which the data is stored. This results in processing delays.
For the 3D cone-beam case, however, data sets become even larger and these effects become even more important.
a) Adaptation of the Pixel-driven and Ray-driven Projector-Backprojector
Figs. 5 and 6 respectively demonstrate the features that show the shortcoming encountered with the prior art pixel driven technique and an embodiment of the invention wherein the pixel-driven technique is modified or adapted to prevent the high-frequency artifacts.
More specifically, an intersection with the detector array is located. At the intersection, a Dirac impulse with area equal to the pixel value is assumed. This is convolved with a rectangular window with a width equal to the detector bin size. The weights are obtained by integrating the result over both adjacent detector bins. This results in the following formula for the weights:
dm -(d-(d, -d,)l2) ω, =- d, -d,
where dm is the position of the interface centered between / and dr. This is identical to equation 1 , which shows the equivalence of this representation. It is desired, by projecting one uniform row of pixels, to achieve an essentially uniform projection over the projected range corresponding to this row (except for the slightly varying path length due to the varying location of intersection). However, due to the irregular overlap of the projected square windows, some detector bins will see more contributions than other, resulting in high- frequency oscillations.
This is solved, in accordance with this adapted ray driven embodiment of the invention, by adjusting the width of the square windows or shadows of the pixels so that they are always adjacent and so that gaps are eliminated and
they effectively become continuous. This is illustrated by the gray shadowed areas in Figure 6 and can be expressed as:
W = Ap -M -cosotj I Δd,
where W is the new width of the square window, Δp is the pixel size, _d is the detector bin size, M is the magnification, and o is the angle of the projection line. Cos o^ can be pre-calculated if it is approximated by cos α_/m. However, the window width W cannot be larger than the detector bin sized, d, — dι, because then it may overlap more than 2 detector bins.
The algorithm could, of course, be generalized to allow overlapping multiple detector bins using a while-loop for instance. However, this brings about the situation wherein the artifact reduction advantage does not balance the increase in algorithmic complexity.
In the adaptation of the pixel driven technique, the dynamic adjustment is applied to the pixels rather than the bins.
More specifically, a similar argument is made for the artifacts introduced in the ray-driven backprojection. This results in the following weights for the corrected algorithm:
mm(pn„p -r W/2)-(p-W/2)
-y, =max ,0 w ω, = 1 - ai Eqn (4)
W=MI M /cosap /Δp,
where p is the location of the intersection, and pr and / are the first pixel centers to the right and to the left of the intersection. However, in this
instance, the window width W cannot be larger than the image pixel size, pf — Pi, because then it may overlap more than 2 image pixels.
The speed of these adapted methods is assumed comparable to the original algorithms. Both adapted methods completely eliminate the artifacts shown in Figs 3 and 4, which result with the original methods...
b) Distance-driven Projection-Backprojection
The present invention is, in this embodiment, based on a continuous mapping of the detector array on an image row or column or vice versa and more particularly is based on mapping along the direction of the projection lines. For fast computation, all detector locations and image locations are projected onto an arbitrarily selected line, which can be, for example, the x- or y-axis of the image.
With this, the image data are accessed sequentially, similar to the pixel driven approach, the arithmetic is simple and similar to the ray-driven approach, no artifacts are introduced and all data is used uniformly in each view. The new algorithm is amendable for implementation in both hardware and software, is simple and provides speed, full data usage which reduces noise, and does not introduce artifacts.
More specifically, the embodiment of this technique is illustrated in Fig. 7 and is based on a continuous mapping of the detector array onto an image row (or column) or vice versa, and more particularly on mapping along the direction of the projection lines. For fast computation, the x-axis (or y-axis) is, as mentioned above, used as reference for the relative location of pixels and detector bins. In order to define a continuous mapping of image pixels and detector-bins, rather than working with the centers, it is the transitions between pixels and between detector bins which are used. First, all detector bin transitions are projected onto the x-axis (or y-axis or an arbitrarily
determined axis). Next all image rows (or columns) are looped over and the pixel transitions are projected onto the axis. A value is read from the image, weighted with the appropriate segment length defined between projections, and assigned to the detector bin or pixel as the case demands.
Figure 8 shows a more detailed view of the interlaced pattern of detector interfaces dh pixel interfaces p,, detector values dl and pixel values pv. In this example the contribution of the row under consideration to the ray sums d,} can be written as
-d4)-pu +(d5 -p2)-p2, d a45 -- iPl d5 -d4
while for the backprojection we have
((d2 -p )-d 2 +(d-i -d2)-d2ιι +
(d, -p
2)-d
4, +(d
b -d
5)-d
56 +(p^ -d
6)-d
61
Figure 9 shows the distance-driven projection of a uniform disk, equivalent to the result of the pixel-driven projection in Fig. 4. As will be appreciated, the high-frequency oscillations are, just like with the adapted pixel-driven projector and with the line-driven projector, entirely eliminated using this technique.
Figure 10 shows the distance-driven equivalent of the result of the ray-driven backprojection in Fig. 3. Again, the high-frequency artifacts are entirely eliminated with this approach, just like with the pixel-driven backprojector and with the adapted line-driven backprojector.
For a comparison of the performance backprojection was focussed on inasmuch as computation times for projection and backprojection are very similar. Both the images and the sinograms were chosen to be n x n pixels. Fig. 11 is a graph which shows the time required per backprojection versus data size in using the three different approaches for a SUN E4500 (10 UltraSPARC-ll, 400Mhz, 8Mb cache, 10GB RAM). For small data sizes the arithmetic process forms the bottleneck as all the data fits in the cache memory. The pixel-driven approach clearly performs worst here, while the distance-driven approach comes close to the ray-driven approach. The same optimization effort has been applied to all three algorithms. For larger data sets the memory access time becomes more important, as now the entire image no longer fits in the cache memory. It is only the ray-driven approach that really suffers from this, because the memory access is not sequential. This explains the slope of the curve for the ray-driven method. For larger data sets, the pixel-driven and distance-driven approaches have the big advantage that they can be implemented in hardware. The ray-driven one cannot, as hardware hack-projectors cannot generally afford to have access to all of the memory at once.
The above-disclosed distance-driven projection-backprojection method is summarized below. However, in order to better appreciate the nature of this technique the unamended pixel driven and ray-driven techniques will be firstly outlined.
Pixel-Driven Technique:
- Address all image pixels (*), and for each image pixel execute the following steps:
- Determine a line connecting the source and the center of the image pixel.
- Find the intersection of this line with the detector array.
- Determine the two detector bins whose centers are nearest to the intersection.
- For the backprojection: calculate the value at this intersection by linear interpolation between the two detector bins, and assign this value to the image pixel
- For the (re-)projection: assign the value of the image pixel to the two detector bins, using the same weights as in the backprojection
Ray-Driven Technique:
- Address all projection lines (**) (in all views): a projection line is defined by connecting the source and the center of a detector bin.
- For each projection line execute the following steps:
- For the (re-)projection: reset the projection sum.
- Address all image rows (***), and for each image row (***) do the following steps:
- Calculate the intersection of the projection line with (the centerline of) the image row (***).
- Determine the two image pixels in this row (***) whose centers are nearest to the intersection.
- For the (re-)projection: calculate the value at this intersection by linear interpolation between the two image pixels, and add this value to the projection sum.
- For the backprojection: add the value of the detector bin to the two image pixels, using the same weights as in the (re-)projection.
- For the (re-)projection: assign the projection sum to the detector bin.
Distance-driven technique:
- Address all views, and for each view, execute the following steps:
- For each detector bin:
- Determine the edges of the detector bin:
- Determine a line by connecting the detector bin edge and the x-ray source
- Calculate the intersection of this line with the x-axis (***)
- This intersection defines the projected detector bin edge
- Address all image rows, and for each image row execute the following steps:
- Address all image pixels in this rows, and for each image pixel execute the following steps:
- Determine the left and right (***) edges of the image pixel:
- Determine a line by connecting the pixel edge and the x-ray source.
- Calculate the intersection of this line with the x-axis (***).
- This intersection defines the projected pixel edge.
- Make a sorted list of projected detector bin edges and projected pixel edges
- Start at the first edge that is most left on the x-axis (***), and determine the current pixel and the current detector bin.
- Until the most right edge is reached, execute the following steps:
- Determine which is the next edge (****).
- Update the current pixel or the current detector bin.
- Calculate the weight factor as the position of the current edge minus the position of the previous edge.
- For the (re-)projection: multiply the value of the current image pixel by the weight factor and add it to the current detector bin.
- For the backprojection: multiply the value of the current detector bin by the weight factor and add it to the current image pixel
Key:
(*) denotes/pertains to "pixel-driven" (**) denotes/pertains to "ray-driven"
(***) If the orientation of the projection lines is more horizontal than vertical, then the following conversions are necessary: 'row' <--> 'column'
'x-axis' <--> 'y-axis' 'left' <--> 'bottom' 'right' <--> 'top' (****) denotes/pertains to "distance-driven" feature
It should be noted that this summary of the disclosed techniques is illustrative and not to be taken as specifically limiting the scope of the invention and that while the preceding disclosure has focussed only on a limited number of projecting and backprojecting methods the application of these techniques is not limited to CT applications. It should also be noted that adapting the conventional ray-driven and pixel-driven linear interpolation eliminates high- frequency artifacts, under given restrictive assumptions. The distance-driven method however, entirely eliminates artifacts without any restrictive assumptions, in each view, all the data contributes uniformly to the resulting projection or backprojection, and it has favorable computational properties.
Additionally, although methods for a 2D flat-detector fan-beam CT geometry have been discussed, it will be understood that the methods and conclusions are not limited thereto and that one of skill in this art or one closely related thereto, will appreciate that the concepts are adaptable to other 2D- and 3D (or more)-geometries, including, merely by way of example, PET- and SPECT-geometries.