Efficient quasi-exact 3D image reconstruction algorithm for CT scanners
09665953 ยท 2017-05-30
Assignee
Inventors
Cpc classification
International classification
Abstract
A CT scanner comprises: at least one source of X-rays and a multi-row detector array of arbitrary geometry, both supported so as rotate around an axis of rotation during a scan of an object translated along the axis, wherein data for each detector is generated as a function of the X-ray energy received; and a data processor configured so as to perform resampling of the data onto curves in a virtual detector array. The curves project onto tilted lines in a virtual flat detector as to enable tangential filtering of the data.
Claims
1. A CT scanner comprising: at least one source of X-rays and a multi-row detector array having non-flat and non-circular geometry, both supported so as rotate around an axis of rotation during a scan of an object translated along the said axis, wherein data for each detector is generated as a function of the X-ray energy received; and a data processor configured so as to perform equiangular resampling with row dithering of the data onto curves in a virtual detector array; wherein said curves project onto tilted lines in a virtual flat detector as to enable tangential filtering of the data.
2. A data processor according to claim 1, wherein the virtual detector array is flat with equidistant detectors.
3. A data processor according to claim 1, wherein the virtual detector array is cylindrical with equiangular detectors.
4. A data processor according to claim 1, wherein the data is half segment data.
5. A data processor according to claim 4, wherein the data processor is configured so as to perform equiangular resampling of the data onto curves in a virtual detector array.
6. A data processor according to claim 4, wherein the data processor is configured so as to perform equiangular resampling of the data with row dithering onto curves in a virtual detector array.
7. A data processor according to claim 1, when the data processor is configured so as to perform fan-beam and cone-beam weighting of the data.
8. A data processor according to claim 1, when the data processor is configured so as to perform redundancy weighting of the data.
9. A data processor according to claim 1, when the data processor is configured so as to perform tangential filtering of the data.
10. A data processor according to claim 1, when the data processor is configured so as to perform adaptive upsampling of the data.
11. A data processor according to claim 1, wherein the data processor is configured so as to backproject the data with sparse computation so as to produce back projected image voxels.
12. A data processor according to claim 11, when the data processor is configured so as to perform Z-axis interpolation of the back projected image voxels.
Description
GENERAL DESCRIPTION OF THE DRAWINGS
(1) In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
DETAILED DESCRIPTION OF THE DRAWINGS
(26) Market considerations drive CT scanner design towards faster scanning speed while maintaining image quality. One way to gain higher speed helical CT acquisitions is to increase the coverage of the scanned object by increasing the number of detector rows. The drawback of increasing the number of detector rows is that the cone-angle of the detector array increases, causing more prominent cone-beam image artifacts. Therefore, one must utilize an appropriate 3D reconstruction process which can maintain cone-beam artifacts at an appropriate level as specified by the application.
(27) Approximate 3D image reconstruction processes based on the FDK process are popular due to relative simplicity and robustness. Furthermore, the FDK process combined with enhancements proposed in the prior art, namely, tilted plane reconstruction and tangential filtering, can further reduce image artifacts compared with the standard FDK process.
(28) Such an enhanced quasi-exact version of the helical FDK process is an attractive choice for the modern CT scanner. However, there exist at least three limitations that inhibit implementation of such a process on CT scanners.
(29) First, FDK processes in the literature are designed for flat or cylindrical detector arrays. Moreover, the enhanced FDK process including tangential filtering is only designed for a flat detector array. If directly applied, such processes may not be applicable to modern CT scanning systems with unconventional beamline geometry. As used herein the terms unconventional beamline geometry and arbitrary beamline geometry each mean a beamline geometry in which the detector array represents a non-flat, non-cylindrical surface with possibly non-uniformly spaced detectors. Therefore, as described hereinafter, the data can be resampled into a flat or cylindrical detector geometry before reconstruction. The method described hereafter is designed to perform such resampling while keeping resampled detector size as small as possible and reducing computation without compromising image quality (IQ).
(30) Secondly, FDK processes in the literature generate aliasing artifacts in scanners with large fields of view (FOV) due to the increase in sampling intervals of projected voxel locations on the detector array with increasing distance from the center of the FOV. In particular, for voxels close the X-ray source position in a given view, the sampling interval of projected voxel locations significantly exceeds the detector size, resulting in prominent aliasing artifacts.
(31) Thirdly, computational complexity of 3D processes is significantly higher than that of 2D processes. Therefore, an efficient process and numerical implementation as well as a suitable hardware platform are required. In particular, processes and their numerical implementations must be aligned with reconstruction time requirements given the hardware platform.
(32) The present disclosure describes a CT scanner and scanning technique that employs a novel quasi-exact process derived from FDK, which handles arbitrary beamline geometry, reduces artifacts in scanners with large FOVs, and improves image quality while simultaneously enabling an efficient accelerated implementation on hardware such as graphics processing units (GPUs).
(33) The improvements to CT scanning systems described herein are useful in any CT scanning system including medical scanners as well as baggage scanners. An embodiment of a typical baggage scanner is shown in
(34) The CT scanning system 120 includes an annular shaped rotating platform, or disk, 124 disposed within a gantry support 125 for rotation about a rotation axis 127 (shown in
(35) The system 120 includes an X-ray tube 128 and a detector array 130 which are disposed on diametrically opposite sides of the platform 124. The detector array 130 is preferably a two-dimensional array of any arbitrary geometry, as will be explained more fully hereinafter. The system 120 further includes a data acquisition system (DAS) 134 for receiving and processing signals generated by detector array 130, and an X-ray tube control system 136 for supplying power to, and otherwise controlling the operation of X-ray tube 128. The system 120 is also preferably provided with a computerized system (shown in
(36) The X-ray tube 128 includes at least one cathode and one anode for creating at least one separate focal spot from which an X-ray beam can be created and generated. The beam shown generally at 132 in
(37) As shown in
(38) As mentioned above, image reconstruction processes for helical CT scans can be classified into 2D and 3D processes. For a given cone angle, 3D processes produce fewer cone-beam artifacts when compared with the 2D processes. Relative image quality improvement achieved by 3D processes increases with scanner pitch and the number of detector rows.
(39) A difference between 2D and 3D processes is illustrated in
(40) By contrast, 3D processes perform image reconstruction without conversion to intermediate 2D processes. One of the most widely used 3D image reconstruction processes is known as the Feldkamp Davis Kress (FDK) process. The FDK process is relatively easy to implement, stable, tractable, and is widely adopted by the industry. The FDK process includes filtering and 3D back-projection. First, the projection data are filtered along the detector rows. Second, 3D back-projection of the filtered data is performed. As shown in
(41) Aspects of image reconstruction processes are further illustrated with respect to two types of scan modes: the helical scan mode, as described above and the axial scan mode, realized by stopping the belt movement. In the axial scan mode, the X-ray source moves along the circular trajectory around the imaged object.
(42) Aspects of the original FDK process for an axial scan are illustrated in
(43) The original FDK process has gained popularity due to its stability and ease of implementation. Numerous extensions of the process have been proposed to adapt the process to different scanning geometries and to improve image quality. The extension of the FDK process to constant pitch helical scanning, illustrated in
(44) Enhancements of the helical FDK process to reduce artifacts were recently proposed, including tilted plane reconstruction, (see, for example, Yan, M. and Zhang, C., Tilted Plane Feldkamp Type Reconstruction Algorithm for Spiral Cone Beam CT, Med. Phys. 32 (11), 2005), and tangential filtering (see, for example, Sourbelle, K., and Kalender, W. A., Generalization of Feldkamp reconstruction for Clinical Spiral Cone-Beam CT).
(45) The tilted plane reconstruction enhancement is as follows. The FDK process results in an exact reconstruction for a given plane when the source trajectory segment that is utilized lies in the plane. However, a constant speed helical source trajectory segment is not contained in any one plane. Inconsistency between the actual out-of-plane source trajectory and the in-plane assumption used in FDK process generates cone-beam artifacts. It was shown that by selecting planes of voxels to be reconstructed using closely fitted segments of the source trajectory, associated artifacts can be reduced. The tilted plane reconstruction approach will be used herein.
(46) Tangential filtering for flat detector arrays is generally illustrated in
(47) As stated, there are challenges using the FDK process in a scanner employing a non-conventional detector array. The following challenges shall be addressed in order to adapt the FDK process to a scanning system with a non-conventional (non-flat) detector array, while achieving maximum image quality (IQ): 1. Use of the helical FDK process results in relatively high levels of cone-beam artifacts. Two key enhancements proposed in the literature greatly improve Image Quality. First, the tilted plane reconstruction approach described in Yan, M. and Zhang, C., Tilted Plane Feldkamp Reconstruction Algorithm for Spiral Cone Beam CT, Med. Phys. 32 (11), 2005, reduces image artifacts by reducing the mathematical inconsistency between rays used to reconstruct a given voxel. Second, filtering data along tilted lines that follow the source trajectory (tangential filtering) [see, for example, Sourbell, K., and Kalender, W. A., Generalization of Feldkamp reconstruction for Clinical Spiral Cone-Beam CT] significantly reduces cone-beam artifacts. These process modifications must be implemented to reduce cone-beam artifacts. 2. FDK processes in the literature are usually designed for cylindrical detector arrays, which may not be applicable to modern CT scanners with unconventional (i.e., non-flat, non-cylindrical) beamline geometry. Moreover, tangential filtering approach was proposed only for flat detector geometry. Therefore, in order to use the FDK process with tangential filtering enhancement in conjunction with unconventional detector geometry, the data must be resampled into a suitable detector geometry before reconstruction. This operation is performed while keeping resampled detector size as small as possible and reducing computation without compromising IQ. 3. FDK processes in the literature generate aliasing artifacts in scanners with large fields of view (FOV) due to the increase in sampling interval of voxel locations projected on the detector array with increasing distanced from the center of the FOV. 4. Computational complexity of the process is significantly higher than that of 2D processes. Therefore, an efficient process and numerical implementation is required. In particular, processes and their numerical implementations must be aligned with reconstruction time requirements given the hardware platform.
(48) As previously noted scanners do not always include detector arrays that are made from one of two conventional geometries, i.e, flat and cylindrical, and in fact can physically be made in any one of a variety of shapes, particularly scanners used in security applications. In accordance with the teachings described herein, as shown as an exemplary embodiment in
(49) According to one embodiment of a CT scanning system incorporating features which address these issues is described hereinafter. As shown in
(50) In one embodiment, the CT scanner employing the detector array with an arbitrary geometry is configured to carry out the exemplary steps of the process illustrated by the flow diagram of
(51) At the Equiangular resampling with row dithering step 234 of
(52) Simultaneously, row dithering is used during step 234 (shown in
(53) Referring again to
(54) At the Redundancy weighting step 238 of
(55) At the Tangential Filtering step 240 of
(56) At the back-projection step 244 of
(57) At the Adaptive upsampling step 242 of
(58) Furthermore, computation burden of the adaptive upsampling step can be reduced by adapting the upsampling frequency to image location as required to achieve optimal image quality.
(59) Three concentric zones for two different views are shown in
(60) Referring again to
(61) More specifically, as shown in
(62) Finally as noted above and shown in
(63) Herein, the embodiment of the method is presented using cylindrical virtual detector resampling approach.
(64) Reference is made to
(65) TABLE-US-00001 Name Notation Description Recon- (x, y, z) The right-handed Cartesian reference frame. The struction X-ray source is moving in the direction of CS positive z. Source rotates counterclockwise when viewed from the positive z. View angle is measured with respect to x-axis. Detector 0 is at the trailing edge of the array. Row 0 is at the negative z side of the detector array. Axial (t, s, p) Right-handed Cartesian coordinate system with gantry CS origin at the intersection of scanner rotation axis and the line connecting the source and the detector array center. The s-axis points towards the source. Detector (u, v, w) Right-handed Cartesian coordinate system with cylindrical origin at the detector array center. The uv-plane is CS orthogonal to the line connecting the source and detector array center. The v-axis is parallel to the the cylinder axis of the detector array. w-axis points towards the source.
(66) For the type of scanning system shown in
s=x cos + sin
t=x sin + cos
p=zS.sub.belt(/2)(1)
where is the view angle and S.sub.belt is the distance traveled by the belt in one rotation of the rotatable disk.
(67) The transform between the axial gantry CS and a cylindrical CS of a detector array is:
U=t cos +p sin
v=t sin +p cos
w=s+(R.sub.sdR.sub.sc)
where is the detector array tilt angle, given by the scanner design. The detector array tilt angle is the angle between the v-axis and the z-axis (detector is rotated around the s-axis of the axial gantry CS). R.sub.sd and R.sub.sc are source-to-detector and source-to-center distances respectively, given by the scanner design.
(68) Referring to
(69) The method is initialized by two preparation steps: (a) reconstruction geometry setup and (b) view segment selection. The reconstruction geometry setup step constructs the reconstruction image grid and computes the necessary parameters. The View segment selection step associates data view segments with reconstruction locations.
(70) The setup of reconstruction geometry includes specifying the reconstruction grid, resampled detector parameters, reconstruction planes, and other parameters utilized in subsequent steps of the method.
(71) One embodiment of the method includes the following:
(72) Image reconstruction grid is computed using image size parameters N.sub.x, N.sub.y, and N.sub.z, in a plane voxel size d.sub.pix, image center coordinates x.sub.0, y.sub.0, and slice spacing d.sub.z. A set of reconstructed image voxels indices is selected as follows:
={(,,{circumflex over (k)})|0<N.sub.x,0<N.sub.y,0{circumflex over (k)}<N.sub.x}(3)
(73) where coordinates (x,y,z) for a voxel (,,{circumflex over (k)}) are computed as follows
x[,,{circumflex over (k)}]=(N.sub.x/2)d.sub.pix+x.sub.0
y[,,{circumflex over (k)}]=(N.sub.y/2)d.sub.pix+y.sub.0
z[,,{circumflex over (k)}]={circumflex over (k)}d.sub.x(4)
(74) Detector elevation angles are computed. Consider a virtual cylindrical detector array such as shown in
z.sub.el[j]=(jr.sub.cen)h.sub.d(5)
(75) Wherein r.sub.cen is the center detector row and h.sub.d is the detector row height, given by the scanner design. (b) Elevation angle is computed as
(76)
(77) As illustrated in
(78)
Therefore, virtual filtering lines are optimal filtering lines required for tangential filtering.
(79) Filtering line positions along the p-axis depend on the view index. For the global view counter value m[1 . . . N.sub.V], N.sub.row.sup.flat tilted filtering lines is introduced in the virtual flat detector plane P, parameterized by displacements b.sub.j.sup.m, j[1 . . . N.sub.row.sup.filt]. For j.sup.th filtered line, displacement b.sub.j.sup.m is the p-coordinate of the line at t=0 (the intersection of the line with the at detector p-axis). b.sub.j.sup.m is defined as follows:
(80)
(81) As described above, displacements for different views are defined by wrapping around a random sequence d.sub.rand(k), k[1 . . . N.sub.loop], supplied to the process. According to the teachings herein, random shift of the rows is an exemplary embodiment of the row dithering step.
(82) Each filtering line in the virtual detector plane P forms a row of the resampled detector. We define N.sub.c.sup.filt channels for one row of the resampled detector. Detector channel angle .sub.i.sup.filt of the channel i is given by:
(83)
(84) Therefore, the resampled detectors are equiangular in the detector channels.
(85) For each detector channel in each filtering line in the virtual detector plane P the corresponding row coordinate in the detector array coordinate system is computed. The row coordinate of the projection of the j.sup.th filtering line onto the detector array, as a function of detector angle .sub.i.sup.filt for the channel i is given by:
(86)
(87) Filtering lines computed using Eq. 10 are shown in
(88) Center detector for resampled detector s.sub.cen.sup.filt is computed as follows:
(89)
(90) The half-fan angle is computed as follows:
(91)
(92) Reconstruction planes with corresponding helical source trajectory segments are defined. Each reconstruction plane is defined by the center view of the associated helical trajectory segment. For each center view, the source lies in the corresponding reconstruction plane. The reconstruction plane approximately fits the helical source trajectory over the segment of 2N.sub.HS views.
(93) In one embodiment, the center views and corresponding reconstruction planes are defined as follows: 1. Center views are selected with a view spacing of N.sub.v.sub._.sub.index views. The view index k.sub.m of the center view m is given by
k.sub.m=mN.sub.v.sub._.sub.index(13) The view angle corresponding to m, [k.sub.m] is given by
(94)
(95)
(96)
={(,)|0<N.sub.x,0<N.sub.y}(18) where coordinates (x,y,z) for a voxel (,) are computed as follows:
x[,]=(N.sub.x/2)d.sub.pix+x.sub.0
y[,]=(N.sub.y/2)d.sub.pix+y.sub.0
z[,]=S.sub.belt[k.sub.m](cos [k.sub.m]x[,]+ sin [k.sub.m]y[,])tan (19)
The set of voxels defined by Eq. 19 defines the set of xy-grid voxels projected along the z-axis onto the tilted plane corresponding to the center view m.
(97) In accordance with one embodiment, equiangular resampling with row dithering is employed, as illustrated in
(98)
=.sub.i.sup.filt(21) 2. Real valued detector channel index c corresponding to the angle is obtained using linear interpolation from the given set of detector angles [i], i[1 . . . N.sub.det.sub._.sub.DAS] as follows: (a) The integer index of the adjacent detector channel on the left side is found as
(99)
(100)
(101)
(102)
(103)
(104)
w=cc(31)
r*=r.sup.(1w)+r.sup.+w(32) 5. Interpolated projection value P.sub.int.sup.m(i,j) for filtering line j and channel i is computed using bi-linear interpolation from the acquired detector data P.sup.m(.,.) as follows
d.sub.c=cc
d.sub.r=r*r*
P.sub.int.sup.m(i,j)=(1d.sub.c)(1d.sub.r)P.sup.m(c,r*)+(1d.sub.c)d.sub.rP.sup.m(c,r*+1)+d.sub.c(1d.sub.r)P.sup.m(c+1,r*)+d.sub.cd.sub.rP.sup.m(c+1,r*+1)(33)
(105) As previously described, the process includes weighting and filtering steps. For each center view, resampled detector data for the views in the corresponding segment are weighted and filtered along rows. Weighting consists of half-scan redundant data weighting, and fan-beam cone-beam weighting.
(106) Fan-beam cone-beam weighting compensates for ray divergence in the fan-beam and in z-direction. Fan-beam weighting is given by cosine of the detector angle.
(107) Redundant data weighting is required because incomplete helical source trajectory segment and fan-beam geometry is used directly at the backprojection step. Depending on the location in the FOV, there is either one ray or two complementary rays passing through the reconstructed point. In case two rays emanating from the opposite sides of the helical source trajectory pass through the reconstructed point, corresponding samples must be weighted. Weighting ensures that two contributions add up to unity and that for any given reconstruction point, contributions from rays on opposite sides of the helical source trajectory transition smoothly into one another.
(108) For each center view k.sub.m, the FDK process utilizes views from k.sub.mN.sub.HS to k.sub.m+N.sub.HS to reconstruct the group of voxels associated with the center view k.sub.m. Each of the views is weighted and filtered. Weighting depends upon the view angle relative to the center view.
(109) The following process describes processing of the views within reconstruction segment of 2N.sub.HS for a particular center view k.sub.m.
(110) The process is as follows: 1. For each view k[k.sub.mN.sub.HS . . . k.sub.m+N.sub.HS] and each row j[1 . . . N.sub.row.sup.filt] of the resampled detector data P.sub.int.sup.k(i,j), each sample i[1 . . . N.sub.c] is weighted, forming weighted data sample P.sub.W.sup.k(i,j) as follows
P.sub.W.sup.k(i,j)=P.sub.int.sup.k(i,j)cos .sub.i.sup.filtW(k,k.sub.m,i)(34) where .sub.i.sup.filt is the detector angle computed using Eq. 9 and W(k,k.sub.m,i) is the Parker weight, computed as follows. First, relative view angle .sub.r is computed
(111)
(112)
P.sup.FT=FFT[P.sup.z](37) (c) Fourier transformed row P.sup.FT is multiplied with filter frequency response, forming filtered row in the frequency domain
P.sup.FTG(i)=P.sup.FT(i)G.sup.FILT(i),i[1 . . . M.sub.p](38) (d) Filtered row is transformed back into the spatial domain, becoming row j of the filtered view k:
P.sub.FILT.sup.k(i,j)=IFFT[P.sup.FTG](i)i[1 . . . N.sub.c](39) where G.sup.FILT is the filter frequency response defined as follows. Equiangular detector ramp filter kernel of even length M.sub.p is given by
(113)
G.sup.FILT=FFT[G](41)
(114) In one embodiment backprojection with adaptive upsampling and sparse computation is used. For each center view k.sub.m selected, the backprojection step utilizes filtered views from k.sub.mN.sub.HS to k.sub.m+N.sub.HS, to reconstruct the group of voxels .sub.m associated with the center view k.sub.m. Selection of the group of voxels associated with each center view as described above. Each voxel in the group is projected into each of the filtered views. Interpolated filtered projection values are weighted and accumulated, yielding reconstructed voxel value.
(115) It has been observed that, at the edge of the FOV, the sampling interval of projected voxel locations is too large, leading to aliasing artifacts. In order to correct for these aliasing artifacts, projections onto existing views are filtered along the trajectories traced by the reconstructed points projected onto the detector. For a given reconstructed point, filtering is performed by computing interpolated filtered projection values at locations on the detector sampled between projection locations for two adjacent views.
(116) The backprojection step is the most computationally demanding step; therefore, in order to achieve required reconstruction rate, additional feature, sparse projection computation, is introduced. The concept of sparse projection computation is based on the fact that the projected location of a given reconstruction point onto the detector follow a smooth curve on the surface of the detector as a function of view angle. Therefore, it is sufficient to limit exact computation of projected coordinates of the point to only selected key views. The projected coordinates for intermediate views are computed by linearly interpolating projected coordinates computed for adjacent key views.
(117) Adaptive upsampling is integrated with sparse projection computation as follows. Projected coordinates of a reconstruction point are computed for the set of key views. Both projected coordinates of a point on intermediate views and projected coordinates corresponding to upsampled locations are computed by linear interpolation from coordinates computed for adjacent key view. The principle is illustrated in
(118) Exact computation of projection coordinates for a given voxel is now detailed. For a voxel (x, y, z), real valued row coordinate r.sub.k.sup.fl, real valued channel coordinate c.sub.k.sup.fl, and backprojection weight W.sub.k for the view k are computed as follows: 1. The voxel (x, y, z) in the reconstruction coordinate system is transformed into the axial gantry CS using eq. 1. The voxel coordinates in the axial gantry CS are denoted as (s, t, p). 2. Source-to-voxel distance L in the st-plane is computed as
L={square root over ((R.sub.sc-s).sup.2+t.sup.2)}(42) 3. Detector angle is computed as
(119)
(120)
(121)
W.sub.k=L.sup.2(46)
(122) The backprojection step is carried out as follows. For a given center view k.sub.m, for each voxel (, ) from the group .sub.m (coordinates (x, y, z) computed in Eq. 4), the reconstructed value (, ,
r.sub.0.sup.fl=0(47)
c.sub.0.sup.fl=0(48) 2. Filtered projection values, interpolated at the voxel's projected locations for each key view k[1 . . . 2N.sub.HS/N.sub.sp], are accumulated. For each key view, additional N.sub.sp1 linearly interpolated (along the line connecting projected locations for adjacent key views) coordinates are computed and corresponding interpolated projection values are added. Projected location for each view is also sampled N.sub.u1 times along the line connecting projected locations for 2 key views and corresponding interpolated projection values which are also added to the sum.
(123)
(124)
d.sub.c=cc
d.sub.r=rr
P.sub.B.sup.k(r,c)=(1d.sub.c)(1d.sub.r)P.sub.FILT.sup.k(c,r)+(1d.sub.c)d.sub.rP.sub.FILT.sup.k(c,r+1)+d.sub.c(1d.sub.r)P.sub.FILT.sup.k(c+1,r)+d.sub.cd.sub.rP.sub.FILT.sup.k(c+1,r+1)(59)
(125) The z-interpolation step performs interpolation in z-direction between tilted planes to form untilted image. For each voxel (i, j, k) of the untilted output image I, the density value is computed as follows: 1. The bottom adjacent tilted plane index {circumflex over (m)} is found as follows
(126)
(127)
(128) While this disclosure has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the following claims.