1. Technical Field
The present invention relates to three-dimensional computing. In particular, the present invention relates to proton-computed tomography.
2. Background Art
Generating an internal 3D image of an object with proton computed tomography (pCT) starts by firing many protons through the object. Each proton's path (i.e., trace history) is recorded and the collection of all the trace histories are used as input to a computer program that generates the image. Some posit that images generated through pCT will be more effective in proton-based treatments of cancer than images produced through X-rays.
The algorithms that produce images from proton trace histories are complex and involve many stages. The computer memory and speed needed to produce a quality 3D image of an object for which proton-based cancer treatment can be applied (e.g., a human head or pelvis) within clinically meaningful time frames exceeds the capacity of even the most powerful desktop computers available today. Therefore, there is a need for an algorithm to make images from proton trace histories more effectively.
Detectors for pCT in the prior art employ larger bulky plastic cube shaped tubes (such as in Pemler, et al.) with large and bulky photon sensors that require much larger volumes that present problems when mounted on a proton gantry with limited space around the patient. Pemler, et al. describes the possibility to perform radiography with protons and used a single X-Y plane in front of the object being analyzed and a single X-Y plane after. Pemler, et al. also uses vacuum photomultipliers, square fibers, and combinatorial readout. Amaldi, et al. describes a Proton Range Radiography system with an imaging area of 10 cm×10 cm with a stack of thirty thin plastic scintillators. The current pCT detector at Loma Linda uses silicon wafers that are limited in available area (9 cm×9 cm), thus requiring a mosaic of overlapping tiles to achieve large area (27×36 cm). The maximum size now produced of silicon wafers is 10 cm×10 cm. The tiles are shingle overlapped or placed with edges butting, which create dead space in the detector or double layers that require “mathematical removal” during image calculations.
Therefore, there also remains a need for a detector for pCT that eliminates dead space and double layers created by the arrangement of tiles.
The present invention provides for a proton computed tomography (pCT) detector system, including two tracking (2D) detectors in sequence on a first side of an object to be imaged, two tracking (2D) detectors in sequence on an opposite side of the object to be imaged, and a calorimeter, wherein the tracking detectors include plastic scintillation fibers.
The present invention also provides for a method of imaging an object by emitting protons from a source through two tracking detectors, through and around the object, and through two opposite tracking detectors, detecting energy of the protons with a calorimeter, and imaging the object.
Other advantages of the present invention are readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings wherein:
The present invention provides for a pCT detector system 10, shown generally in
The tracking detectors 12 are used to detect the coordinates in the X and Y plane of the protons. Each detector 12 has two planes, an X plane and a Y plane, with the fibers (strips) oriented in the appropriate direction for X and Y measurements of the proton tracks. Each detector is fabricated by placing one X and one Y plane in close proximity with a thin foam-like material in between.
There are preferably four tracking detectors 12 arranged around the object 16 to be imaged, two on one side of the object 16 and two on the opposite side of the object 16. This arrangement is further described below. There can also be more than two tracking detectors 12 on each side of the object 16 in order to create redundancy. The tracking detectors 12 include 1 mm diameter thin circular plastic scintillation fibers 22, closely packed in a row, and covering the full area of the imaging field, preferably 27 cm by 36 cm, or 18 cm×36 cm. The tracking detectors 12 can be any other suitable size. The core of the fibers is preferably polystyrene with cladding of PMMA (Poly(methyl methacrylate)). The tracking detectors 12 also include appropriate electronics in order to detect the position of the protons and relay this data to a computer cluster.
The use of scintillation fibers for proton imaging has been reported in the prior art, but the tracking detectors 12 of the present invention offer higher spatial resolution and larger area coverage than previous detectors and eliminate the tile construction of the prior art. Up to six meters can be covered with these plastic scintillating fibers 22 without dead area. The smaller circular fibers 22 produce better resolution to sub-millimeter level over the larger square tubes used in prior art devices. One crucial difference between the present invention and the prior art is the use of SiPM (or solid state photomultiplier) 20 while reading out scintillating fibers 22. Previous devices were based on using bulky vacuum photomultipliers with poor light sensitivity in green diapazon of the light spectrum. The prior art used thick square scintillating fibers in order to increase light output. The tracking detectors 12 of the present invention use SiPM 20 with as much as two time higher light sensitivity and allows for use of thinner fibers 22.
The tracking detectors 12 are arranged so that two are placed in sequence on a first side of an object 16 to be imaged and two are placed in sequence on an opposite side of the object 16, as shown in
The tracking detectors 12 include the use of low cost Silicon Photomultipliers (SiPM) 20 attached to the plastic scintillating fibers 22 for signal amplification in lieu of phototubes as used in the prior art, as shown in
In one example of a tracking detector 12, the area of 27×36 cm2 (tracking part) is covered. If the picked diameter of the scintillating fiber 22 is 1 mm then 270 fibers, 270 SiPMs, and 270 channels of electronics are needed. This is true for a one projection only (X). The 2D plane includes X and Y projections (270+360=630 channels). The total tracking detector 12 includes approximately 630×4=2520 channels.
The calorimeter 14 is used to detect proton energy that is emitted from the source 18. SiPM 20 with a diameter of 1.2 mm, can provide a readout (digital or analog) through 1.2 mm wavelength shifter (WLS) fibers 36. The SiPM 20 used in the calorimeter 14 can be the same type as used in the tracking detectors 12. The calorimeter 14 can be arranged in a stack (at least two) of 3 mm scintillator plates 34, as shown in
In prior art devices (Amaldi, Premier), different combinations of readout systems were used. There has never before been the use of SiPM and scintillator fibers and SiPM and WLS fibers in combination. Amaldi, et al. used SiPM and WLS fibers for the calorimeter readout, but gas photomultipliers were used as a tracking detector. Premier, et al. used vacuum photomultipliers to readout scintillating fibers and vacuum photomultipliers to readout the calorimeter. In both mentioned cases, the targeted system name was a radiograph whereas the present invention is a 3D tomograph.
Unique features of this detector include large area coverage without dead zones or overlapping detectors that can produce artifacts in the reconstructed images. This solution offers better signal to noise than a previous approach that uses silicon strip detectors. Thus, scintillation fibers attached to silicon photo multipliers reduce background noise to produce cleaner images and lower dose to the patient for imaging. This is the first pCT detector to record protons at a rate of 2 million per second and reduce imaging time to less than 10 minutes, an acceptable time for patient imaging.
The present invention provides for a method of imaging an object by emitting protons from a source through two tracking detectors, through and around the object, and though two opposite tracking detectors, detecting the protons with a calorimeter, and imaging the object.
More specifically, protons are emitted from a source 18 (scanning magnets) through two tracking detectors 12, through and around the object 16 to be imaged, through additional two tracking detectors 12, and finally pass through the energy detector (i.e., calorimeter 14) (
Generating 3D proton computed tomography images requires data from a large number of proton histories to be stored in memory. Previous computer programs executed on stand-alone general purpose graphical processing unit (GPGPU) workstations implemented in prior art were constrained by the demand on computer memory. The approach described here is not limited to demands on computer memory in the same manner as the reconstruction is executed on multiple workstations simultaneously.
The resulting data recorded from the detector and the calorimeter can be fed into an image reconstruction software program on a computer cluster to allow high-resolution images to be formed in under 10 minutes after irradiation.
The computer program is written in terms of the Message Passing Interface (MPI) standard. Writing the program in terms of the MPI standard enables one to run the program on a cluster of many computers as opposed to a single computer. The program can be run on approximately 768 CPUs (computers) plus 96 GPUs (graphic processing units). In this way, it is possible to bring to bear the combined memory and computational power of many computers at one time, thus substantially reducing the time it takes to run the program (by orders of magnitude) as well as increasing the problem size (as measured by size of image space and the sharpness of the image) the program can image. Therefore, data acquired from the calorimeter 14 can be analyzed on a cluster of multiple computers with this standard.
A compact way was also developed in which to store in the computer's memory the information needed to generate the image. This compact design reduces the memory required to solve the problem by orders of magnitude. Previous computer programs implemented in the prior art, which executed on stand-alone workstations, were constrained by the amount of computer memory their programs required.
By contrast the compact memory representation enables one to deploy the computer program to solve the entire 3D image space at one time. This results in images of higher quality as it allows one to use the information from the trace histories of more protons as compared to the “slice and assemble” technique used in the prior art.
The new computer program of the present invention is capable of producing high-quality 3D internal images for cancer patients being treated with proton therapy. Most notably, the new computer program, and specifically the two novel techniques of adding MPI and the compact memory representation, is able to produce quality images faster than any other known methods and, in fact, so fast (i.e., less than 10 minutes) that the program can not only be used to augment or replace X-ray generated images used in proton treatment of cancer today, but medical care providers can find new uses for such images to improve the quality of care delivered to the patient (e.g., just before treating the patient with proton therapy generate one more set of images to refine the treatment plan). pCT imaging and this new computer program can become the state of the art, and thus become the de facto standard, for generating images for every cancer patient globally treated with proton therapy.
The computer program is further described in Example 1 below, and an example of code is shown in EXAMPLE 2. Briefly, a foreman computer distributes equal amounts of proton histories to multiple worker computers and the foreman computer itself. An Integrated Electron Density (IED) and Most Likely Path (MLP) are computed by each of the computers. A solution vector is solved for and stored on computer readable memory in each of the computers. Copies of the solution vector from the worker computers are sent to the foreman computer and combined and stored on computer readable media. The combined solution vector is tested by the foreman computer, and if the combined solution vector is determined to be done, an image is then produced of the object. If it is determined that the combined solution vector is not done, the combined solution vector is transmitted to the worker computers, and each of the above steps are repeated until the combined solution vector is determined to be done by the foreman computer, and an image is produced of the object.
Thus, the advantages of this approach are that it significantly reduces both the time and memory, each by orders of magnitude, required to generate an image. These dramatic reductions in both time and space not only change how the images are produced, but also how they can be used in cancer therapy.
The invention is further described in detail by reference to the following experimental examples. These examples are provided for the purpose of illustration only, and are not intended to be limiting unless otherwise specified. Thus, the invention should in no way be construed as being limited to the following examples, but rather, should be construed to encompass any and all variations which become evident as a result of the teaching provided herein.
1 The Approach
Our proposed solution to implement string averaging methods is to use MPI with set of worker processes where one worker is designated as the foreman. The foreman reads the proton histories and distributes them evenly across all the workers, saving an equal share for himself. From their portion of the histories each worker computes (one time only) IED and MLP and initializes their solution vector which represents the entire voxel space (i.e., each worker has its own copy of the entire solution).
The program then enters an iteration loop in which:
2 Input Parameters
We define the following input parameters that characterize the imaging space and the computational resources.
Ia number of discrete angles (360°) from which imaging protons are fired
3 Memory Contraint and Process Count
In this section we compute the number of histories each worker can process, which we denote with Hw, as constrained the memory per process M, and from Hw and the total number of histories determine the number processes will be required, denoted by P, to solve the problem.
Indices and Counting. We find a repeated need to compute the minimum number of bytes needed for counting and to also index various discretized spaces. For notational convenience we therefore define these terms
Input. Each proton history is characterized by an 11-tuple comprised of four <z, y> tuples (one for each detector plane), input and output energies (Ein and Eout), and a projection angle. These values require bph+bpw bytes of storage for each of the four <x, y> tuples plus three floats for the last three values. Each history is processed to determine the 3-D surface of the phantom (i.e., space carving). In this process the voxel space is represented by an array, one element for each voxel, and the elements of the array are set or cleared if the phantom does nor does not occupy the voxel, respectively. We choose initially to represent each voxel with a byte rather than a bit to reduce the time to access the array. Therefore, the memory (Im) required to store the processed input projection histories for each worker is
IED. Each proton history is used to compute an Integrated Electron Density (IED), which is stored as a float. The memory needed to store the IEDs (IEDm) for each worker is
IEDm=Hwf (2)
MLP. Each proton history is used to compute the proton's Most Likely Path (MLP) by identifying those voxels through which the proton passed. Assuming near-linear trajectories, the set of voxels “touched” by a single proton's path is very small compared to the total voxel space and so a sparse representation is appropriate. We choose initially to list each voxel in a proton's path by identifying the voxel by its index in the linearized voxel space (i.e., requiring bv bytes for each index value). Proton history data is generated by firing many imaging protons from each of a number of different angles. Again assuming near-linear trajectories the upper limit of voxels through which a single proton will pass can be reasonably approximated from the length of the diagonal (Id) through the voxel space cube1 (i.e., ld=√{square root over (Vh2+Vw2+Vd2)}). Proton histories are evaluated at a resolution (i.e., step size s) that is determined by the desired imaging resolution and the MLP oversampling rate (i.e.,
In addition to identifying those voxels through which protons pass, it has been shown that the quality of the final image can be improved by also recording an estimate of the proton path's chord length through each voxel (i.e., as opposed to simply identifying those voxels that were “touched”). Initially, we choose to compute an estimate the chord length, a floating point number, as a function of the voxel cube dimensions (Vh, Vw, Vd) and the firing angle. Without assuming anything regarding how the proton histories will be partitioned over the set of worker processes (e.g., a worker may receive all histories from a single firing angle or from many, or all, firing angles) a simple memory layout that “connects” a chord length and the angle that produced it to the voxel indices of the protons fired from that angle is to maintain a vector of chord lengths and two additional vectors in tandem as follows;
Under these approximations and simple memory layout scheme, an upper limit approximation of the memory needed to store the MLP voxels and their chord lengths (MLPm) for each worker is
1In practice MLP evaluations will start and end with the entry and exit 3-tuples <x, y, z> generated from the space carving pre-processing of the input.
Solution Vector. The solution vector is an array of floats whose length is determined by the number of voxels V. We note that each worker maintains its own copy of the entire solution vector, and so, the memory needed to store the solution vector (Vm) in each worker is
Histories per worker. Each worker, including the foreman, must have enough space to store each of the above memory components, however, we note that once the input has been processed its memory may be re-used for the solution vector.
IEDm+MLPm+MAX(Im, Vm)≦M (5)
Re-writing inequality (5) we see that we can compute the maximum number of histories each worker can process, Hw, as constrained by their memory M as follows:
Number of processes. The number of voxels V and the number of protons per voxel Vp tells us how many input proton histories there will be in all. That, when combined with maximum number of histories each worker can process as constrained by their memory, Hw, tells us how many worker processes we will need for to solve the problem which we denote P.
4 Case Study
We compute here Hw and P using the following values:
Substituting those values into inequality (6) we get2
Case I 28Hw+8×106≧32×106: Rewriting inequality (8)
Case II 28Hw+8×106<32×106: Rewriting inequality (8)
Since the memory required to store the solution under Case II Vm=32×106 is greater than the amount of memory to store the input Im=28Hw+8×106≈29×106 we use the value Hw=760, 692 computed under Case II. Applying that value to equation (7) we find that we need
2Rounded
up from 3 to 4 so that value can be stored in int.
Appendix—for Spreadsheet
From inequality (6) we solve for Hw under the two following cases:
Case I Solving for Hw in (6) assuming Im≧VM:
or expressed using more convenient notation
Substituting the parameters from section 4 we compute Hw as follows:
Case II Solving for Hw in (6) assuming Im<VM:
or expressed using more convenient notation
Substituting the parameters from section 4 into (10) we again compute Hw as follows3
3Rounded
up from 3 to 4 so that value can be stored in int.
Throughout this application, various publications, including United States patents, are referenced by author and year and patents by number. Full citations for the publications are listed below. The disclosures of these publications and patents in their entireties are hereby incorporated by reference into this application in order to more fully describe the state of the art to which this invention pertains.
The invention has been described in an illustrative manner, and it is to be understood that the terminology, which has been used is intended to be in the nature of words of description rather than of limitation.
Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims, the invention can be practiced otherwise than as specifically described.
Research in this application was supported in part by a grant from the Department of Army USA Medical Research Mat Command (Grant No. W81XWH-10-1-0170). The Government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US11/31104 | 4/4/2011 | WO | 00 | 9/28/2012 |
Number | Date | Country | |
---|---|---|---|
61320542 | Apr 2010 | US |