This invention relates generally to the field of computer tomography (“CT”) scanning systems and more particularly to auto-calibration of CT scanning systems.
Computer tomography (“CT” or “CAT”) scanning systems are generally known in the art. The first CT scanners used a source of X-rays directed as a beam and a single detector to detect the amount of X-rays passing through the scanned object. During a scan of an object, the source and detector are passed through a line on the object, then the source and detector is moved relative to the object and scanned through another line on the object. Data is collected from each scan into an array that is manipulated by a computer to provide a variety of images of the object. These provided images are called reconstructions or reconstructed images.
So called “second generation” CT scanners use a fan-shaped X-ray beam and a corresponding plurality of detectors arranged along the fan. Similar to earlier CT scanners, a second generation CT scanner may be moved relative to the scanned object to collect a full set of readings on the object. In between scans, the object may be rotated to expose a different portion of the object to the X-ray source. In other prior scanners, the object may be rotated during translation or movement across the scanner.
Several known algorithms exist for creating the reconstructed images of an object scanned by CT scanners. These algorithms use various geometric values relating to the physical CT scanning system to manipulate the collected scan data into the reconstructed images. Sometimes, however, the reconstructed images of an object contain undesirable visual aberrations or distortions called artifacts that render the final images difficult or impossible to use or understand. Often times, these artifacts are due to imprecise geometries of the CT scanning system. It is known to manually manipulate the scanning systems to reduce or eliminate such artifacts for any given scanning system; such manual manipulation, however, is time consuming, error prone, and requires a trained operator.
The above needs are at least partially met through provision of the method and apparatus for auto-calibration of a CT scanner described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the arts will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.
Generally speaking, pursuant to these various embodiments, a method of and apparatus for automatically calibrating a computed tomography (“CT”) scanning system is provided including a calibration object substantially centered on a translating table for passing through the CT system. The system scans the calibration object and provides a preliminary representation of the object. From that preliminary representation, the system automatically determines intercept-related and/or slope-related values for at least a portion of the preliminary representation and uses these values to calculate one or more predetermined calibrations values to apply in algorithms for providing reconstructed images.
The scanning system provides for automatic calibration of the CT system to reduce the number and/or severity of artifacts seen in the reconstructed images provided by the scanner without the need for physical or manual manipulation of the scanner. Therefore, the need for a trained operator to conduct typical scanning set up is reduced as is the typical set-up time for various scans.
Referring now to the drawings, and in particular to
With reference now to
The processor circuit 210 and/or automatic calibrator 220 may be operably coupled to various elements of the CT scanning system 100 to control the system 100. For instance, the motors, collectively indicated as 225, and the X-ray source may be controlled by the processor circuit 210 and associated software. The X-ray source may be 150 KV or 420 KV tube, a 2 MeV linear accelerator, or other appropriate source of imaging radiation including known and appropriate focusing and/or collimating apparatuses and shielding. Further, an input device 230 such as a keyboard or mouse may be provided for the automatic calibrator 220 for providing certain inputs and/or values for controlling the system 100. Encoders 235 on the tracks 125 and/or the translating table 120 may be included to measure the location and/or the rotation of the object 130 during scanning. Also, a display 240 may be included to further the ease of control of the system 100 by an operator or to provide preliminary representations or reconstructed images of objects scanned by the system 100.
The various values stored by the memory circuit 215 and/or calculated by the processor circuit 210 will be described with reference to
The source-to-detector distance is the distance between the source 110 and the detector 115. As known in the art, a detector 115 for a typical second generation CT scanning system will include a plurality of detector elements where each element creates an electrical signal that can be collected by the data collector 205. The elements may be provided in a number of forms known in the art such as scintillation crystals, gas chambers, continuous detectors with transistor elements, and so forth. The detector 115 typically includes a plurality of detector channels, collectively labeled with reference numeral 340, with a detector element in each channel. The plurality of detector channels 340 is often chosen to approximately span the useable width of the fan 310. The plurality of detector channels 340 may be curved, usually to be approximately focused on the source 110, or may be aligned in a straight line as depicted in
The detector pitch value is the average distance from a predetermined portion of one detector element in the plurality of detector channels 340 to the equivalent portion of the next detector element. This value is a constant dependant on the geometry of the detector 115. The predetermined portion of the detector element used to determine the detector pitch value should be the same predetermined portion used to determine the source-to-detector distance. Typically the detector pitch value is input into the system by an operator or by the manufacturer of the system 100.
As will be understood in the following discussion, the detector pitch value and source-to-detector distance, are used in specific embodiments where these values can be approximate substitutions for the plurality of angles indicating, for each of the plurality of detector channels 340, the angle between a ray drawn from the source 110 to the detector channel and a ray perpendicular to the translation path. Alternatively, these angles may be measured or calculated by other readily developed algorithms.
The distance-traveled-per-snapshot value is the amount of distance traveled by the translating table 120 in between data collections by the scanning system 100. In some scanning systems 100, the translating table 120 will move a set distance, stop, and the scanner will take a measurement before moving the translating table 120 to the next stop. For example, the translating table 120 may make several stops 350, 352, 354, and 356 across the fan 310 to collect data. Alternatively, the translating table 120 may move continuously through the fan 310 with the system′ 100 collecting data when the translating table 120 is at several points 350, 352, 354, and 356. In another alternative, the system 100 may collect data during the object's 130 movement through the system such that each datum is integrated over a range of positions but is considered to have a single effective position of collection or effective data collection point 350, 352, 354, or 356. The distance between the data collection points 350, 352, 354, and 356 is the distance-traveled-per-snapshot value. This value may be determined based on a preprogrammed scanning algorithm. Alternatively, the distance-traveled-per-snapshot value may be determined by reading the distance traveled from the encoders 235 on the tracks 125.
In a different alternative, the distance-traveled-per-snapshot value may not be constant throughout any given scan. For example, data may be collected during acceleration or deceleration of the translation table 120 such that each column or row of the data array does not correspond to an equal distance traveled by scanned object 130. In this embodiment, the collected data may be re-sampled via a known algorithm to equalize the spacing between columns or rows of data, or in other words interpolating the data into a new array for which the distance-traveled-per-snapshot value is constant. The interpolation step can be performed to give an arbitrary spacing, but the spacing will usually be chosen to be equal to the nominal or average measured distance-traveled-per-snapshot value. This spacing becomes the distance-traveled-per-snapshot value used in the calibration for this type of embodiment. In another alternative, the scanning system marks each snapshot with a measured table position, and the calibration algorithm uses these measured positions. This avoids the need for resampling the data.
The backlash value refers to the difference in the physical position of the object 130 when scanning in a first direction across the fan 310 versus the physical position of the object 130 when scanning in a second direction opposite to the first direction. When scanning an object 130, certain time efficiencies may be gained by moving the scanned object 130 back and forth across the fan 310 while taking images at the same stopping or data collection points 350, 352, 354, and 356. Due to physical limitations, however, the object 130 may not be in exactly the same position when data is collected at the data collection points 350, 352, 354, and 356 when traveling in the first direction as when compared to the second direction. For instance, the time at which the encoder is strobed will generally not be at the effective center of the detector integration pulse, or there may be physical limitations or errors in the tracks 125 and the encoders 235. Such issues may result in a different position for the object at a given data collection point 350, 352, 354, or 356 even though the encoder 235 may indicate that the object 130 is in the same location. This error or difference in position between the two scanning directions is the backlash. Any backlash in the system 100 may cause unacceptable aberrations in the reconstructed image; therefore, reconstruction algorithms may include a backlash value to account for this common physical limitation within a given system 100.
A method of operating an embodiment of the CT scanner will be described with reference to
The system 100 then scans 410 the calibration object 130. Scanning the calibration object 130 may include any predetermined number of scans or passes across the X-ray beam fan 310. Typically, the scan includes passing the calibration object 130 through the scanning system 100 in a first direction and then passing the calibration object 130 through the scanning system 100 in a second direction opposite to the first direction. Those skilled in the art will recognize that the path across the fan 310 may be in a straight line or on a curved path depending on the configuration of the system 100, and the calibration method described herein may be applied to the embodiment with a curved path with minor modifications readily performed by one skilled in the art using the known geometry of the curved path. Scanning the calibration object 130 may also include rotating the calibration object 130 a predetermined amount in between passes through the system 100. In some cases, the process of passing the calibration object 130 through the system 100, rotating the object 130, and passing the calibration object 130 through the system may be repeated a predetermined number of times as is necessary to rotate the calibration object 130 by 360 degrees.
After scanning 410 the calibration object 130, a preliminary representation of the calibration object 130 is provided 420. The preliminary representation typically consists of an array of data collected during the scanning 410 indexed according to the detector channel number, the effective position of the translating table 120 at the time the data was collected, and the pass number. Normally, the data is sorted to parallel, as known in the art, so that the data for each pass of the calibration objection 130 is properly aligned in the array such that the index of the array organizes the data to be shown as a parallel-beam view of the object 130 at a given time during the scan. Often, this sorted data is considered a sorted sinogram. The calibration method will be described primarily with reference to data from the sorted sinogram, but the calibration may readily be adapted to incorporate the sorting algorithm without separately sorting the data such that the method may be applied directly to unsorted data.
The sorted sinogram may be displayed to a user on the visual display 240. A fully reconstructed image may also be used for the calibration, but full reconstruction typically requires a large amount of calculation not necessary for calibration; thus, when possible, calibration typically only uses a preliminary representation such as the sorted sinogram. One such display 500 of a sorted sinogram is shown in
With reference to
A typical slope-intercept equation is represented as
y=mx+b
where y is an indication of distance in a vertical direction, x is an indication of distance in a horizontal direction, m is an indication of the slope of a line, and b is an indication of the intercept of the vertical axis by the line at the zero position on the horizontal axis. In such an equation, b is an intercept-related value. Thus, to determine the intercept-related value for a portion of a preliminary representation, the offset position of the preliminary representation is compared to the expected orientation of the calibration object 130. In the example of
A readily developed algorithm can derive the intercept-related value, or b of the above equation, from the position of a portion 510, 520, 530, or 540 of the pin. One such algorithm assumes a sorting algorithm is used which maps channel and position into a ray position using the equation:
where SOD represents the source-to-object distance, γ[channel] represents the angle for a given detector channel relative to the line 330 perpendicular to the translation direction 320, pos represents the position along the translation axis of the translating table 120 relative to an arbitrary reference point used by the motion encoder, backlash is the backlash in the system 100, dir represents the direction of the scan (+1 when scanning in the direction of increasing detector channel number and −1 when scanning in the direction of decreasing channel number), and poscent represents the center position for the translation table 120 relative to the same reference point used to measure pos, and r is the distance between the rotation axis and the ray from the source to the detector channel when the table is at position pos. Applying this sorting algorithm with an incorrect value for backlash (represented as
which may be rewritten as:
For a perfectly centered object, r equals 0 for the center of the object. Thus, if one uses a known algorithm to measure (
One can compare this equation to the slope-intercept equation by using
and x=tan γ for the slope-intercept equation y=mx+b assuming r is zero in the example where the pin is placed at the center or rotation axis of the translation table 120.
The intercept-related value can be determined from an arbitrary reference point relative to the portion 510, 520, 530, or 540 of the pin using the above equations. For example, according to the above slope-intercept equation, the intercept-related value for portions of the pin scanned while moving in the first direction, that in this example is defined by moving in the direction of increasing detector channel number, can be represented by the equation:
while the intercept-related value for portions of the pin scanned while moving in the second direction, that in this example is defined by moving in the direction of decreasing detector channel number, can be represented by the equation:
By taking the difference between these equations, the relationship between the actual and incorrect backlash values is found to be:
backlash=
Thus, by fitting the sorted sinogram to the slope-intercept equation to find b+ and b−, we can determine the actual or new backlash value.
Therefore, in application, after determining the intercept-related values for each, or at least one of the, portions of the preliminary representations, the processor circuit 210 then averages 620 the intercept-related values for portions of the preliminary representation obtained while passing the calibration object 130 through the scanning system 100 in the first direction to obtain a first averaged intercept-related value, used in the equations above as b+ to determine the new backlash value, and the processor circuit 210 averages 630 the intercept-related values for portions of the preliminary representation obtained while passing the calibration object 130 through the scanning system 100 in the second direction to obtain a second averaged intercept-related value, used in the equations above as b− to determine the new backlash value. This step may be represented, for example, by the equations:
where b+ indicates the average intercept-related value for scans in the first direction, b− indicates the average intercept-related value for scans in the second direction, and K represents the total number of scans of the calibration object 130, for example the number of portions 510, 520, 530, and 540 of the pin in the displayed sorted sinogram 500.
An initial backlash value, represented above as the incorrect value for backlash (
The new backlash value is calculated 660 according to a predetermined function. Generally, this function may be as provided above. For the case where the data is sorted such that the data represents the rays approaching the detector 115 from the source are sorted to parallel and have equal distance between each other, the above equations may be modified because of the following relationship among the rays:
where Δr represents the spacing between rays, which depends on the sorting algorithm but will often be equal to the average distance-per-snapshot value,
and x=tan γ, and the new backlash value is determined according to the equation:
backlash=
where Δr is as above. Thus, in this embodiment, the predetermined function is one of the initial backlash value, the sorted ray spacing, the first averaged intercept-related value, and the second averaged intercept-related value. In these various embodiments, the new backlash value is the predetermined calibration value using the intercept-related value that may then be used in the known algorithms for providing the reconstructed image with reduced aberrations.
With reference to
SOD=
where the incorrect source-to-object value
A readily developed algorithm can derive the slope-related value, mk, from the offset of each portion 510, 520, 530, or 540 of the pin. The processor circuit 210 then averages 720 the slope-related values to determine an average slope-related value, m. This step may be represented by the equation:
where K represents the total number of scans of the calibration object 130, for example the number of portions 510, 520, 530, and 540 of the pin in the displayed sorted sinogram 500.
The source-to-detector distance is provided 730 as discussed above. An initial source-to-object distance is provided 740 either by the programming included with the system 100 in the automatic calibrator 220 or by a user through the input device(s) 230. The initial source-to-object distance may be an approximate guess of the actual source-to-object distance, or may be arbitrary. The amount of the initial source-to-object distance is not overly critical because the initial source-to-object distance operates as a starting point for determining a new source-to-object distance that should be very close to the actual source-to-object distance to reduce aberrations. The distance-traveled-per-snapshot value is determined 650 as described above, and the detector pitch value is provided 750 as discussed above.
The new source-to-object distance is calculated 760 according to a predetermined function as generally indicated above. For the case where the data is sorted such that the data represents the rays approaching the detector 115 from the source are sorted to parallel and have equal distance between each other, the above equations may be modified because of the following relationship among the rays:
as discussed above. Under this embodiment, the new source-to-object distance may be described by the equation:
SOD=
Further approximations may be made to account for the shape of the detector 115, or also called the detector shape profile. This may be necessary if one is unable to measure or calculate the true channel angles. Taking into account the detector shape profile of an ideal curved detector 115 focused on the source 110, the following equation can be used to describe the plurality of angles:
γ=Δγ×(channel−centdet)
where Δγ is the angular channel spacing and centdet is the center detector channel number. The geometry of such a system teaches that
where detPitch is the detector pitch value and SID is the source-to-detector distance. This equation can be applied to the above equations to provide slope- and intercept-related values used to calculate calibrations values for systems 100 with such a curved detector 115.
Subsequent calculations can be made to take into account an approximation for an ideal flat detector 115. For instance, the ideal flat detector may be approximated using the equation:
where channel can also be replaced by the view number in the sorted sinogram. In view of these approximation equations for the flat detector 115 and the equations for the sorted sinogram, one may demonstrate that
where the rays are considered views from the individual detector channels. By comparing against the slope-intercept equation, the slope-intercept value for this embodiment relates to the source-to-object distance according to the equation:
Thus, in this embodiment, the actual or new source-to-object distance may be calculated according to a predetermined function of the source-to-detector distance, the initial source-to-object distance, the sorted sinogram ray spacing, the detector pitch value incorporated as part of the approximations described above, and the average slope-related value, m. One may also show that these approximations for the detector shape profile may be applied to determine the same backlash to intercept-related value equation:
backlash=
as discussed above. In these various embodiments, the source-to-object distance is the predetermined calibration value using the slope-related value that may then be used in the known algorithms for providing the reconstructed image with reduced aberrations.
According to the above equations, a further calibration value may be determined, the translation center value. The translation center value typically is the variable “poscent” that represents the center position for the translation table 120 relative to the detector 115 and the source 110. In the example of
such that the translation center value may be determined in relation to the intercept-related values. In the case where the data is sorted to parallel according to the above equations, the translation center value may be determined as
such that the translation center value may be determined in relation to the intercept-related values and the sorted ray spacing or distance-traveled-per-snapshot value.
In practice, a sorted sinogram typically needs to be accurate to within ¼ of a pixel of the display sorted sinogram for high quality reconstruction images. Thus, the slope-related calculations typically need to be accurate to approximately a value δ represented by the equation:
For example, for an ideal flat detector, the new source-to-object distance typically needs to be accurate to approximately a value ε represented by the equation:
The value N is the number of views in each pass of a sorted sinogram or the number of detector channels given the appropriate approximations as described above.
Further, it has been found that in certain embodiments, particularly when approximating the ray spacing to be the distance-traveled-per-snapshot value and approximating the detector shape profile, or ignoring the cos γ term to simplify computation, repeating the calibration process using the new backlash value and new source-to-object distance from the previous operation of the method for the initial backlash value and initial source-to-object distance results in further reduced aberrations. Repetitions of the automatic calibration process more than about 3 times, however, often do not demonstrate further improvements. In other embodiments, there is no improvement from iterating the calibration process, and the calibration values are determined in a single step.
Thus, the CT scanning system described above can automatically determine certain calibration values that reduce aberrations in reconstructed images without manual adjustments by a user. Such a system reduces set up time and the need for specialized training for various users of the scanner.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention. For example, the calibration method need not operate on every portion of the preliminary representation to calculate calibration values, and it need not operate on sorted data. Such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2005/039121 | 10/27/2005 | WO | 00 | 4/25/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/050083 | 5/3/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4228515 | Genna et al. | Oct 1980 | A |
4305127 | Heuscher | Dec 1981 | A |
5450461 | Hsieh | Sep 1995 | A |
5786594 | Ito et al. | Jul 1998 | A |
7569829 | Chen et al. | Aug 2009 | B2 |
20030072409 | Kaufhold et al. | Apr 2003 | A1 |
20060115054 | Yatsenko et al. | Jun 2006 | A1 |
20070295897 | Lyoussi et al. | Dec 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20080279342 A1 | Nov 2008 | US |