System and computer program product for inverse treatment planning
09700739 ยท 2017-07-11
Assignee
Inventors
Cpc classification
A61N5/1075
HUMAN NECESSITIES
A61N5/1038
HUMAN NECESSITIES
G06F17/16
PHYSICS
G05B2219/33079
PHYSICS
A61N5/1042
HUMAN NECESSITIES
A61N5/1071
HUMAN NECESSITIES
A61B6/54
HUMAN NECESSITIES
A61B6/5294
HUMAN NECESSITIES
International classification
A61B6/00
HUMAN NECESSITIES
A61N5/10
HUMAN NECESSITIES
G06F17/16
PHYSICS
Abstract
The present invention concerns an inverse treatment planning system. The system includes, at least a data bus system (102), a memory (106) coupled to the data bus system (102), and a processing unit (104) coupled to the data bus system (102). The processing unit (104) is configured to execute the instructions to pre-compute (10) a set of individual dose shots (a.sup.j), each individual dose shot having a predetermined location inside and/or outside a target area, a size and a shape. The processing unit also associates (40) a weight (s.sub.j) to each individual dose shot (a.sup.j), based on one or more constraints (20). The processing unit (104) further executes the instructions to find (30) the sparsest subset of individual dose shots, so as to satisfy said one or more constraints (20).
Claims
1. An inverse treatment planning system, comprising: at least a data bus system, a memory and a persistent storage coupled to the data bus system, wherein non-transitory instructions located on the persistent storage have been loaded into the memory, a display coupled to the data bus system, wherein the display provides a mechanism to display information to a user, and a processing unit coupled to the data bus system, wherein the processing unit is configured to execute said instructions to pre-compute a set of individual beams, wherein the beam is comprised of a plurality of beamlets, each individual beam having a predetermined location inside and/or outside a target area, a size and a shape, associate a weight to each individual beam, based on at least one beam constraint or more beam constraints, so as to get individual weighted beams, wherein said processing unit executes said instructions to find the sparsest subset of said individual weighted beams, so as to satisfy said at least one beam constraint or more beam constraints creating thereby a beam distribution that can be produced by a machine, and wherein said display is coupled to the processing unit and is operable to output treatment parameters including for each individual weighted beam, its predetermined location, size and shape, provided by the processing unit.
2. The system of claim 1, wherein the processing unit executes the non-transitory instructions to find the minimum number of non-zero weights so as to satisfy said at least one beam constraint or more beam constraints.
3. The system of claim 1, wherein the number of non-zero weights is at least 1/100 of the number of pre-computed individual beams.
4. The system of claim 1, wherein the processing unit executes the non-transitory instructions to minimize a weighted L1 norm of the vector of weights while satisfying said at least one beam constraint or more beam constraints, so as to obtain an optimal subset of individual weighted beams.
5. The system of claim 1, wherein the processing unit executes the non-transitory instructions to minimize a weighted L0 norm of the vector of weights while satisfying said at least one beam constraint or more beam constraints, so as to obtain an optimal subset of individual weighted beams.
6. The system of claim 1, wherein the processing unit executes the non-transitory instructions to minimize a weighted L2 norm of the vector of weights while satisfying said at least one beam constraint or more beam constraints, so as to obtain an optimal subset of individual weighted beams.
7. The system of claim 1, wherein the processing unit executes the non-transitory instructions to locate each individual beams in a location of a three-dimensional grid.
8. The system of claim 1, wherein the processing unit is configured to execute the non-transitory instructions in real-time.
9. The system of claim 1, wherein said beam constraint comprises beam constraint applied to the target region and/or to other areas such as sensitive structures to be protected against too high beam radiation.
10. The system of claim 1, wherein the processing unit is configured to execute the non-transitory instructions to take into account the physical properties of the patient's head anatomy during the pre-computing of the set of individual beams.
11. The system of claim 1, wherein the processing unit executes the non-transitory instructions to apply a convex optimization criterion.
12. The system of the previous claim 11, said optimization criterion comprising minimizing a treatment time.
13. The system of claim 1, being a focal inverse treatment planning system.
14. The system of claim 13 being a radiation inverse treatment planning system.
15. The system of the previous claim 14, being a radiation inverse treatment planning system involving ionizing radiations.
16. A computer program product, comprising: a tangible non-transitory computer usable medium including instructions for an inverse treatment planning, the instructions, when executed by a processor, cause the processor to: pre-compute a set of individual beams, wherein the beam is comprised of a plurality of beamlets, each individual beam having a predetermined location inside and/or outside a target area, a size and a shape, associate a weight to each individual beam, based on at least one beam constraint or more beam constraints, so as to get individual weighted beams, wherein said processing unit executes the instructions to find the sparsest subset of said individual weighted beams so as to satisfy said at least one beam constraint or more beam constraints, and generate an output to control a display to output treatment parameters including fo each indidual weighted beam, its premdetermined location, size and shape, provided by the non-transitory computer usable medium.
17. A non-transitory computer data carrier storing presentation content created with an inverse treatment planning method, wherein, when said content is executed by a processor, causes the processor to perform the following steps: pre-compute a set of individual beams, wherein the beam is comprised of a plurality of beamlets, each individual beam having a predetermined location inside and/or outside a target area, a size and a shape, associate a weight to each individual beam, based on at least one beam constraint or more beam constraints, so as to get individual weighted beams, wherein said processing unit executes the instructions to find the sparsest subset of said individual weighted beams so as to satisfy said at least one beam constraint or more beam constraints, and generate an output to control a display to output treatment parameters including for each individual weighted beam, its predetermined location, size and shape, provided by the non-transitory computer data carrier.
18. The system of claim 9, wherein said beam constraints are comprised in the following: beam distribution; locations, sizes and shapes of the individual beams; coverage, magnitude and gradients of the individual beams; a maximal treatment duration and a desired beam gradient index.
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)
(3)
DETAILED DESCRIPTION OF POSSIBLE EMBODIMENTS OF THE INVENTION
(4) Although the present invention will be described in more detail in connection with Gamma Knife radiosurgery, the application of which is exclusively cranial, the present invention finds applicability of connection with many other fields, as explained here above. For example, it can be applied also to extra-cranial radiosurgery techniques, or to treatments using any type of ionizing radiation, e.g. in fractionated radiotherapy techniques using linear accelerators (e.g. the Versa HD by Elekta). It can be applied also in robotic surgery or computer-assisted surgery.
(5)
(6) The inverse treatment planning system 100 according to the invention comprises: 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)
(8) Advantageously, the processing unit 102 is configured to execute the computer usable program code to
(9) pre-compute a dictionary composed of a list (or set) of possible dose shots' locations, 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).
(10) 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.
(11) 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.
(12) As discussed, the first step of
(13) In one preferred embodiment, this step can be performed by considering pre-calculated patterns (so-called kernels) of individual dose distribution, of different 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 head anatomy, based for instance on the medical images acquired for the planning.
(14) The dictionary is thus the set of functions
{.sup.j}.sub.j=1.sup.N
(15) with N denoting the size of the dictionary.
(16) Each component .sup.j of the dictionary will be named atom.
(17) 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
(18)
where s.sub.j denotes the weight associated to the j-th atom.
(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 100000 or more, while K may be as small as 20 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
(26) It must be understood that, even if the dose constraints in
(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)
(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.
(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. The weights w.sub.i impose different penalties for the kernels in the dictionary. For example, if it is known a priori that a set of kernels take more time in the treatment, then the associated weights are larger than the rest. This will lead to an optimization problem that will minimize the treatment time. If no prior information is known about the delivery time, then all the weights can be set to one.
(33) This optimization problem can then be solved by any convex optimization method, for instance by convex linear programming algorithms.
(34) 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.
(35) 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.
(36) 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.
(37)
(38) 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.
(39) In some embodiments, the memory 106 shown in
(40) The communications unit 110 shown in
(41) The input/output unit 112 shown in
(42) 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.
(43) 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.
(44) 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.
(45) 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
(46) 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.
(47) 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
(48) 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