Image interpolation method and apparatus

Abstract: A source (A) of images produces a plurality of basis images (I₀, I₁, I₂, I₃ ....). Two of the basis images are subtracted and divided (70, 72) by a number of interpolation increments (L₁) to form a first differential image (I Δ1 ). The first and the third basis images are subtracted and divided (76, 78) by a number of available interpolation increments (L₂) to form a second differential image (I Δ2 ). Four differential images are selectively combined and divided by a product of the first and second available increments to form a second order differential image (I² Δ12 ). An array of adders (D) selectively adds the first differential image to a currently displayed image stored in an image memory E each time a track ball (104) moves a cursor one increment in a horizontal position. Each time the track ball moves the cursor one increment up or down along the vertical column, the adder array adds or subtracts the second differential image to the currently displayed image. Each time the track ball steps the cursor between rows or between columns, the second order differential image is used to correct one of the first and second differential images. In this manner, only the currently displayed image, the first differential image, the second differential image, and the second order differential image need be stored to provide free interpolation among four basis images.

Description: The present invention pertains to the art of image interpolation and averaging. It finds particular application in conjunction with the blending of medical diagnostic images with different properties from CT scanners and other diagnostic imagers and will be described with particular reference thereto. However, it is to be appreciated that the invention will also find application in conjunction with the combining of images from other sources and for other purposes such as TV or video images, satellite reconnaissance images, astronomical images, and others. Heretofore, the data from CT scanners has been filtered with different filter or transfer functions and reconstructed into an image representation. Some filter functions increase smoothness of the data. Others emphasize edge or boundaries. Yet other filter functions provide high resolution. Various other filter functions provide other known enhancements. However, with some types of medical studies, sharp edge contrasts are important, with others resolution, with others smoothness, and with yet others various combinations of these and other image properties. Commonly, a filter or transfer function that is appropriate to the type of diagnosis to be made is selected in advance. This advance selection of the filter or transfer function provides no opportunity to adjust the edge enhancement, smoothness, and other image properties of the viewed image to optimize its diagnostic value. Various other types of medical diagnostic imaging are in common usage, such as digital x-ray, magnetic resonance imaging, positron emission tomography, and the like. Each of these and other imaging modalities produces images with different qualities of characteristics. Some distinguish better among soft tissue, others image bone more clearly, yet others are ideally suited to imaging blood flow and the circulation system, and the like. In most instances, a single modality is selected in accordance with the type of diagnosis to be performed. Sometimes images from a plurality of modalities contain important but different diagnostic information. It is an object of the present invention to provide a new and improved interpolation method and apparatus which enables the viewer to optimize the image characteristics after the data is collected, reconstructed, and displayed. In accordance with the present invention there is provided a method of interpolating images, the method comprising: determining a differential image by subtracting a first basis image from a second basis image and dividing the result of said subtraction by a first number of available interpolation steps between the first and second basis images; and combining the differential image with a currently displayed image by adding the differential image to or subtracting it from said currently displayed image, for selectively weighting the first or second basis image more heavily. In accordance with the present invention there is further provided an apparatus for selectively interpolating among images, the apparatus comprising: image subtraction and manipulation means for subtractively combining at least first and second received basis images and dividing the result of said subtraction by a first number of available interpolation increments therebetween to define a first differential image; currently displayed image memory means for storing a currently displayed image; and combining means for repeatedly adding and/or subtracting the first differential image stored in the differential image memory means to and from the image stored in the currently displayed image memory means. One advantage of the present invention is that the weighting or interpolation among images is adjustable by the viewer in real time. Another advantage of the present invention is that it enables a plurality of slices of data to be viewed as a continuum. Another advantage of the present invention is that interpolation in mutiple dimensions requires minimum memory. Another advantage of the present invention is that it enables radiologists to optimize filter or transfer functions after the images are generated. Conversely, optimal filter or transfer functions preferred by radiologists for each type of study can be correlated. One apparatus and method in accordance with the invention will now be described, by way of example, with reference to the accompanying drawings in which:- Figures 1A and 1B taken together are a diagrammatic illustration of a diagnostic imaging system in accordance with the present invention; Figure 2 is a diagrammatic illustration of a preferred operator display illustrating the preferred interpolation; Figure 3 is a diagrammatic illustration to assist in conceptualizing a third order embodiment of the present invention. Basis images from a plurality of image sources A are received and processed by an image subtracting and manipulating means B to generate first and higher order difference images which are stored in a differential image memory array C. An array of adder and subtractor means D concurrently adds or subtracts the pixel value of a selected differential image with the corresponding pixel values of a currently displayed image in a current image memory means E. An operator at an operator control console F views the currently displayed image and selectively adjusts the interpolation among the basis images. More specifically, as the operator adjusts the interpolation, the adder/subtractor array D adds or subtracts the appropriate, corresponding differential images. With reference to FIGURE 2, a display of the selectable relative weighting of the images is either superimposed on the displayed diagnostic image or provided in a separate display. To interpolate between two images I 0 and I 1 , the operator moves a cursor to one of L 1 positions along the line between I 0 and I 1 . At the initial position, the image I 0 is displayed; and at the L 1 th position, the image I 1 is displayed. At an intermediate position, e.g., the fourth step, the image would be: ( 4 L 1 ) I 1 + ( L 1 -4) L 1 I 0 Averaging two completed images with this weighting could be relatively computational intensive and slow. By distinction with the present invention, as the operator moves the cursor from I 0 toward I 1 , the displayed image continually changes, substantially in real time such that the operator can watch the image change and zero in on the weighting which the operator prefers. It is also contemplated that the operator can continue extrapolation beyond I 0 or I 1 , by continuing to add (or subtract) the differential image. More specifically, in this first order example, a first differential image I Δ1 is determined. The first order differential image is the difference between I 0 and I 1 divided by the number of intermediate interpolation steps L 1 , i.e.: I Δ1 =( I 0 - I 1 )/ L 1 Initially, the image I 0 is loaded into the currently displayed image memory E . Each time the operator moves the cursor one step to the right, the adder/subtractor array D adds the value of each pixel of the first differential image to the corresponding pixel value of the image in the currently displayed image memory E . Each time the cursor is moved one step to the left, the adder/subtractor array subtracts this pixel value. (Should an array of adders or subtractors be commensurate with the number of pixel values in each image, the image in the currently displayed image memory can be updated in the time required for a single addition or subtraction operation). However, even if a single adder performs the operations in pipelined fashion, this would enables the currently displayed image to change substantially in real time with movement of the cursor. Looking to a second order example, four images I 0 , I 1 , I 2 , and I 3 are obtained. The first difference image I Δ1 , is again (I 0 -I 1 )/L 1 . Analogously, a second difference image in the vertical direction I Δ2 is equal to the difference between the first and third images divided by the number of intermediate selectable interpolation steps L 2 , i.e.: I Δ2 =( I 0 - I 3 )/ L 2 It will be noted, however, that the change in the currently displayed image would not usually be the same for each step along the path between I 0 and I 3 as for each step along the path between I 1 and I 2 , or other intermediate vertical paths. Rather, an adjustment is made in accordance with a differential image calculated based on images I 0 and I 3 and the differential image calculated based on images I 1 and I 2 and the number of steps L 1 between I 0 and I 1 . That is, this second order differential image error per vertical column I Δ2 2 is defined by: I 2 Δ2 = [ ( I 0 - I 3 ) L 2 - ( I 1 - I 2 ) L 2 ] / L 1 = I 0 + I 2 - I 1 - I 3 L 1 L 2 Analogously, the second order differential image error I Δ12 from row to row in the vertical direction is based on the difference between the differential images between I 0 and I 1 and the differential images between I 3 and I 2 and the number L 2 of horizontal rows i.e.: I 2 Δ1 = [ I 0 - I 1 L 1 - I 3 - I 2 L 1 ] / L 2 = I 0 + I 2 - I 1 - I 3 L 1 L 2 = I 2 Δ2 Thus, the second order of correction I Δ12 2 is the same in both directions. In use, each time the operator moves the cursor horizontally to the right, the adder/subtractor array means D adds the first differential image to the image in the currently displayed image memory E and the second order differential image I 2 Δ12 to the second first order differential image I Δ2 . Each time the cursor is stepped vertically upward (downward), the adder array D adds (subtracts) the second differential image I Δ2 to the image in the currently displayed image array E and the second order differential I Δ12 2 to the first, first order differential image I Δ1 . If the cursor is now moved left or right, the adder array D adds or subtracts the second order corrected, first differential image for each horizontal step of movement. Of course, the second order differential image correction can be made instead to the second first order differential image I Δ2 with each step L 1 . With reference to FIGURE 3, a third order interpolation can be performed among eight images I 0 , I 1 , I 2 , I 3 , I 4 , I 5 , I 6 , and I 7 . Three first order differential images I Δ1 , I Δ2 , I Δ3 are defined, one along each of the three axis, i.e.: I Δ1 =( I 0 - I 1 )/ L 1 (5 a ) I Δ2 =( I 0 - I 3 )/ L 2 (5 b ) I Δ3 =( I 0 - I 5 )/ L 3 (5 c ), where L 3 is the number of available intermediate interpolation steps in the direction between image I 0 and image I 5 . Similarly, three second order differential images I 2 Δ12 , I 2 Δ13 and I 2 Δ23 are fine along each of the three planes through I 0 and along the three axis 1, 2, 3, i.e.: I 2 Δ12 = I 0 - I 1 + I 2 - I 3 L 1 L 2 (6 a ) I 2 Δ13 = I 0 - I 1 + I 6 - I 5 L 1 L 3 (6 b ) I 2 Δ23 = I 0 - I 5 + I 4 - I 3 L 2 L 3 (6 c ) Further, one third order correction I 3 Δ compensates for the difference from plane to plane i.e.: I 3 Δ = - I 0 + I 1 - I 2 + I 3 - I 4 + I 5 - I 6 + I 7 L 1 L 2 L 3 Generalizing to n dimensions, 2 n basis images are collected, I 0 , I 1 , I 2 , ... I n-1 . Intermediate interpolation increments L 1 , L 2 , L 3 ..., L n are selected along each of the n dimensions. Each of the n first order differential images I 1 Δj along a corresponding one of the dimensions 1, 2, ... n is expressed as: I 1 Δ j = I j - I 0 L 1 j where j is each of the dimensions from 1 to n. Similarly, there are (n!)/(n-m)!m! m th order difference images, where m is an arbitrary interger between 1 and n. The single nth order differential image is defined by: I n Δ = - I 0 + I 1 - I 2 + I 3 - I 4 ........ I 2 n L 1 L 2 L 3 L 3 ........ L n -1 Looking again to FIGURE 1A, the basis images I 0 , I 1 , ... may each be from any one of a plurality of medical diagnostic scanners such as a CT scanner 10 , a magnetic resonance imaging apparatus 12, a PET scanner 14 , a digital x-ray scanner 16 , an ultrasound scanner 18 , a nuclear or scintillation camera 20, or other image sources 22. The present invention will find application in conjunction with other types of images than medical diagnostic images e.g., common area or subject. For example, the basis images may be an optical image from an optical telescope, a radio astronomical image from a radio telescope, an infrared image of the same area, and a microwave image. Analogously, each of the images may come from the same imaging modality, while the imaging modality is set to produce images with different characteristics or of different regions. Looking to the CT scanner by way of example, an x-ray tube 30 or other source of penetrating radiation directs a thin fan-shaped beam of radiation 32 through an image circle or examination region 34 to a ring of radiation detectors 36. A motor or other means 38 rotates the x-ray source around the examination region 32. In this manner, the x-ray detectors 36 measure a relative amount of radiation attenuation along the large multiplicity of paths through the examination region. A sampling means 40 samples all of the irradiated detectors 36 at short time intervals. In the preferred embodiment, the sampling means 40 sorts the received radiation into source fans, i.e. each view represents the radiation attenuation across a fan shaped array of parts which converge at an apex at a given one of the detectors. A multiplying means 42 multiples the vector of data representing each view by a kernal filter function or transfer function retrieved from a kernal filter memory means 44. Various filter functions may be selected such as any one of filter functions 1 - N which are stored in a filter function memory means array 46. Optionally, an interpolating means 48 interpolates two or more filter functions. Each of the filter functions produces an image with pre-selected characteristics, such as smoothness, strong or enhanced edges, high resolution, and the like, as well as combinations thereof. Each filter function while emphasizing one characteristic tends to be relatively weak in another. Thus, the selective filter function is normally a compromise among the various selectable image properties. A reconstruction means 50 performs a convolution and back projection or other known reconstruction algorithm to produce an electronic image presentation. With reference to Figure 1B the image subtracting and manipulating means B include a memory means for temporarily holding each of the basis images. In the four image, second order embodiment, image memory means 60, 62, 64, and 66 are provided for holding the four basis images, respectively. These image memory means may be part of a disk or other mass storage media or may be distributed among the various image sources. All four images need not be held in these memories concurrently. An image subtracting means 68 subtracts the basis images as provided by equations (1) - (9) above. More specifically, to the four image embodiment, the image subtraction means 68 subtracts image I 1 from image memory means 62 from image I 0 from memory means 60 and stores the difference temporarily in a difference image memory 70. A dividing means 72 divides each pixel value of the subtracted difference image in memory 70 by the interpolation step L 1 along the corresponding dimension to form the first differential image I Δ1 which is stored in a first differential image means 74. Analogously, this subtraction means subtracts the image I 3 retrieved from memory means 66 from image I 0 retrieved from memory means 60 and stores the result temporarily in a memory means 76. Each pixel of the image stored in memory means 76 is divided by the number of interpolation steps L 2 along the corresponding dimension by a dividing means 78 to produce the second difference image I Δ2 which is stored in a second differential image memory means 80. Analogously, the image subtraction means 68 sums the images I 0 and I 2 and subtracts the images I 1 and I 3 to produce an image which is temporarily stored in image memory means 82 before being divided by the product of the number of available interpolation steps along the two dimensions L 1 , L 2 , by a dividing means 84. The resultant double differential image I 2 Δ12 is stored in a second order differential image memory means 86. Optionally, an interpolation means may be provided for increasing or decreasing the number of pixels in some of the basis images, as necessary, such that each of the images has the same number of pixels, e.g. a 512 x 512 or 1024 x 1024 image. The adder/subtractor array means D preferably has a first adder/subtractor array means 90 which adds and subtracts the first order differential image I 1 and I 2 to the currently displayed image. A second adder/subtractor array means 92 adds and subtracts the second order differential image I 2 Δ12 to one of the first order differential images, e.g., the second differential image I 2 . Alternately, the second order differential image may be added directly to the currently displayed image. The terminal F includes a video display monitor 100 which converts the electronic currently displayed image representation in memory E into a man readable display. A video image processor 102 superimposes an image such as that of Figure 2 or Figure 3 on the image displayed on monitor 100 to assist the operator in interpolating among the basis images. A track ball assembly 104 provides a signal to the video image processor 102 to control movement of a cursor on the displayed grid. The track ball assembly 104 includes counters which cause the cursor to step in each of the hoirzontal and vertical direction. Each time the count equals one increment L 1 , L 2 , etc., in the appropriate direction, the adder array D adds or subtracts the appropriate differential or the second order or double differential image to or from the image representation in image memory E. Optionally, the cursor may be permitted to go beyond the grid of Figure 2 as the adder/subtractor array continues to adjust the currently displayed image.

