System and computer program product for radiation inverse treatment planning

09700738 ยท 2017-07-11

Assignee

Inventors

Cpc classification

International classification

Abstract

The present invention concerns a radiation inverse treatment planning system for a linear accelerator. The system includes a radiation source, configured for delivering individual radiotherapeutic dose shots (aj), each individual radiotherapeutic dose shot having a predetermined location and incidence angle inside and/or outside a target area, a size and a shape. The system also includes at least a data bus system (102), and a memory (106) coupled to the data bus system (102), wherein the memory (106) includes a computer usable program code. The system also includes a processing unit (104) coupled to the data bus system (102), wherein the processing unit (104) is configured to execute the computer usable program code to pre-compute (10) a set of individual radiotherapeutie dose shots (aj), and associate (40) a weight (sj) to each individual radiotherapeutic dose shot (aj), based on one or more constraints (20). The processing unit (104) executes the computer usable program code to find (30) the sparsest subset of individual radiotherapeutic dose shots, so as to satisfy said one or more constraints (20).

Claims

1. A radiation inverse treatment planning system for a linear accelerator, comprising: a radiation source, configured for delivering individual radiotherapeutic beams, wherein the beam is comprised of a plurality of beamlets, each individual radiotherapeutic beam having a predetermined location and incidence angle inside and/or outside a target area, a size and a shape, at least a data bus system, a memory coupled to the data bus system, wherein the memory comprises a computer usable program code, and a processing unit coupled to the data bus system, wherein the processing unit is configured to execute the computer usable program code to pre-compute a dictionary composed of a set of individual possible radiotherapeutic beams including, for each individual radiotherapeutic beam its location and its incident angle, associate a weight to each individual radiotherapeutic beam, based on one or more constraints, wherein the processing unit executes the computer usable program code to find the sparsest subset of individual radiotherapeutic weighted beams, so as to satisfy said one or more constraints.

2. The system of claim 1, the weight associated to each individual radiotherapeutic beam comprising the time of irradiation.

3. The system of claim 1, the weight associated to each individual radiotherapeutic beam comprising the dose rate.

4. The system of claim 1, the weight associated to each individual radiotherapeutic beam comprising dose profile.

5. The system of claim 1, a first physical support for said radiation source, a second physical support arranged for receiving a patient, wherein the first physical support and the second physical support are arranged to be moved one relative to the other, and wherein the processing unit executes the computer sable program code to find the sparsest subset of individual radiotherapeutic beams, so as to satisfy said one or more constraints each time that the first physical support is moved relatively to the second physical support and/or each time that the second physical support is moved relatively to the first physical support.

6. The system of claim 1, wherein the processing unit executes the computer usable program code to find the sparsest subset of individual radiotherapeutic beams, so as to satisfy said one or more constraints each time that a patient and/or an organ of the patient moves.

7. The system of claim 1, wherein the processing unit executes the computer usable program code to find the minimum number of non-zero weights so as to satisfy said one or more constraints.

8. The system of claim 1, wherein the number of non-zero weights is at least 1/100 of the number of pre-computed individual radiotherapeutic beams.

9. The system of claim 1, wherein the processing unit executes the computer usable program code to minimize a weighted L1 norm of the vector of weights while satisfying said one or more constraints, so as to obtain an optimal subset of individual radiotherapeutic beams.

10. The system of claim 1, wherein the processing unit executes the computer usable program code to minimize a weighted L0 norm of the vector of weights while satisfying said one or more constraints, so as to obtain an optimal subset of individual radiotherapeutic beams.

11. The system of claim 1, wherein the processing unit executes the computer usable program code to minimize a weighted L2 norm of the vector of weights while satisfying said one or more constraints, so as to obtain an optimal subset of individual radiotherapeutic beams.

12. The system of claim 1, wherein the processing unit executes the computer usable program code to locate each individual radiotherapeutic beam in a location of a three-dimensional grid.

13. The system of claim 1, wherein the processing unit is configured to execute the computer usable program code in real-time.

14. The system of claim 1, wherein the constraint comprises dose constraints applied to the target region and/or to other areas such as sensitive structures to be protected against too high dose radiation.

15. The system of claim 1, wherein the processing unit is configured to execute the computer usable program code to take into account the physical properties of the patient's anatomy during the pre-computing of the set of individual radiotherapeutic beams.

16. The system of claim 1, wherein the processing unit executes the computer usable program code to apply a convex optimization criterion.

17. The system of the previous claim 16, said optimization criterion comprising minimizing a treatment time.

