Image reconstruction using multi-color graphics-rendering hardware

Abstract: Diagnostic image reconstruction from projection data includes generating projection data followed by a convolution of the same. The convolved projection data is then scaled into unsigned, fixed precision words of a predetermined number of bits. The words are then split into a predetermined number of colour channels corresponding to colour channels of a multi-colour rendering engine (150). Simultaneously and independently, the split words are backprojected along each of the colour channels to obtain backprojected views for each colour channel. The backprojected views for each colour channel are accumulated to produce separate colour images corresponding to each colour channel. Finally, the separate colour images are recombined to produce an output image. In a preferred embodiment, prior to the convolution of the projection data, a rebinning operation is performed to ensure that the projection data is in a parallel format. In addition, after convolving the projection data, a selective pre-interpolating step of linear or higher order is optionally performed on the projection data.

Description: The present invention relates to diagnostic medical imaging. It finds particular application in conjunction with CT scanners, and will be described with particular reference thereto. However, it is to be appreciated that the present invention is also amenable to other like applications which employ backprojectors in image reconstruction from projection data (e.g., nuclear cameras). Generally, CT scanners have a defined examination region or scan circle in which a patient, phantom, or other like subject being imaged is disposed. A beam of radiation is transmitted across the examination region from an x-ray source to oppositely disposed radiation detectors. The segment of the beam impinging on a sampled detector defines a ray extending from the source to the sampled detector. The source, or beam of radiation, is rotated around the examination region such that data from a multiplicity of rays crisscrossing the examination region are collected. At given angular source positions about the examination region, a sampled view or data line is collected which represents the projection data for that view. The sampled data is typically convolved and backprojected into an image memory commonly described as a two-dimensional array or matrix of memory elements. Each memory element stores a CT number indicative of the transmission or attenuation of the rays attributable to a corresponding incremental element within the examination region. The data from each ray which crossed the incremental element of the examination region contributes to the corresponding CT number, i.e.. the CT number for each memory element of the resultant image is the sum of contributions from the multiplicity of rays which passed through the corresponding incremental element of the examination region. Commonly, the x-ray data is transformed into the image representation utilizing filtered backprojection. A family of rays is assembled into a view. Each view is filtered or convolved with a filter function and backprojected into an image memory. Various view geometries have been utilized in this process. In one example, each view is composed of the data corresponding to rays passing parallel to each other through the examination region, such as from a traverse and rotate-type scanner. In a rotating fan-beam-type scanner, each view is made up of concurrent samplings of the detectors which span the x-ray beam when the x-ray source is in a given position, i.e., a source fan view. Alternately, a detector fan view is formed from the rays received by a single detector as the x-ray source passes behind the examination region opposite the detector. Various backprojection algorithms have been developed. For CT scanners, it is generally advantageous to have the quickest display of the resultant CT images. In many applications, the many millions of computations required renders general purpose computers inappropriately slow for backprojection. To obtain the image representations, the backprojections are normally performed with dedicated backprojection hardware. Examples of such backprojection processors are described in our U.S. Patent Application Serial No. 09/056.563 to John Sidoti et al., and U.S. Patent No. 5.008.822 to Brunnett et al.. However, the cost associated with dedicated and/or customized specialty hardware which. in turn. requires customized programming makes them less appropriate for certain applications. Other methods have also been previously developed which describe backprojection using rendering techniques. However, these methods tend to use an additional accumulation buffer and only utilize single colour channels. In addition, zoom reconstruction with such systems includes modifying the backprojection hardware parameters in order to backproject a subset of the projection data. The problem is, however, that commonly used rendering hardware of limited precision does not always support the precision required for backprojection when only a single colour channel is utilized. Moreover, an additional hardware accumulation buffer, not commonly found in rendering hardware, is also required to maintain backprojection accuracy if only a single colour channel is utilized. Zoom reconstruction on such backprojection systems requires resetting the backprojection parameters in order to interpolate on a subset of the projection data. These factors limit the ease of use and accuracy of such backprojection techniques which utilize single colour channels. The document "Cabral, B. et al.: Accelerated volume rendering and tomographic reconstruction using texture mapping hardware, Proceedings Symposium on Volume Visualization, October 1994(1994-10), p. 91-98, XP000879111" describes a back projection based reconstruction technique in which a texture mapping hardware is utilized. After generation and filtering of projection data these data are input to a texture map based reconstruction algorithm that is implemented on an available general-purpose imaging and graphics architecture. The present invention contemplates a new backprojection technique. In accordance with one aspect of the present invention, a method for diagnostic image reconstruction from projection data is provided. It includes generating projection data followed by a convolution of the same. The convolved projection data is then scaled into unsigned, fixed precision words of a predetermined number of bits. The words are then split into a predetermined number of colour channels corresponding to colour channels of a multi-colour rendering engine. Simultaneously and independently, the split words are backprojected along each of the colour channels to obtain backprojected views for each colour channel. The backprojected views for each colour channel are accumulated to produce separate colour images corresponding to each colour channel. Ultimately, the separate colour images are recombined to produce an output image. In accordance with another aspect of the present invention, an image processor is provided for use in connection with a diagnostic imaging apparatus that generates projection data. It includes a convolver which convolves angular views of the projection data from the diagnostic imaging apparatus. A data processor receives the convolved projection data, scales it into unsigned, fixed precision words of a predetermined bit length, and splits the words into multiple channels corresponding to separate colours. A multi-colour rendering engine simultaneously and independently backprojects views along each separate colour channel to generate corresponding images along each colour channel. Ultimately, a reconstruction processor recombines the colour channels into an output image. Ways of carrying out the invention will now be described in detail, by way of example, with reference to the accompanying drawings, in which: FIGURE 1 is a diagrammatic illustration of a CT scanner system with backprojecting image processor in accordance with aspects of the present invention; FIGURE 2 is an exemplary illustration of the weighting function applied by the angular view filter in accordance with aspects of the present invention; and FIGURE 3 is a diagrammatic illustration showing the interpolation of data from a fan-beam format to a parallel-beam format in accordance with aspects of the present invention. With reference to FIGURE 1, a CT scanner 10 includes a stationary gantry 12 which defines an examination region 14. A rotating gantry 16 is mounted on the stationary gantry 12 for rotation about the examination region 14 . A source of penetrating radiation 20, such as an x-ray tube, is arranged on the rotating gantry 16 for rotation therewith. The source of penetrating radiation produces a beam of radiation 22 that passes through the examination region 14 as the rotating gantry 16 rotates. A collimator and shutter assembly 24 forms the beam of radiation 22 into a thin fan shape and selectively gates the beam 22 on and off. Alternately, the radiation beam 22 is gated on and off electronically at the source 20 . In any event, a subject support 30 , such as a couch or the like, suspends or otherwise holds a subject being examined or imaged at least partially within the examination region 14 such that the fan-shaped beam of radiation 22 cuts a cross-sectional slice through the region of interest of the subject. Optionally, the subject is successively re-positioned such that neighbouring cross-sectional slices are taken in consecutive indexed fashion to produce a three-dimensional volume of slices. Alternately, as is the case with continuous spiral CT, concurrently with the rotation of the rotating gantry 16 , the support 30 , and consequently the subject thereon, are translated along a central horizontal axis of the examination region 14 . In this manner, the source 20 follows a helical path relative to the subject. In another preferred embodiment, the support 30 remains stationary while the "stationary gantry" 12 is translated or otherwise moved relative to the subject such that the source 20 follows a helical path relative thereto. In the illustrated fourth generation CT scanner, a ring of radiation detectors 40 is mounted peripherally around the examination region 14 on the stationary gantry 12 . Alternately, a third generation CT scanner is employed with an arc of radiation detectors 40 mounted on the rotating gantry 16 on a side of the examination region 14 opposite the source 20 such that they span the arc defined by the fan-shaped beam of radiation 22 . Regardless of the configuration, the radiation detectors 40 are arranged to receive the radiation emitted from the source 20 after it has traversed the examination region 14 . In a source fan geometry, an arc of detectors which span the radiation emanating from the source 20 are sampled concurrently at short time intervals as the source 20 rotates behind the examination region 14 to generate a source fan view. In a detector fan geometry, each detector is sampled a multiplicity of times as the source 20 rotates behind the examination region 14 to generate a detector fan view. The paths between the source 20 and each of the radiation detectors 40 are denoted as rays. The radiation detectors 40 convert the detected radiation into electronic projection data. That is to say, each of the radiation detectors 40 produces an output signal which is proportional to an intensity of received radiation. Optionally, a reference detector may detect radiation which has not traversed the examination region 14 . A difference between the magnitude of radiation received by the reference detector and each radiation detector 40 provides an indication of the amount of radiation attenuation along a corresponding ray of a sampled fan of radiation. In either case, each radiation detector 40 generates data elements which correspond to projections along each ray within the view. Each element of data in the data line is related to a line integral taken along its corresponding ray passing through the subject being reconstructed. With detector view geometry, each view or data line represents a fan of rays having its apex at one of the radiation detectors 40 collected over a short period of time as the source 20 rotates behind the examination region 14 from the detector. With source view geometry, each view or data line represents a fan of rays having an apex at the source 20 collected by concurrent sampling of all the radiation detectors 40 spanning the fan of radiation. A gantry acquisition memory board 50 receives the sampled data from the radiation detectors 40 . The gantry acquisition memory board 50 optionally shuffles the data to transform it from a detector fan geometry to a source fan geometry, or vice versa, and performs a ripple filtering operation before passing the data to an image processor 100 . Optionally, for those applications wherein other than parallel projection data is collected, the image processor 100 includes a rebinning processor 110. The electronic data generated by the radiation detectors 40 and sampled by the gantry acquisition memory board 50 is fed to the rebinning processor 110 . The rebinning processor 110 converts each data line from its fan-beam or otherwise divergent format to a parallel-beam format. In a preferred embodiment and in the interest of speed and accuracy, this process is optionally broken down into three rebinning operations or steps: an angular view filtering step, an interpolation step which sorts the data into unequally spaced parallel rays, and a final interpolative step that corrects for the unequal spacing of the rays. The rebinning processor 110 initially receives the data lines into a first rolling buffer 112 . An angular view filter 114 retrieves the data lines from the first rolling buffer 112, filters them, and writes them into a preset position in a second rolling buffer 116 . Additionally, any detector-specific corrections are optionally made prior to writing the data into the second rolling buffer 116. Preferably, as illustrated in FIGURE 2, the angular view filter is applied across a plurality of adjacent data lines 200, for example 3 to 5, to generate a weighted average thereof. The weighted average is characterized by a centred symmetric non-linear function 210 . Further, at this stage associated view reduction contributes to reduced processing time. Next, an interpolator 118 retrieves and reorders the data stored in the second rolling buffer 116 such that parallel rays from the various data lines are grouped together. Optionally, the number of data lines may be reduced by skipping data lines, for example, every other data line, in order to shorten the data processing time. Further, any corrections common to all the radiation detectors 40 are optionally made at this point. Next, an additional interpolative step is taken to equalize the spacing within each group of parallel data rays. Alternately, any appropriate rebinning processor is employed. With reference to FIGURE 3 and continuing reference to FIGURE 1, an illustrative drawing showing a source fan geometry is useful for describing the rebinning process. As the source 20 follows a trajectory 300 around the examination region 14 , it generates a plurality of source fan views 22a-c with each incremental degree of rotation. Each source fan view 22a-c is received by an array of radiation detectors 40a-r which converts it into a data line having a fan-beam format. The source fan views, 22a-c are each made up of a plurality of rays with each ray corresponding to an individual radiation detector 40a-r . For example, source fan view 22a includes rays corresponding to radiation detectors 40a-1 , source fan view 22b includes rays corresponding to radiation detectors 40d-o , and 22c includes detectors 40g-r . The interpolator 118 reorders the data to group parallel rays, for example rays 310a-c which correspond to radiation detectors 40l, 40j and 40g , from respective fans 22a, 22b and 22c together to produce a parallel-beam format. Ultimately, the rebinning process simplifies the upcoming backprojection operation without compromising the image quality of the reconstructed image. In any event, after parallel projection data has been obtained, it is fed to a convolver 120 which processes the view data and loads it into a preliminary interpolator 130 . The convolver 120 performs mathematical manipulations which convolve each view with an appropriate filter or convolution function for the view format, namely parallel. It is noted that in a fourth generation scanner embodiment, as the source 20 moves, each of the radiation detectors 40 is concurrently generating intensity data. In order to accommodate this rapid flow of information, the convolver 120 preferably includes a plurality of convolvers for convolving several data lines concurrently. The preliminary interpolator 130 , receiving the convolved parallel projection data from the convolver 120 , performs a linear or higher order interpolation on selected portions of each data line. In any event, the preliminary interpolator 130 performs a higher order interpolation than that used in the backprojection step in order to maintain interpolation precision during backprojection. Only that portion of the projection data defining the zoom reconstruction field (i.e., the particular region of interest upon which the reconstruction is to be focused) is interpolated and transferred to the backprojection step. The zooming is accomplished by selecting the appropriate portion of projection data for pre-interpolation. Preferably, no change in backprojection parameters is employed since parallel beam projections of constant size are being pre-interpolated. In a preferred embodiment, the preliminary interpolator 130 performs a mid-point interpolation with a cubic spline function to increase the data lines by a factor of two. Optionally, the pre-interpolation is carried out in accordance with the techniques taught in commonly assigned U.S. Patent No. 5,481,583. The preliminary interpolator then passes its output to a data processor 140 where the resulting pre-interpolated convolved parallel projection data is scaled and biased into unsigned fixed precision words of predetermined lengths. For exemplary purposes herein and in at least one preferred embodiment, the predetermined length of each word is 12 hits. However, other word lengths as arc appropriate for various applications and/or levels of desired precision are also contemplated. The scaling and biasing involves determining a minimum and maximum floating point value and assigning those values to the minimum and maximum values of the 12 bit words (i.e., zero and 4095, respectively) with the intermediate floating point values being assigned relative to their location between the minimum and maximum floating point values. In addition to scaling and biasing, the data processor 140 splits each word into multiple colour channels corresponding to colours defined by a multi-colour rendering engine 150 . For exemplary purposes herein and in at least one preferred embodiment, the multi-colour rendering engine 150 is a 24-bit three-colour system with 8 bits per colour channel. However, other multi-colour rendering engines as are appropriate for various applications and/or levels of desired precision are also contemplated. Optionally, the division of colours on a 24-bit three-colour system is defined using the following unsigned arithmetic wherein 'proj' is the 12-bit word: red = proj/256 green = (proj - 256 * red)/16 and, blue = proj - 256 * red - 16 * green wherein the choices for red, green, and blue are nominal and arbitrary. In this example then, red represent the four most significant bits, green the middle four significant bits, and blue the four least significant bits. The splitting is optionally accomplished via a hardware implementation of bit shifters, multipliers, and adders/subtractors. The data processor 140 is alternately implemented via an appropriate software application or combination of software and hardware. This data is then transferred to the multi-colour rendering engine 150 as 24-bit colour texture map data. The multi-colour rendering engine 150 is then employed to simultaneously and independently backproject the views or data lines along each of the colour channels. To insure independence between channels, in a preferred embodiment, the backprojection operation is accomplished utilizing a nearest neighbour interpolation in the mapping of elements from the data line to the backprojection or image matrix. Hence, the projection data is rendered onto an image matrix, blending the results iteratively with the accumulated colour images, one for each colour channel. In a preferred embodiment, with 12-bit projection data (i.e., three 4-bit channels) and 8-bit colour channels in the multi-colour rendering engine 150 , there are 4 extra bits per channel, and, therefore, the blended rendering operation can be iterated up to 16 times for 16 different views within the rendering engine 150 before any overflows occur. The resulting sub-image is then read out and a new sub-image is generated. If the rendering engine 150 and divided or split projection data are sized such that there is enough extra bits to accumulate all the views for a complete reconstructed image, then an external accumulation buffer 160 is not employed. However if, for example, 50 sub-images or a total of 800 (16x50) views are used or desired to create a complete image, the sub-images that arc read out of the rendering engine 150 get accumulated 50 times into the accumulation buffer 160 as a 16 or 32 bit by 3 colour channel reconstructed image. Since this accumulation process takes over a magnitude less operations than the backprojection process itself, it adds very little to the overall backprojection time. The multi-colour images are then extracted from the accumulation buffer 160 and converted via a reconstruction processor 170 into a 16 or 32-bit image pixel-by-pixel using the following operations: Output_Image = Red_Image*256 + Green_Image*16 + Blue_Image Optionally, the reconstruction processor 170 is implemented as either a hardware, a software, or a combination of hardware and software configurations. Alternately, the reconstruction processor 170 operates on the read out sub-images from the rendering engine 150 prior to their accumulation into the accumulation buffer 160 such that the multi-colour sub-images are recombined into a single channel output sub-image via the operations from equation (4). The accumulation buffer 160 then accumulates the sub-images and stores them as the Output_Image. In either case. the resulting image is then scaled and biased properly for image display. In a preferred embodiment, a video processor 180 withdraws and formats selected portions of the accumulated Output_Image data to generate corresponding human-readable displays on a video monitor 190 or other rendering device. Typical displays include reprojections, selected slices or planes, surface renderings, and the like. Optionally, the rendering engine 150 is then also used to interpolate the data appropriately for the chosen display matrix size. In this manner, backprojection is provided via use of graphic hardware commonly used to perform multi-colour rendering of objects. The examples given illustrate how the multiple colour channels of such a graphic device are used to perform backprojection and the advantages thereof. Zoom reconstruction with such a backprojection processor is also provided. In a preferred embodiment, unlike previous methods of performing zoom reconstruction on backprojection devices, no reconfiguration or changing of the backprojection parameters is performed. The examples given above are not to be interpreted as restricted to a particular hardware configuration, beam geometry, or by other steps employed in the reconstruction process. They are intended to illustrate the steps that permit use of a multi-colour rendering engine for backprojection. Different combinations of precision of rendering hardware, projection data, and displayed image data are very applicable, perhaps using different scaling, bias, splitting, and accumulation of either projection data transferred into or images transferred out of the rendering engine 150 . For example, a 64-bit rendering engine with 4 colour channels (16 bits per channel) may be employed with projection data that is scaled into 16-bit words. or any other appropriate combination as desired for a given application or level of precision. Moreover, where precision is not a concern or lower levels thereof are acceptable, the preliminary interpolator 130 is optionally omitted. The image processor 100 is also applicable to other diagnostic imaging apparatus. In a preferred alternate embodiment. a traverse and rotate type CT scanner provides parallel projection data. In another preferred alternate embodiment, a nuclear or gamma camera provides the projection data, in either a parallel or divergent format. Optionally, any appropriate diagnostic imaging apparatus which generates projection data is employed. One advantage of the above described embodiment is that backprojection is performed efficiently on commonly available graphic hardware which is capable of multi-colour rendering of objects. Another advantage is the reduction in overall system cost due to the fact that no customized backprojection hardware is employed to perform the backprojection. Another advantage is that accumulation of at least some views is accomplished in the multi-colour rendering engine. A further advantage, which otherwise could be a limitation in a single colour rendering algorithm, is that the precision of projection data and image data is maintained even when limited precision is available in the colour rendering hardware. Yet another advantage is that zoom reconstruction is performed without resetting the backprojection parameters for each zoom region such that interpolation precision is maintained and the backprojector is simpler to construct and more efficient.