Claims: A method of interpolating images, the method comprising: determining a differential image (I Δ1 ) by subtracting a first basis image (I 1 ) from a second basis image (I 0 ) and dividing the result of said subtraction by a first number (L 1 ) of available interpolation steps between the first and second basis images; and combining the differential image (I Δ1 ) with a currently displayed image by adding the differential image (I Δ1 ) to or subtracting it from said currently displayed image, for selectively weighting the first or second basis image more heavily. A method as claimed in Claim 1 further including displaying an indication of the first image and an indication of a second image and a cursor movable therebetween; each time the cursor moves one increment towards the first image indication, subtracting the differential image from the currently displayed image and each time the cursor moves one increment toward the second image indication, adding the differential image to the currently displayed image. A method as claimed in Claim 1 or 2 further including after determining the differential image and the currently displayed image, discarding the first and second basis images (I 1 , I 0 ). A method as claimed in any preceding claim wherein each pixel of the differential image is added to a corresponding pixel of the currently displayed image concurrently, such that the currently displayed image changes substantially in real time. A method as claimed in any preceding claim further including subtractively combining a third basis image (I 3 ) and the first basis image (I 0 ) and dividing by a second number (L 2 ) of available interpolation increments therebetween to produce a second differential image and wherein the combining step includes selectively combining the first and second differential images with the currently displayed image to adjust the relative weighting of the first, second, and third basis images (I 0 , I 1 , I 3 ). A method as claimed in Claim 5 further including determining a difference between a sum of the first basis image (I 0 ) and a fourth basis image (I 2 ) and the sum of the second (I 1 ) and third basis images (I 3 ) and dividing the difference by the product (L 1 L 2 ) of the number of first and second numbers of interpolation increments to determine a second order differential image and wherein the combining step further includes selectively combining the second order differential image with one of the first and second differential images. A method as claimed in Claim 6 further including providing additional basis images, subtractively combining pairs of the basis images and dividing by a number of available interpolation increments between each pair to determine additional differential images. A method as claimed in Claim 7 further including subtractively combining sums of pairs of basis images and dividing by a product of a number of increments between the relative pairs to determine additional second order differential images. A method as claimed in Claim 8 further including subtractively and additively combining eight basis images and dividing a product of a number of interpolation increments among three pairs thereof to determine a third order differential image. A method as claimed in Claim 6, 7, 8 or 9 further including: displaying a representation indicative of the first, second, third, and fourth basis images (I 0 , I 1 , I 2 , I 3 ) generally at corners of a rectangle and moving a cursor therebetween; as the cursor moves in a direction parallel to a path between the first and second basis image indications, selectively adding and subtracting the first differential image to the currently displayed image; as the cursor is moved along a direction parallel to a path between the first and third basis image indications, selectively adding and subtracting the second differential image; and each time the cursor moves between adjacent paths of a parallel array of paths extending parallel to one of the paths between the first and second image indications and the path between the first and second image indications, selectively adding and subtracting the second differential image one of the first and second differential images. An apparatus for selectively interpolating among images, the apparatus comprising: image subtraction and manipulation means (B, 68, 72) for subtractively combining at least first and second received basis images (I 0 , I 1 ) and dividing the result of said subtraction by a first number (L 1 ) of available interpolation increments therebetween to define a first differential image (I Δ1 ); differential image memory means (C, 70) for storing the first differential image (I Δ1 ); currently displayed image memory means (E, 74) for storing a currently displayed image; and combining means (D, 90) for repeatedly adding and/or subtracting the first differential image (I Δ1 ) stored in the differential image memory means (C, 70) to and from the image stored in the currently displayed image memory means (E, 74). An apparatus as claimed in any preceding claim wherein the differential image and the currently displayed image each have a common pre-selected number of pixels and wherein the combining means (D, 90) includes an array of the same number of adder means (90, 92), whereby each pixel of the differential image is combined with the corresponding pixel of the currently displayed image concurrently. An apparatus as claimed in Claim 11 or 12 wherein: the image subtraction and manipulation means (B, 68, 72) further includes means (76, 78) for subtractively combining a third received basis image (I 3 ) and the first basis image (I 0 ) and dividing by a second number (L 2 ) of interpolation increments between the first and third images (I 0 , I 3 ) to create a second differential image representation; and the differential image memory means (C, 70) further includes a means (80) for storing the second differential image representation. An apparatus as claimed in Claim 13 wherein: the image subtraction and manipulation means (B, 68, 72) further includes means (82, 84) for subtracting a sum of the first and third basis images (I 0 , I 3 ) from a sum of the second basis image (I 1 ) and a fourth basis image (I 2 ) and dividing by a product (L 1 L 2 ) of the first and second number of increments to define a second order differential image; and the difference image memory means (C, 70) further includes a second order differential memory means (86) for storing the second order differential image. An apparatus as claimed in Claim 13 or 14 wherein the combining means includes means (90, 92) for combining the second order differential image with one of the first and second differential images. An apparatus as claimed in Claim 14 or 15 further including a track ball means for adjustably selecting a weighting between the first, second, third, and fourth basis images (I 0 , I 1 , I 2 , I 3 ), the track ball means being operatively connected with a differential image memory means (C, 70) and the combining means (D, 90) for causing the combining means to combine at least one of the first and second differential images (I 0 , I 1 ) with a currently displayed image each time a track ball (104) is rotated sufficiently to indicate one of the first and second increments, respectively. An apparatus as claimed in Claim 16 further including a video image processor (102) for displaying an interpolation grid in which an indication of the first, second, third, and fourth basis images (I 0 , I 1 , I 2 , I 3 ) displayed at corners of a rectangle and the track ball (104) causes a cursor to move thereamong. An apparatus as claimed in any of Claims 11 to 17 further including: a CT scanner (10) having sampling means (40) for sampling a plurality of views; multiplying means (42) for multiplying the views with one of a plurality of kernal filters; reconstruction means (50) for reconstructing the filtered views into one of the basis images; and a plurality of kernal filter memory means (44, 46) for storing a plurality of kernal filters, such that the first, second, third and fourth basis images are generated by the CT scanner (10), each with a different kernal filter.

Inventors: HEUSCHER DOMINIC J, KROCHTA TODD J, MATTSON RODNEY A, HEUSCHER, DOMINIC J., KROCHTA, TODD J., MATTSON, RODNEY A.
Applicants: PICKER INT INC, PICKER INTERNATIONAL, INC.
Application year: 1992
Main classification: G06F17
IPC codes: G06F17, G06T1, G06T11, A61B6, G06T5