发明名称 一种测量医用加速器光子束能谱的方法
摘要 本发明公开了一种测量医用加速器光子束能谱的方法,步骤如下:a.测量医用加速器准直系统出口处光子束在三维水箱中的剂量分布,取得数据;b.应用MonteCarlo方法计算不同能量的若干组单能光子束在水中的剂量分布数据;c.建立单能光子束在水中剂量分布、光子束能谱和测量的剂量数据之间的线性方程组;d.通过测量光子束在水模中剂量数据,应用可取得结果的光子束能谱加权算法,求解线性方程组可获得光子束的能谱;本发明优点是:只需测量光子束在水箱中的剂量分布,再用本发明的软件便可到得光子束能谱数据,使用快捷简便;各放疗单位都有放疗水箱,本发明可使医院免购测量光子能谱设备,降低测量成本;不用光子能谱仪简化了放疗流程,提高了治疗效率。
申请公布号 CN100432699C 申请公布日期 2008.11.12
申请号 CN200610022706.3 申请日期 2006.12.29
申请人 成都川大奇林科技有限责任公司 发明人 罗正明;勾成俊;吴章文;杨代伦;孙官清
分类号 G01T1/29(2006.01);G01T1/02(2006.01);A61N5/10(2006.01) 主分类号 G01T1/29(2006.01)
代理机构 成都九鼎天元知识产权代理有限公司 代理人 熊晓果
主权项 1、一种测量医用加速器光子束能谱的方法,具有下述步骤:第一步,测量医用加速器准直系统出口处光子束在三维水箱中的剂量分布数据;具体做法是:①调整医用加速器头内的挡块,形成所要测量的一定大小的射野光子束;②将一定大小射野的光子束照射三维水箱,通过在水箱中的剂量计,测量上述光子束在水箱中的剂量分布;将射野中心轴不同的深度标记为z<sub>1</sub>,z<sub>2</sub>,…….z<sub>n</sub>,用剂量计测量得到的射野中心轴不同深度处的光子束剂量标记为d(z<sub>1</sub>),d(z<sub>2</sub>),…….d(z<sub>n</sub>),简写成:d<sub>1</sub>,d<sub>2</sub>,…….d<sub>n</sub>,或者将其写成向量形式<img file="C2006100227060002C1.GIF" wi="61" he="50" />第二步,用Monte Carlo方法,计算不同能量的若干组单能光子束在水箱中的剂量分布数据;具体做法是:①设光子束标称能量为E(MV),将E分成n等份,取每份的平均能量代表该段的光子能量,得到E/2n,3E/2n,…..(2n-1)E/2n,将其简写成:E<sub>1</sub>,E<sub>2</sub>,…….E<sub>n</sub>,共计n种能量;②应用Monte Carlo方法,计算单位注量的能量为E<sub>i</sub>=(2i-1)E/2n的单能宽束光子在水箱中测量点处的剂量D(z<sub>1</sub>,E<sub>i</sub>),D(z<sub>2</sub>,E<sub>i</sub>),…….D(z<sub>n</sub>,E<sub>i</sub>);③计算全部n种能量的单能光子在水箱中n个测量点的剂量,得到下面的剂量矩阵D:<maths num="0001"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><mi>Z</mi><mo>,</mo><mi>E</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>由于加速器光子的能量是从O到E的一个连续谱,当将光子束能区分为n个间隔时,如果间隔数n很大,则每个间隔内光子能量就近似相等,可以用平均能量E<sub>i</sub>代表该间隔的光子能量,而每一个能区的光子总数就可以代表这个能区的光子的能谱,将其记为Ψ(E<sub>i</sub>),或简写成Ψ<sub>i</sub>,全部n个能区的光子能谱为Ψ<sub>1</sub>,Ψ<sub>2</sub>,…….Ψ<sub>n</sub>,或者写成向量形式<img file="C2006100227060002C3.GIF" wi="67" he="54" />第三步,建立单能光子束在水中剂量分布数据、光子束能谱和测量的剂量数据之间的线性方程组;由于每一个测量深度z<sub>i</sub>处的光子剂量,都是由n种能量的光子产生剂量的总合,所以得到下面形式的线性方程组:<maths num="0002"><![CDATA[<math><mrow><mfenced open='(' close=')'><mtable><mtr><mtd><mrow><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd></mtd><mtd></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd></mtd><mtd></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd></mtd><mtd></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>,</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mfenced open='(' close=')'><mtable><mtr><mtd><mi>&Psi;</mi><mrow><mo>(</mo><msub><mi>E</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Psi;</mi><mrow><mo>(</mo><msub><mi>E</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mi>&Psi;</mi><mrow><mo>(</mo><msub><mi>E</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>d</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>d</mi><mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mi>d</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>n</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>形式上可以写为:<maths num="0003"><![CDATA[<math><mrow><mi>D</mi><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mo>=</mo><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>第四步,通过剂量计测量光子束在水模中剂量数据,求解线性方程组,获得光子束的能谱;由于D可能是病态矩阵,采用下述方法进行处理:①用近似方程(4)代替方程(3)<maths num="0004"><![CDATA[<math><mrow><mi>F</mi><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mo>=</mo><mrow><mo>(</mo><mi>D</mi><mo>+</mo><mi>&alpha;I</mi><mo>)</mo></mrow><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mo>=</mo><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>这里I是单位矩阵,I<sub>i,j</sub>=δ<sub>i,j</sub>,δ<sub>i,j</sub>是Kronecker符号,α是一个正数可调节参数,当α很小时,方程(4)就趋近方程(3),由于αI增加了矩阵中对角元的值,因而将显著改善方程(3)的病态性,使其得到的能谱<img file="C2006100227060003C4.GIF" wi="36" he="42" />是合理的:②先选取任意一个很大的正数作为初始α<sub>0</sub>(α的迭代初值)。由于F的病态性已得到克服,因此在能谱满足<maths num="0005"><![CDATA[<math><mrow><mo>|</mo><mo>|</mo><mi>D</mi><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>|</mo><mo>|</mo><mo>&lt;</mo><mi>&delta;</mi></mrow></math>]]></maths>精度条件下,可以重新用逆矩阵法求得<maths num="0006"><![CDATA[<math><mrow><msub><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mn>0</mn></msub><mo>=</mo><msup><mrow><mo>(</mo><mi>D</mi><mo>+</mo><msub><mi>&alpha;</mi><mn>0</mn></msub><mi>I</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>;</mo></mrow></math>]]></maths>③计算误差<maths num="0007"><![CDATA[<math><mrow><msub><mi>&Delta;</mi><mn>0</mn></msub><mo>=</mo><mo>|</mo><mo>|</mo><mi>D</mi><msub><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mn>0</mn></msub><mo>-</mo><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>|</mo><mo>|</mo><mo>,</mo></mrow></math>]]></maths>如果Δ<sub>0</sub>>δ,则选择一个更小的α<sub>1</sub>重复上述计算过程,直到第m次,使得选择的α<sub>m</sub>所取得<maths num="0008"><![CDATA[<math><mrow><msub><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mi>m</mi></msub><mo>=</mo><msup><mrow><mo>(</mo><mi>D</mi><mo>+</mo><msub><mi>&alpha;</mi><mi>m</mi></msub><mi>I</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>,</mo></mrow></math>]]></maths>............能使<maths num="0009"><![CDATA[<math><mrow><msub><mi>&Delta;</mi><mi>m</mi></msub><mo>=</mo><mo>|</mo><mo>|</mo><mi>D</mi><msub><mover><mi>&Psi;</mi><mo>&RightArrow;</mo></mover><mi>m</mi></msub><mo>-</mo><mover><mi>d</mi><mo>&RightArrow;</mo></mover><mo>|</mo><mo>|</mo><mo>&lt;</mo><mi>&delta;</mi></mrow></math>]]></maths>第一次成立,则迭代过程完成,如此这就取得了一个可用的光子能谱<img file="C2006100227060003C10.GIF" wi="92" he="53" />④将光子能谱<img file="C2006100227060003C11.GIF" wi="63" he="54" />储存于数据库;⑤临床上要计算光子束剂量时,调用这些光子能谱数据至放射治疗计划系统。
地址 610064四川省成都市望江路29号