18. The system of claim 1, wherein the radiation source is a linear accelerator.

19. The system of claim 1, wherein the radiation source is a cobalt source or a proton beam.

20. A computer program product, comprising: a tangible non-transitory computer usable medium including computer usable program code for a radiation inverse treatment planning system comprising a radiation source configured for delivering individual radiotherapeutic beams, wherein the beam is comprised of a plurality of beamlets, each individual radiotherapeutic beam having a predetermined location and incidence angle inside and/or outside a target area, a size and a shape, the computer usable program code being used to pre-compute a dictionary composed of a set of individual possible radiotherapeutic beams including for each individual radiotherapeutic beam its location and its incident angle, associate a weight to each individual radiotherapeutic beam, based on one or more constraints, wherein a processing unit executes the computer usable program code to find the sparsest subset of individual radiotherapeutic weighted beams so as to satisfy said one or more constraints.

21. A non-transitory computer data carrier storing presentation content created with a radiation inverse treatment planning method, comprising the following steps: pre-compute a dictionary composed of a set of individual radiotherapeutic beams including, for each individual radiotherapeutic beam its location and its incident angle, each individual radiotherapeutic beam being generated by a radiation source and having a predetermined location and incidence angle inside and/or outside a target area, a size and a shape, wherein the beam is comprised of a plurality of beamlets, associate a weight to each individual radiotherapeutic beam, based on one or more constraints, wherein a processing unit executes the computer usable program code to find the sparsest subset of individual radiotherapeutic weighted beams so as to satisfy said one or more constraints.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The invention will be better understood with the aid of the description of an embodiment given by way of example and illustrated by the figures, in which:

(2) FIG. 1 is the illustration of an embodiment of a data processing system in which the computer usable program code of the computer program product in accordance with an embodiment of the present invention can be implemented.

(3) FIG. 2 shows a flow-chart representation of a method which can be implemented in an embodiment of the radiation inverse treatment planning system according to the present invention.

DETAILED DESCRIPTION OF POSSIBLE EMBODIMENTS OF THE INVENTION

(4) Although the present invention will be described in more detail in connection with a LINAC as radiation source, the present invention finds applicability of connection with many other sources, as explained here above. For example, it can use other radiation sources, as cobalt sources or proton beams.

(5) FIG. 1 is the illustration of an embodiment of a data processing system 100 in which the computer usable program code of the computer program product in accordance with an embodiment of the present invention may be implemented.

(6) The radiation inverse treatment planning system 100 according to the invention comprises: a radiation source (not visible), at least a data bus system 102, a memory 106 coupled to the data bus system 102, wherein the memory comprises a computer usable program code, and a processing unit 104 coupled to the data bus system 102.

(7) FIG. 2 shows a flow-chart representation of a method which can be implemented in an embodiment of the inverse treatment planning system 100 according to the present invention. Advantageously, the processing unit 102 is configured to execute the computer usable program code to pre-compute a dictionary composed of a list (or set) of possible dose shots' locations, incidence angles, sizes and shapes (step 10), define by the user the desired dose in the target area and potential additional constraints, for instance on the areas to be protected from too high dose radiation (step 20), solve a convex problem to determine the plan, i.e. to find which of those shots, and with which weights, will be actually used (steps 30, 40 and 50).

(8) In one preferred embodiment, the set of pre-computed dose shots (step 10) can be located on a discrete three-dimensional (3D) grid of fixed resolution in a 3D space.

(9) As discussed, the first step of FIG. 1 (step 10) is to build a list dictionary of possible dose shots (or dose distributions patterns) located (centered) at all possible locations and incidence angles on a 3D grid, or a subset of them (e.g. those located only within the target area).

(10) In one preferred embodiment, two consecutive locations on this grid in each of the three dimensions are spaced by a distance less than 1 mm, e.g. 0.5 mm.

(11) The dictionary is thus the set of functions
{a.sup.j}.sub.j=1.sup.N

(12) with N denoting the size of the dictionary.

(13) Each component a.sup.j of the dictionary will be named atom.

(14) The complete dose distribution can be calculated as the weighted sum of the contributions from each atom. The dose d at any point (x, y, z) of the 3D space can be computed as

(15) d ( x , y , z ) = .Math. j = 1 N s j a j ( x , y , z )
where s.sub.j denotes the weight associated to the j-th atom.

(16) For example, for a given system using a rotating gantry and a moving couch, the dictionary can be obtained by discretizing the rotation angles of the gantry and the positions of the coach to create a discrete grid on the sphere and considering different beam sizes and shapes for each discrete location and orientation.