Claims: A method for diagnostic image reconstruction from projection data comprising: (a) generating projection data; (b) convolving the projection data; (c) scaling the convolved projection data into unsigned fixed precision words of a predetermined number of bits; (d) splitting the words into a predetermined number of colour channels corresponding to colour channels of a multi-colour rendering engine; (e) simultaneously and independently backprojecting the split words along each of the colour channels to obtain backprojected views for each colour channel; (f) accumulating the backprojected views for each colour channel to produce separate colour images corresponding to each colour channel; and (g) recombining the separate colour images to produce an output image. A method as claimed in claim 1, wherein prior to the convolving step the projection data is made parallel by rebinning the generated projection data which was collected in a divergent fan-beam format. A method as claimed in claim 1 or claim 2, wherein prior to the scaling step the convolved projection data is selectively pre-interpolated with a linear or higher order interpolation. A method as claimed in any one of claims 1 to 3, wherein the simultaneous independent backprojections include a nearest neighbour interpolation. A method as claimed in any one of claims 1 to 4, further comprising: (h) displaying the output image via the multi-colour rendering engine. A method as claimed in any one of claims 1 to 5, wherein the predetermined channels include a group of most significant bits, a group of least significant bits, and a group of bits intermediate the most and least significant bits. An image processor for use in connection with a diagnostic imaging apparatus (10) that generates projection data comprising: a convolver (120) which convolves angular views of the projection data from the diagnostic imaging apparatus (10) ; a data processor (140) which receives convolved projection data, scales it into unsigned fixed precision words of a predetermined bit length, and splits the words into multiple channels corresponding to separate colours; a multi-colour rendering engine (150) which simultaneously and independently backprojects views along each separate colour channel to generate corresponding images along each colour channel; and a reconstruction processor (170) which recombines the colour channels into an output image. An image processor as claimed in claim 7, further comprising: a rebinning processor (110) which receives and rebins the projection data from the diagnostic imaging apparatus (10) into a parallel-beam format prior to passing it to the convolver (120) . An image processor as claimed in claim 7 or claim 8, further comprising: a preliminary interpolator (130) which selectively interpolates, with a linear or higher order interpolation, convolved projection data from the convolver (120) prior to passing it to the data processor (140) . An image processor as claimed in any one of claims 7 to 9, wherein the backprojection performed by the multi-colour rendering engine (150) includes a nearest neighbour interpolation. An image processor as claimed in any one of claims 7 to 10, wherein the multi-colour rendering engine (150) is employed to interpolate the output image into a selected size display matrix. An image processor as claimed in any one of claims 7 to 11, wherein the data processor (140) is arranged to split the words into channels which include a group of most significant bits, a group of least significant bits, and a group of bits intermediate the most and least significant bits.

Inventors: HEUSCHER DOMINIC J, MATTHEWS DAVID D, HEUSCHER, DOMINIC J., MATTHEWS, DAVID D.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1998
Main classification: G06T11
IPC codes: G06T11, G06T1, A61B6, H04N7