(17) As another example, for a given LINAC location and orientation, the beam going through a multi-leave collimator can be discretized as a series of small discrete beamlets, parallel to each other, each of them with their own weight that has to be determined. For specific newer systems, dose rate modulation can also be discretized.

(18) In one preferred embodiment, this step can be performed by considering pre-calculated individual dose profiles, produced by a set of individual beams with different locations, orientations, sizes and shapes, and by translating them to all the considered grid points. This step can also be performed by taking into account the physical properties of the patient's anatomy, based for instance on the medical images acquired for the planning.

(19) The objective of the inverse planning method is to find the minimum number of non-zero weights s.sub.j so that the constraints imposed by the user at step 20 are satisfied.

(20) The complete dose distribution d can be calculated at a predefined number of points in the 3D space, for instance on a pre-defined grid G of P points.

(21) This dose distribution d can be represented by a vector f of dimension P that can be defined as
f=As
where A is an PN matrix whose columns are the value of the dose delivered by each atom at each point of the grid G, and s is a vector of the weights of the atoms, of dimension N.

(22) According to the invention, s has to be sparse, i.e. the number K of non-zero coefficients of s has to be much smaller than N. In a typical example, N may be as big as 100,000 or more, while K may be as small as 50 or less.

(23) The positions of the non-zero elements in s determine which atoms in the dictionary will be used in the treatment, i.e. they determine the actual shot shapes and their locations.

(24) The values of s determine the shot weights.

(25) Once building the dictionary A (step 10 in FIG. 2), a vector s with minimum number of non-zero elements is computed by satisfying the dose constraints defined by the user in step 20.

(26) It must be understood that, even if the dose constraints in FIG. 2 are inputted by the user after the pre-computation of the dictionary, this inputting can be performed before the pre-computing step 10.

(27) As optimization criteria, it is find a plan that minimizes a weighted L1 norm of vector s (i.e. the sum of the elements of the vector s) and meets all the dose constraints. The weighted L1 norm of s is closely related to the treatment time. This optimization problem can advantageously be formulated as a convex optimization problem (step 50), as only the weights of the individual dose shots are optimized (in fact simultaneously optimize the locations, sizes, shapes, and weights of the individual dose shots so as to guarantee a dose constraint will result in a non-convex optimization problem). In another embodiment, it is find a plan that minimizes a weighted L0 norm of vector s (i.e. the number of the elements of the vector s that are different from zero) and meets all the dose constraints. In another embodiment, it is find a plan that minimizes a weighted L2 norm of vector s and meets all the dose constraints.

(28) Let T denote the set of indexes of the vector f corresponding to points that belong to the target region, let R denote those belonging to the sensitive areas to be protected, and Q the set of remaining indexes. Also, let a.sub.i denotes the i-th row of the matrix A. The i-th component of the vector f can be expressed as
f.sub.i=a.sub.is
i.e. the inner product of the i-th row of the dictionary A and the vector s. Thus, the optimal plan is computed by solving the following convex problem:

(29) min .Math. s .Math. 1 , w such that { a i s b min i T a i s b max i R a i s b min i Q s 0 where .Math. s .Math. 1 , w = .Math. i = 1 N w i .Math. s i .Math.

(30) denotes the weighted L1 norm of the vector s with weights w.sub.i0, b.sub.min is the minimum dose at the target region T, b.sub.max is the maximum allowed dose at sensitive regions R, and s0 denotes the positivity constraint on the values of s.

(31) Additional constraints can be added at step 20 to the formulation as equality or inequality constraints. This can for instance be related to a desired dose gradient index, or to different values of the minimal dose delivered to different parts of the target region, or to different values of the maximal dose delivered to regions to be protected. This optimization problem can then be solved by any convex optimization method, for instance by convex linear programming algorithms.

(32) The weighted L1 norm is a convex function that promotes sparse solutions, i.e. solving this constrained minimization problem will determine the sparsest vector s that meets all the dose constraints.

(33) Minimizing the number of beams and the sum of their weights is akin to minimize the treatment time. Other types of convex penalties that promote structured sparsity, such as the L0, L1 or L2 norm that promotes group sparsity, can be employed. The idea behind this approach is to leverage from the particular structure of a particular LINAC technique.

(34) This optimization problem can then be solved by any convex optimization method, for instance by convex linear programming algorithms.

(35) The inventive system proposes then an inverse treatment planning system wherein the complete dose distribution is modeled as a sparse linear combination of single shot dose chosen from a pre-computed dictionary or library of pre-computed single shot doses.

(36) A convex constrained optimization procedure is used to determine the treatment plan. The shot weights are optimized, under sparsity constraint, to guarantee that the constraints on the dose distribution be met.

(37) The optimization procedure does not require the user to provide initial shot locations, and the convex optimization formulation can include dose constraints applied both to the target region and to other areas such as sensitive structures to be protected against too high dose radiation.

(38) FIG. 1 is an embodiment of a system 100 according to the invention. The system 100 of FIG. 1 may be located and/or otherwise operate at any node of a computer network, that may exemplarily comprise clients, servers, etc., and it is not illustrated in the figure. In the embodiment illustrated in FIG. 1, the system 100 includes communications fabric 102, which provides communications between processor unit 104, memory 106, persistent storage 108, communications unit 110, input/output (I/O) unit 112, and display 114.

(39) Processor unit 104 serves to execute instructions for software that may be loaded into memory 106. Processor unit 104 may be a set of one or more processors or may be a multi-processor core, depending on the particular implementation. Further, processor unit 104 may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, the processor unit 104 may be a symmetric multi-processor system containing multiple processors of the same type.

(40) In some embodiments, the memory 106 shown in FIG. 1 may be a random access memory or any other suitable volatile or non-volatile storage device. The persistent storage 108 may take various forms depending on the particular implementation. For example, the persistent storage 108 may contain one or more components or devices. The persistent storage 108 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by the persistent storage 108 also may be removable such as, but not limited to, a removable hard drive.

(41) The communications unit 110 shown in FIG. 1 provides for communications with other data processing systems or devices. In these examples, communications unit 110 is a network interface card. Modems, cable modem and Ethernet cards are just a few of the currently available types of network interface adapters. Communications unit 110 may provide communications through the use of either or both physical and wireless communications links.

(42) The input/output unit 112 shown in FIG. 1 enables input and output of data with other devices that may be connected to the system 100. In some embodiments, input/output unit 112 may provide a connection for user input through a keyboard and mouse. Further, input/output unit 112 may send output to a printer. Display 114 provides a mechanism to display information to a user.

(43) Instructions for the operating system and applications or programs are located on the persistent storage 108. These instructions may be loaded into the memory 106 for execution by processor unit 104. The processes of the different embodiments may be performed by processor unit 104 using computer implemented instructions, which may be located in a memory, such as memory 106. These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit 104. The program code in the different embodiments may be embodied on different physical or tangible computer readable media, such as memory 106 or persistent storage 108.

(44) Program code 116 is located in a functional form on the computer readable media 118 that is selectively removable and may be loaded onto or transferred to the system 100 for execution by processor unit 104. Program code 116 and computer readable media 118 form a computer program product 120 in these examples. In one example, the computer readable media 118 may be in a tangible form, such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage 108 for transfer onto a storage device, such as a hard drive that is part of persistent storage 108. In a tangible form, the computer readable media 118 also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory that is connected to the system 100. The tangible form of computer readable media 118 is also referred to as computer recordable storage media. In some instances, computer readable media 118 may not be removable.

(45) Alternatively, the program code 116 may be transferred to the system 100 from computer readable media 118 through a communications link to communications unit 110 and/or through a connection to input/output unit 112. The communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communications links or wireless transmissions containing the program code.

(46) The different components illustrated for data processing system 100 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system 100. Other components shown in FIG. 1 can be varied from the illustrative examples shown. For example, a storage device in the system 100 is any hardware apparatus that may store data. Memory 106, persistent storage 108, and computer readable media 118 are examples of storage devices in a tangible form.

(47) According to an embodiment, the system according to the invention is implemented on a processing unit (CPU) of a single computer. In another embodiment, it is implemented on a multi-cores computer, the cores working in parallel. In another embodiment, it is implemented on a Graphic Processing Unit (GPU) of a computer. In another embodiment, it is implemented on a plurality of computers, which work totally or partially in parallel.

(48) According to an independent aspect of the invention, the system according to the invention can be shared in innovative training scenarios (including tele-training and remote coaching). In one embodiment, the interactive inverse planning is provided as a tele-service, the system running in a processing centre accessed by the users over secured Internet connections.

REFERENCE NUMBERS USED IN THE FIGURES

(49) 10 Pre-computing step 20 User inputting step (constraints) 30 Sparsity step 40 Association step 50 Optimization step 100 System 102 Data bus system 104 Processing unit 106 Memory 108 Persistent storage 110 Communication unit 112 I/O unit 114 Display 116 Program code 118 Computer readable media