一种在Pinnacle治疗计划系统上实现放疗计划移植的方法

文档序号:6628069阅读:557来源:国知局
一种在Pinnacle治疗计划系统上实现放疗计划移植的方法
【专利摘要】本发明提供一种在Pinnacle治疗计划系统上实现放疗计划移植的方法,步骤有:1)参照首程放疗计划,在复位CT图像空间上设置照射等中心点;2)通过执行脚本程序,在首程放疗计划中导出照射野参数;3)通过执行脚本程序,将首程放疗计划的照射野参数导入复位CT图像空间;4)通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植。利用该方法,可以在复位CT图像空间中再现首程放疗计划在患者体内投射剂量的分布情况,提高了Pinnacle治疗计划系统评估人体器官受辐射剂量的灵活性和精度,使放疗科医生和放射物理师可以方便快捷地在Pinnacle治疗计划系统上为患者开展自适应放疗并制定个体化的治疗方案。
【专利说明】—种在P i nnac I e治疗计划系统上实现放疗计划移植的方法

【技术领域】
[0001]本发明涉及计算机在肿瘤放疗计划中的应用【技术领域】,具体地说是一种在Pinnae I e治疗计划系统上实现放疗计划移植的方法。

【背景技术】
[0002]肿瘤放射治疗基本流程
对每一例确诊接受放疗的患者,其治疗的基本流程,如图1所示,包括“①CT定位(得至IJ“首程CT”)一②计划设计(得到“首程计划”)一③加速器下实施治疗一治疗一段时间后—④CT复位(得到“复位CT”)一⑤重新设计放疗计划(得到“复位计划”)一⑥按照复位计划在加速器下实施治疗”。其中④⑤⑥可能会出现不止一次。对各步骤具体解释如下:
①CT定位:也叫CT模拟定位,即通过真空垫、热塑面膜等辅助设备将患者固定于CT扫描床上,在定位激光灯的指导下,于患者体表断层方向共面地贴敷前、左、右三个标记点,其中左、右两个标记点必须保证处于同一水平面上,在此基础上对患者计划接受放射治疗的部位进行CT扫描,如图2所示。这里得到的一套CT图像通常称为“首程CT”或“定位CT”,用于首程放疗计划的制定;
②计划设计:即在定位CT图像空间中,通过放疗计划系统设计患者首程放疗计划,并对肿瘤及其周围各正常组织受辐射情况进行统计评估,确保肿瘤受到尽可能高剂量辐射的同时尽量降低周围正常组织的受照射剂量,如图3所示。这里得到的放疗计划通常称为“首程计划”;
③加速器下实施治疗:将患者按照CT定位时相同的体位和技术重新固定到医用直线加速器治疗床上,如图4所示,随后加速器从计算机服务器读取放疗计划,并按照计划中设定的各剂量学和机械参数执行放疗计划,即投射X射线到患者体内,完成一次治疗;
④CT复位:经过一段时间的治疗后,考虑到患者肿瘤的退缩及其周围正常组织位置可能出现变化,对患者再次进行CT定位扫描。这一过程通常会继续沿用患者首程CT扫描时体表贴敷的标记点。这里得到的新的CT图像通常称为“复位CT”,用于复位放疗计划的制定;
⑤重新设计放疗计划:在复位CT断层图像上重新勾画肿瘤及其周围正常组织轮廓,重新设计放疗计划,以使得放疗计划符合复位时肿瘤及其周围正常组织的结构,从而更准确地将辐射剂量投射到肿瘤上的同时,更有效地避免周围正常组织受到额外照射。
[0003]放射治疗计划系统:
放射治疗计划系统是一种通过对放射源及患者建模,来模拟一个放射治疗方案的计算机软件系统,如图5所示。在肿瘤患者接受放射治疗前,要在放疗计划系统平台上为每一例患者进行具有针对性的放疗计划设计:首先,由影像科医生对体表贴有共面的前、左、右三个定位标记点的患者进行CT扫描,并将扫描后得到的患者体部断层图像传输至放疗计划系统计算机工作站;第二步,由放疗科临床医生在放疗计划系统显示的患者断层图像上逐层勾画肿瘤区域及肿瘤周围各正常器官的轮廓;第三步,由肿瘤放射物理师在放疗计划系统上重建CT图像所描述的患者体内三维空间和勾画出的肿瘤、正常器官轮廓;第四步,设定放射治疗照射等中心,并以此等中心为基准设置放射治疗所需投射X线的各照射野,包括设置各照射角度、照射能量、照射强度及照射野内所有子野的多叶光栅位置(即照射形状);第五步,在CT空间中,对全部照射野所投射的剂量进行计算,模拟患者接受放射治疗的过程,并通过剂量-体积直方图统计分析肿瘤及其周围各正常组织受到的辐射剂量。
[0004]为什么要进行计划移植:
肿瘤及其周围正常组织是在变化的。肿瘤放射治疗的整个疗程从第一次CT扫描开始到整个疗程结束,以“每天治疗一次X每周五天”的常规治疗模式为例,通常要持续61周时间。在首程放疗计划实施治疗大约:Γ4周后,一部分患者的肿瘤靶区将出现退缩,相应的周围正常器官位置也将出现变化,如图6所示。这时,需要根据肿瘤及其周围正常组织的变化及时调整放疗计划,即在首程放疗计划执行一段时间后,根据肿瘤病理类型及患者自身特点,由放疗科医生决定在何时对患者进行复位CT扫描及重新制定放疗计划。
[0005]因此,在图6所示这种情况下(通常情况),医生希望将首程放疗计划移植到复位CT空间中,用以评估首程计划在患者当前肿瘤及正常组织结构下的剂量分布,在此基础上来决定后程放疗计划应当对肿瘤施以多大处方剂量的照射。如果不进行这种评估,将造成肿瘤漏照或者正常组织受照剂量超标的情况:如图6 Ca)所示的情况,复位CT显示首程计划的部分剂量并未投射在肿瘤上,而是投射在肿瘤消退后留出的肺组织中,若不予考虑这一因素,后程计划对肺组织的辐射剂量很可能超标,造成放射性肺损伤等并发症,影响患者生活质量和生存率。而进行计划移植后,就可以准确地评估首程计划在现有解剖结构下投射的剂量,从而给后续治疗计划的制定以科学的指导。
[0006]现有技术存在的不足:
Philips公司的Pinnacle放疗计划系统被广泛应用于世界多个国家,在中国,其设备遍布除西藏外其他各省的200余家医院的放疗中心(2013年数据)。该放疗计划系统仅仅对使用其当前最新(版本号9.6及以上)版本的用户提供“dynamic planning”模块实现将一个治疗计划叠加到另一套CT图像空间的功能,而一方面绝大多数用户在使用的是不具备这一功能的低版本系统,另一方面要升级到具有该模块的版本不仅需要额外支付升级费用,这对于部分较低版本的用户可能需要同时对硬件设备进行升级,这将对医院产生一笔不小的额外开支。
[0007]在当前低版本的Pinnacle治疗计划系统上,有一种间接的实现计划移植的方法,就是借助于Pinnacle生成质量保证(Quality Assurance, QA)计划的功能,首先将待评估患者的复位CT另外存储为一份QA模体图像,然后将已有的放疗计划复制到该患者相对应的QA模体图像上,从而完成已有放疗计划向另一个CT图像空间的移植。然而,这种方法存在显著的缺陷:该方法必须在每一次计划移植之前,将复位CT图像另外存储为一个QA模体图像,即使是在同一个患者的不同治疗阶段,只要进行一次计划移植评估,就需要在该患者的名下生成一个额外的QA模体图像,这不但严重增加了系统的存储负担、占用了大量存储资源,而且增加了放射物理师和放疗科医生的工作量。而且,该方法同样需要在移植时人为指定待移植计划在复位CT空间中的等中心位置,也就是说同样需要完成本发明中第一步“在复位CT图像上设置照射等中心点”的工作。


【发明内容】

[0008]本发明的技术任务是解决现有技术的不足,提供一种在Pinnacle治疗计划系统上实现放疗计划移植的方法。
[0009]本发明的技术方案是按以下方式实现的:该方法既用于将放疗计划移植到复位CT图像空间或用于将放疗计划移植到影像引导放射治疗在线获取的千伏级锥形束CT图像或兆伏级CT图像空间中,以下简称“复位CT图像空间”;其特征在于,包括如下步骤:
一、参照首程放疗计划,在复位CT图像空间上设置照射等中心点;二、通过执行脚本程序,在首程放疗计划中导出照射野参数;三、通过执行脚本程序,将首程放疗计划照射野的参数导入复位CT图像空间;四、通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植;其中:
一、参照首程放疗计划,在复位CT图像空间上设置照射等中心点,具体步骤如下:
1)在患者首程放疗计划的CT图像空间中,通过横断面CT图像找到CT扫描时固定于患者体表前方、左侧、右侧的三个标记点;
2)在步骤I)中三个标记点同时出现的CT层面,设置能连接三个标记点并贯穿左右、前后两个方向的十字线;
3)在标记2)中十字线的交叉处定位为首程CT图像空间的坐标原点,即首程CT图像空间的参考点;
4)记录首程计划的照射等中心点与参考点之间在患者左右、前后、头脚三个方向的相对位移距离;
5)参照步骤I)-3)的方法,在复位CT图像空间标记参考点;
6)在复位CT图像空间中,利用Pinnacle治疗计划系统的“PointsOf Interest”界面添加一个新的感兴趣点,系统将自动命名为P0I_1,以步骤5)中标记的参考点为原点,向患者左右、前后、头脚三个方向移动4)中记录的对应位移值,从而在复位CT图像空间中找到唯一的一个坐标位置,即为待移植放疗计划在复位CT图像空间中的照射等中心位置,将P0I_1放置在该位置,从而完成在复位CT图像空间上设置照射等中心的操作;
二、通过执行脚本程序,在首程放疗计划中导出照射野参数;
I)编写脚本ExportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下四段脚本代码:
SpawnCommand=^rm /home/p3rtp/inout/*.氺";
TrialList.Current.BeamList.Save=///home/p3rtp/inout/beamuf.0ut^;
SpawnCommand=〃rm /home/p3rtp/inout/beamuf.0ut.binary.氺〃;
TrialList.Current.Prescript1nList.Save=///home/p3rtp/inout/pre script 1n.0ut〃;
Store.FreeAt.w$ = 〃〃;
Store.FloatAt.w$ = TrialList.Current.BeamList.#〃#(§〃.Weight;
WarningMessage = Store.FloatAt.w$;
Store.Save = 〃/home/p3rtp/inout/store.0ut〃;
WarningMessage = "ExportBeams 0K〃; 该脚本代码表明要导出的是首程治疗计划照射野列表中的第个照射野($=1,2,3……);
要同时导出照射野列表中更多照射野,仅需要将上述代码中第二段和第三段分别复制在各自后续的位置,然后,在第二段每一行“$”符号所在位置依次赋值为数列1、2、3、4、5……的每一个整数值,即:
Store.FreeAt.wl = 〃〃;
Store.FreeAt.w2 = 〃〃;
Store.FreeAt.w3 = 〃〃;
Store.FreeAt.w4 = 〃〃;
Store.FreeAt.w5 = 〃〃;
在第三段每一行符号所在位置依次赋值为数列1、2、3、4、5……的每一个整数值,而符号所在的位置依次为“$_1”(0、1、2、3、4……)的每一个整数值,即:
Store.FloatAt.wl = TrialList.Current.BeamList.#〃#0〃.Weight;
WarningMessage = Store.FloatAt.wl;
Store.FloatAt.w2 = TrialList.Current.BeamList.#〃#1〃.Weight;
WarningMessage = Store.FloatAt.w2;
Store.FloatAt.w3 = TrialList.Current.BeamList.#〃#2〃.Weight;
WarningMessage = Store.FloatAt.w3;
Store.FloatAt.w4 = TrialList.Current.BeamList.#〃#3〃.Weight;
WarningMessage = Store.FloatAt.w4;
Store.FloatAt.w5 = TrialList.Current.BeamList.#〃#4〃.Weight;
WarningMessage = Store.FloatAt.w5;
上述脚本的第二段和第三段每增加一个新的语句,将增加导出待移植放疗计划照射野列表中后续的一个照射野参数,即“……”符号标示的位置允许根据待移植的首程放疗计划所包含的照射野数量进行扩充;
2)保存脚本ExportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User_Scripts/ 路径下,并将文件命名为 “ExportBeams.Script” ;
3)建立计划导出触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ExportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“ExportBeams.Script”脚本文件;
4)发送计划导出命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导出触发器“ExportBeams”,即可将当前放疗计划所包含的所有照射野参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置即子野形状,导出并存储在/home/p3rtp/inout/路径的临时文件中,从而完成在首程放疗计划中导出照射野参数的操作;
三、通过执行脚本程序,将首程放疗计划照射野的参数导入复位CT图像空间,包括如下步骤:
I)编写脚本ImportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下脚本代码:
Store.Load = 〃/home/p3rtp/inout/store.0ut〃;
IF.PinnPreferences.ComputeUncomputedBeams.THEN.TrialList.Current.ComputeUncomputedBeams = 〃Add New Beam";
TrialList.Current.Prescript1nList.Load = 〃/home/p3rtp/inout/prescript1n, out^;
TrialList.Current.BeamList.Load=///home/p3rtp/inout/beamuf.0ut^;
WarningMessage = "ImportBeams 0K〃;
2)保存脚本ImportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User_Scripts/ 路径下,并将文件命名为 “ImportBeams.Script” ;
3)建立计划导入触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ ImportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“ ImportBeams.Script”脚本文件;
4)发送计划导入命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导入触发器“ ImportBeams”,即可将最近一次执行“ExportBeams”触发器命令所导出的放疗计划所有照射野及其相关参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置,即子野形状,导入当前CT图像空间,导入的放疗计划自动识别等中心点,即将照射野的等中心放置在第一步“在复位CT图像上设置照射等中心点”所设等中心点上,从而完成首程放疗计划参数导入复位CT图像空间的操作;
四、通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植,具体步骤如下:
O编写脚本BeamWeights:通过文本编辑器新建一个空白文本文件,并在其中录入以下两段脚本代码:
TrialList.Current.BeamList.#〃#@".WeightLocked = O;
TrialList.Current.BeamList.#〃测〃.Weight = Store.FloatAt.w$ ;
TrialList.Current.BeamList.#〃#@".WeightLocked = I;
该脚本代码表明要设置的是首程治疗计划照射野列表中的第“Γ个照射野的权重。
[0010]要设置照射野列表中更多照射野的权重,仅需要将上述代码分别复制在各自段落后续的位置,然后,在第一段每一行中符号所在的位置依次写为数列0、1、2、3、4……的每一个整数值,即:
TrialList.Current.BeamList.#〃#0".WeightLocked = O;
TrialList.Current.BeamList.#〃#1〃.WeightLocked = O;
TrialList.Current.BeamList.#〃#2".WeightLocked = O;
TrialList.Current.BeamList.#〃#3〃.WeightLocked = O;
TrialList.Current.BeamList.#〃#4〃.WeightLocked = O;
在第二段每一行符号所在的位置依次赋值为数列0、1、2、3、4……的每一个整数值,而“$”符号所在的位置依次为“@+1”(1、2、3、4、5……)的每一个整数值,即:
TrialList.Current.BeamList.#〃#0〃.Weight = Store.FloatAt.wl;
TrialList.Current.BeamList.#〃#0".WeightLocked = I;
TrialList.Current.BeamList.#〃#1〃.Weight = Store.FloatAt.w2;
TrialList.Current.BeamList.#〃#1〃.WeightLocked = I;
TrialList.Current.BeamList.#〃#2〃.Weight = Store.FloatAt.w3;
TrialList.Current.BeamList.#〃#2".WeightLocked = I;
TrialList.Current.BeamList.#〃#3〃.Weight = Store.FloatAt.w4;
TrialList.Current.BeamList.#〃#3〃.WeightLocked = I;
TrialList.Current.BeamList.#〃#4〃.Weight = Store.FloatAt.w5;
TrialList.Current.BeamList.#〃#4〃.WeightLocked = I;
上述脚本的每一段每增加一个新的语句,将增加设置待移植首程放疗计划照射野列表中后续的一个照射野的权重,即“……”符号标示的位置可以根据待移植首程放疗计划所包含的照射野数量进行扩充;
2)保存脚本BeamWeights:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User_Scripts/ 路径下,并将文件命名为 “BeamWeights.Script” ;
3)建立设置权重触发器:在Pinnacle放疗计划系统的HotScripts界面建立新的脚本运行触发器“BeamWeights”,并将后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“BeamWeights.Script”脚本文件;
4)发送设置权重命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的设置权重触发器“BeamWeights”,即可将当前放疗计划所包含各照射野的权重按照最近一次执行“ExportBeams”触发器命令所导出的放疗计划对应的照射野权重进行设置,即在移植后的计划中恢复了首程计划各照射野的权重,从而完成从首程计划到复位计划的移植。
[0011]本发明的突出的有益效果:使用本发明的方法完成放疗计划由一个CT图像空间向另一个CT图像空间的移植,可以在不额外增加系统存储负担的情况下,在复位CT图像空间中再现首程放疗计划在患者体内投射剂量的分布情况,提高了 Pinnacle治疗计划系统评估人体器官受辐射剂量的灵活性和精度,使放疗科医生和放射物理师可以方便快捷地在Pinnacle治疗计划系统上为患者开展自适应放疗并制定个体化的治疗方案,也为开展临床及科研工作提供了技术支持。

【专利附图】

【附图说明】
[0012]图1肿瘤放射治疗流程及计划移植路径示意图;
图2患者接受CT定位时,在体表标记和激光灯的指导下确定参考点,圆圈位置的屏幕截图;
图3治疗计划系统模拟医用直线加速器各项参数,在患者体内投射X射线的屏幕截图;
图4将患者按照定位时的体位重新固定到医用直线加速器治疗床上,接受放射治疗屏眷截图;
图5放疗计划系统模拟直线加速器射线投射参数及辐射剂量在人体内的分布,并统计分析肿瘤及正常组织所受辐射剂量-体积指标屏幕截图; 图6肿瘤治疗前和治疗一段时间后,首程CT和复位CT配准图像通过棋盘格形式显示的结果的屏幕截图,其中黑白区域为首程CT,蓝色区域为复位CT,a图显示肺内肿瘤出现明显退缩;b图显示头颈部肿瘤退缩后,其周围正常器官的位置发生相应变化的。

【具体实施方式】
[0013]下面结合附图对本发明的在Pinnacle治疗计划系统上实现放疗计划移植的方法作进一步详细说明。
[0014]第一步,参照首程放疗计划,在复位CT图像空间上设置照射等中心点;第二步,通过执行脚本程序,在首程放疗计划中导出照射野参数;第三步,通过执行脚本程序,将首程放疗计划照射野的参数导入复位CT图像空间;第四步,通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植。具体步骤如下:
第一步,在复位CT图像空间上设置照射等中心点
1)在患者首程放疗计划的CT图像空间中,通过横断面CT图像找到CT扫描时固定于患者体表前方、左侧、右侧的三个标记点;
2)在I)中三个标记点同时出现的CT层面,设置能连接三个标记点并贯穿左右、前后两个方向的十字线;
3)标记2)中十字线的交叉处为首程CT图像空间的坐标原点,即首程CT图像空间的参考占.4)记录首程计划的照射等中心点与参考点之间在患者左右、前后、头脚三个方向的相对位移距离;
5)参照I)?3)的方法,在复位CT图像空间标记参考点;
6)在复位CT图像空间中,利用Pinnacle治疗计划系统的“PointsOf Interest”界面添加一个新的感兴趣点,系统将自动命名为P0I_1。以5)中标记的参考点为原点,向患者左右、前后、头脚三个方向移动4)中记录的对应位移值,从而在复位CT图像空间中找到唯一的一个坐标位置,即为待移植放疗计划在复位CT图像空间中的照射等中心位置。将P0I_1放置在该位置,从而完成在复位CT图像空间上设置照射等中心的操作。
[0015]第二步,在首程放疗计划中导出照射野参数
I)编写脚本ExportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下四段脚本代码:
SpawnCommand=^rm /home/p3rtp/inout/*.氺";
TrialList.Current.BeamList.Save=///home/p3rtp/inout/beamuf.0ut^;
SpawnCommand=〃rm /home/p3rtp/inout/beamuf.0ut.binary.氺〃;
TrialList.Current.Prescript1nList.Save=///home/p3rtp/inout/pre script 1n.0ut〃;
Store.FreeAt.w$ = 〃〃;
Store.FloatAt.w$ = TrialList.Current.BeamList.#〃#(§〃.Weight;
WarningMessage = Store.FloatAt.w$;
Store.Save = 〃/home/p3rtp/inout/store.0ut〃;
WarningMessage = "ExportBeams OK";
该脚本代码表明要导出的是首程治疗计划照射野列表中的第个照射野($=1,2,3......)。
[0016]要同时导出照射野列表中更多照射野,仅需要将上述代码中第二段和第三段分别复制在各自后续的位置,然后,在第二段每一行“$”符号所在位置依次赋值为数列1、2、3、4、5......的每一个整数值,即:
Store.FreeAt.wl = 〃〃;
Store.FreeAt.w2 = 〃〃;
Store.FreeAt.w3 = 〃〃;
Store.FreeAt.w4 = 〃〃;
Store.FreeAt.w5 = 〃〃;
在第三段每一行符号所在位置依次赋值为数列1、2、3、4、5……的每一个整数值,而符号所在的位置依次为“$_1”(0、1、2、3、4……)的每一个整数值,即:
Store.FloatAt.wl = TrialList.Current.BeamList.#〃#0〃.Weight;
WarningMessage = Store.FloatAt.wl;
Store.FloatAt.w2 = TrialList.Current.BeamList.#〃#1〃.Weight;
WarningMessage = Store.FloatAt.w2;
Store.FloatAt.w3 = TrialList.Current.BeamList.#〃#2〃.Weight;
WarningMessage = Store.FloatAt.w3;
Store.FloatAt.w4 = TrialList.Current.BeamList.#〃#3〃.Weight;
WarningMessage = Store.FloatAt.w4;
Store.FloatAt.w5 = TrialList.Current.BeamList.#〃#4〃.Weight;
WarningMessage = Store.FloatAt.w5;
上述脚本的第二段和第三段每增加一个新的语句,将增加导出待移植放疗计划照射野列表中后续的一个照射野参数,即“……”符号标示的位置可以根据待移植的首程放疗计划所包含的照射野数量进行扩充;
2)保存脚本ExportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ExportBeams.Script” ;
3)建立计划导出触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ExportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ExportBeams.Script”脚本文件;
4)发送计划导出命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导出触发器“ExportBeams”,即可将当前放疗计划所包含的所有照射野参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置(即子野形状)导出并存储在/home/p3rtp/inout/路径的临时文件中,从而完成在首程放疗计划中导出照射野参数的操作。
[0017]第三步,首程放疗计划参数导入复位CT图像空间
I)编写脚本ImportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下脚本代码:
Store.Load = 〃/home/p3rtp/inout/store.0ut〃;
IF.PinnPreferences.ComputeUncomputedBeams.THEN.TrialList.Current.ComputeUncomputedBeams = 〃Add New Beam〃;
TrialLi st.Current.Prescript1nList.Load = ^/home/p3rtp/inout/prescript1n.0ut〃;
TrialList.Current.BeamList.Load=〃/home/p3rtp/inout/beamuf.0ut〃;
WarningMessage = "ImportBeams OK";
2)保存脚本ImportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ImportBeams.Script” ;
3)建立计划导入触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ ImportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ ImportBeams.Script”脚本文件;
4)发送计划导入命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导入触发器“ImportBeams”,即可将最近一次执行“ExportBeams”触发器命令所导出的放疗计划所有照射野及其相关参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置(即子野形状)导入当前CT空间。导入的放疗计划自动识别等中心点,即将照射野的等中心放置在第一步“在复位CT图像空间上设置照射等中心点”所设等中心点上,从而完成首程放疗计划参数导入复位CT图像空间的操作。
[0018]第四步,设置照射野权重
I)编写脚本BeamWeights:通过文本编辑器新建一个空白文本文件,并在其中录入以下两段脚本代码:
TrialList.Current.BeamList _ #〃#@".WeightLocked = O;
TrialList.Current.BeamList.#〃#@〃.Weight = Store.FloatAt.w$ ;
TrialList.Current.BeamList _ #〃#@".WeightLocked = I;
该脚本代码表明要设置的是首程治疗计划照射野列表中的第个照射野的权重。
[0019]要设置照射野列表中更多照射野的权重,仅需要将上述代码分别复制在各自段落后续的位置,然后,在第一段每一行中符号所在的位置依次写为数列0、1、2、3、4……的每一个整数值,即:
TrialList.Current.BeamList.#〃#0".WeightLocked = O;
TrialList.Current.BeamList _ #〃#1".WeightLocked = O;
TrialList.Current.BeamList.#〃#2".WeightLocked = O;
TrialList.Current.BeamList.#〃#3".WeightLocked = O;
TrialList.Current.BeamList _ #〃#4".WeightLocked = O;
在第二段每一行符号所在的位置依次赋值为数列0、1、2、3、4……的每一个整数值,而“$”符号所在的位置依次为“@+1”(1、2、3、4、5……)的每一个整数值,即:
TrialList.Current.BeamList.#〃#0〃.Weight = Store.FloatAt.wl;
TrialList.Current.BeamList.#〃#0".WeightLocked = I;
TrialList.Current.BeamList.#〃#1〃.Weight = Store.FloatAt.w2;
TrialList.Current.BeamList.#〃#1〃.WeightLocked = I;
TrialList.Current.BeamList.#〃#2〃.Weight = Store.FloatAt.w3;
TrialList.Current.BeamList.#〃#2".WeightLocked = I;
TrialList.Current.BeamList.#〃#3〃.Weight = Store.FloatAt.w4;
TrialList.Current.BeamList.#〃#3〃.WeightLocked = I;
TrialList.Current.BeamList.#〃#4〃.Weight = Store.FloatAt.w5;
TrialList.Current.BeamList.#〃#4〃.WeightLocked = I;
上述脚本的每一段每增加一个新的语句,将增加设置待移植首程放疗计划照射野列表中后续的一个照射野的权重,即“……”符号标示的位置可以根据待移植首程放疗计划所包含的照射野数量进行扩充;
2)保存脚本BeamWeights:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User_Scripts/ 路径下,并将文件命名为 “BeamWeights.Script” ;
3)建立设置权重触发器:在Pinnacle放疗计划系统的HotScripts界面建立新的脚本运行触发器“BeamWeights”,并将后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“BeamWeights.Script”脚本文件;
4)发送设置权重命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的设置权重触发器“BeamWeights”,即可将当前放疗计划所包含各照射野的权重按照最近一次执行“ExportBeams”触发器命令所导出的放疗计划对应的照射野权重进行设置,即在移植后的计划中恢复了首程计划各照射野的权重,从而完成从首程计划到复位计划的移植。
实施例
[0020]以一例放疗患者数据为例,该患者首程放疗计划Planl包括5个照射野。要将该计划移植到患者的复位CT空间中:
第一步,在复位CT图像上设置照射等中心点
1)在患者首程放疗计划的CT空间中,通过横断面CT图像找到CT扫描时固定于患者体表前方、左侧、右侧的三个标记点;
2)在I)中三个标记点同时出现的CT层面,设置能连接三个标记点并贯穿左右、前后两个方向的十字线;
3)标记2)中十字线的交叉处为首程CT图像空间的坐标原点,即首程CT空间的参考占.4)记录首程计划的照射等中心点与参考点之间在患者左右、前后、头脚三个方向的相对位移距离;
5)参照I)?3)的方法,在复位CT空间标记参考点;
6)在复位CT图像空间中,利用Pinnacle治疗计划系统的“PointsOf Interest”界面添加一个新的感兴趣点,系统将自动命名为P0I_1。以5)中标记的参考点为原点,向患者左右、前后、头脚三个方向移动4)中记录的对应位移值,从而在复位CT空间中找到唯一的一个坐标位置,即为待移植放疗计划在复位CT空间中的照射等中心位置。将P0I_1放置在该位置,从而完成在复位CT图像上设置照射等中心的操作。
[0021]第二步,在首程放疗计划中导出照射野参数
1)编写脚本ExportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下四段脚本代码:
SpawnCommand=//rm /home/p3rtp/inout/^.木〃;
TrialList.Current.BeamList.Save=///home/p3rtp/inout/beamuf.0ut〃;
SpawnCommand=〃rm /home/p3rtp/inout/beamuf.0ut.binary.木〃;
TrialList.Current.Prescript1nList.Save=///home/p3rtp/inout/pre script 1n.0ut〃;
Store.FreeAt.wl = 〃〃;
Store.FreeAt.w2 = 〃〃;
Store.FreeAt.w3 = 〃〃;
Store.FreeAt.w4 = 〃〃;
Store.FreeAt.w5 = 〃〃;
Store.FloatAt.wl = TrialList.Current.BeamList.#〃#0〃.Weight;
WarningMessage = Store.FloatAt.wl;
Store.FloatAt.w2 = TrialList.Current.BeamList.#〃#1〃.Weight;
WarningMessage = Store.FloatAt.w2;
Store.FloatAt.w3 = TrialList.Current.BeamList.#〃#2〃.Weight;
WarningMessage = Store.FloatAt.w3;
Store.FloatAt.w4 = TrialList.Current.BeamList.#〃#3〃.Weight;
WarningMessage = Store.FloatAt.w4;
Store.FloatAt.w5 = TrialList.Current.BeamList.#〃#4〃.Weight;
WarningMessage = Store.FloatAt.w5;
Store.Save = 〃/home/p3rtp/inout/store.0ut〃;
WarningMessage = "ExportBeams OK";
2)保存脚本ExportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ExportBeams.Script” ;
3)建立计划导出触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ExportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ExportBeams.Script”脚本文件;
4)发送计划导出命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导出触发器“ExportBeams”,即可将当前放疗计划所包含的所有照射野参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置(即子野形状)导出并存储在/home/p3rtp/inout/路径的临时文件中,从而完成在首程放疗计划中导出照射野参数的操作。
[0022]第三步,首程放疗计划参数导入复位CT图像空间
I)编写脚本ImportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下脚本代码:
Store.Load = 〃/home/p3rtp/inout/store.0ut〃; IF.PinnPreferences.ComputeUncomputedBeams.THEN.TrialList.Current.ComputeUncomputedBeams = 〃Add New Beam〃;
TrialLi st.Current.Prescript1nList.Load = ^/home/p3rtp/inout/prescript1n.0ut〃;
TrialList.Current.BeamList.Load=〃/home/p3rtp/inout/beamuf.0ut〃;
WarningMessage = "ImportBeams OK";
2)保存脚本ImportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ ImportBeams.Script”;
3)建立计划导入触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ ImportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ ImportBeams.Script”脚本文件;
4)发送计划导入命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导入触发器“ImportBeams”,即可将最近一次执行“ExportBeams”触发器命令所导出的放疗计划所有照射野及其相关参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置(即子野形状)导入当前CT空间。导入的放疗计划自动识别等中心点,即将照射野的等中心放置在第一步“在复位CT图像上设置照射等中心点”所设等中心点上,从而完成首程放疗计划参数导入复位CT图像的操作。
[0023]第四步,设置照射野权重
1)编写脚本BeamWeights:通过文本编辑器新建一个空白文本文件,并在其中录入以下两段脚本代码:
TrialList.Current.BeamList.#〃#0".WeightLocked = O;
TrialList.Current.BeamList _ #〃#1".WeightLocked = O;
TrialList.Current.BeamList.#〃#2".WeightLocked = O;
TrialList.Current.BeamList.#〃#3".WeightLocked = O;
TrialList.Current.BeamList _ #〃#4".WeightLocked = O;
TrialList.Current.BeamList.#〃#0〃.Weight = Store.FloatAt.wl;
TrialList.Current.BeamList.#〃#0".WeightLocked = I;
TrialList.Current.BeamList.Weight = Store.FloatAt.w2;
TrialList.Current.BeamList _ #〃#1".WeightLocked = I;
TrialList.Current.BeamList.#〃#2〃.Weight = Store.FloatAt.w3;
TrialList.Current.BeamList.#〃#2".WeightLocked = I;
TrialList.Current.BeamList.#〃#3〃.Weight = Store.FloatAt.w4;
TrialList.Current.BeamList.#〃#3".WeightLocked = I;
TrialList.Current.BeamList.#〃#4〃.Weight = Store.FloatAt.w5;
TrialList.Current.BeamList _ #〃#4".WeightLocked = I;
2)保存脚本BeamWeights:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “BeamWeights.Script” ;
3)建立设置权重触发器:在Pinnacle放疗计划系统的HotScripts界面建立新的脚本运行触发器“BeamWeights”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“BeamWeights.Script”脚本文件;
4)发送设置权重命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的设置权重触发器“BeamWeights”,即可将当前放疗计划所包含各照射野的权重按照最近一次执行“ExportBeams”触发器命令所导出的放疗计划对应的照射野权重进行设置,即在移植后的计划中恢复了首程计划各照射野的权重,从而完成从首程计划到复位计划的移植。
[0024]除本发明的说明书公开的技术特征外均为本专业技术人员的公知技术。
【权利要求】
1.一种在Pinnacle治疗计划系统上实现放疗计划移植的方法,该方法既用于将放疗计划移植到复位CT图像空间或用于将放疗计划移植到影像引导放射治疗在线获取的千伏级锥形束CT图像或兆伏级CT图像空间中,以下简称“复位CT图像空间”;其特征在于,包括如下步骤: 一、参照首程放疗计划,在复位CT图像空间上设置照射等中心点;二、通过执行脚本程序,在首程放疗计划中导出照射野参数;三、通过执行脚本程序,将首程放疗计划照射野的参数导入复位CT图像空间;四、通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植;其中: 一、参照首程放疗计划,在复位CT图像空间上设置照射等中心点,具体步骤如下: 1)在患者首程放疗计划的CT图像空间中,通过横断面CT图像找到CT扫描时固定于患者体表前方、左侧、右侧的三个标记点; 2)在步骤I)中三个标记点同时出现的CT层面,设置能连接三个标记点并贯穿左右、前后两个方向的十字线; 3)在标记2)中十字线的交叉处定位为首程CT图像空间的坐标原点,即首程CT图像空间的参考点; 4)记录首程计划的照射等中心点与参考点之间在患者左右、前后、头脚三个方向的相对位移距离; 5)参照步骤I)-3)的方法,在复位CT图像空间标记参考点; 6)在复位CT图像空间中,利用Pinnacle治疗计划系统的“PointsOf Interest”界面添加一个新的感兴趣点,系统将自动命名为P0I_1,以步骤5)中标记的参考点为原点,向患者左右、前后、头脚三个方向移动4)中记录的对应位移值,从而在复位CT图像空间中找到唯一的一个坐标位置,即为待移植放疗计划在复位CT图像空间中的照射等中心位置,将P0I_1放置在该位置,从而完成在复位CT图像空间上设置照射等中心的操作; 二、通过执行脚本程序,在首程放疗计划中导出照射野参数; I)编写脚本ExportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下四段脚本代码:
SpawnCommand=//rm /home/p3rtp/inout/*.氺";
TrialList.Current.BeamList.Save=///home/p3rtp/inout/beamuf.0ut^;
SpawnCommand=〃rm /home/p3rtp/inout/beamuf.0ut.binary.氺〃;
TrialList.Current.Prescript1nList.Save=///home/p3rtp/inout/pre script 1n.0ut〃;
Store.FreeAt.w$ = 〃〃;
Store.FloatAt.w$ = TrialList.Current.BeamList.#〃#(§〃.Weight;
WarningMessage = Store.FloatAt.w$;
Store.Save = 〃/home/p3rtp/inout/store.0ut〃;
WarningMessage = "ExportBeams 0K〃; 该脚本代码表明要导出的是首程治疗计划照射野列表中的第个照射野($=1,2,3……); 要同时导出照射野列表中更多照射野,仅需要将上述代码中第二段和第三段分别复制在各自后续的位置,然后,在第二段每一行“$”符号所在位置依次赋值为数列1、2、3、4、5……的每一个整数值,即:
Store.FreeAt.wl = 〃〃;
Store.FreeAt.w2 = 〃〃;
Store.FreeAt.w3 = 〃〃;
Store.FreeAt.w4 = 〃〃;
Store.FreeAt.w5 = 〃〃; 在第三段每一行符号所在位置依次赋值为数列1、2、3、4、5……的每一个整数值,而 符号所在的位置依次为“$_1”(0、1、2、3、4……)的每一个整数值,即:
Store.FloatAt.wl = TrialList.Current.BeamList.#〃#0〃.Weight;
WarningMessage = Store.FloatAt.wl;
Store.FloatAt.w2 = TrialList.Current.BeamList.#〃#1〃.Weight;
WarningMessage = Store.FloatAt.w2;
Store.FloatAt.w3 = TrialList.Current.BeamList.#〃#2〃.Weight;
WarningMessage = Store.FloatAt.w3;
Store.FloatAt.w4 = TrialList.Current.BeamList.#〃#3〃.Weight;
WarningMessage = Store.FloatAt.w4;
Store.FloatAt.w5 = TrialList.Current.BeamList.#〃#4〃.Weight;
WarningMessage = Store.FloatAt.w5; 上述脚本的第二段和第三段每增加一个新的语句,将增加导出待移植放疗计划照射野列表中后续的一个照射野参数,即“……”符号标示的位置允许根据待移植的首程放疗计划所包含的照射野数量进行扩充; 2)保存脚本ExportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ExportBeams.Script” ; 3)建立计划导出触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ExportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ExportBeams.Script”脚本文件; 4)发送计划导出命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导出触发器“ExportBeams”,即可将当前放疗计划所包含的所有照射野参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置即子野形状,导出并存储在/h0me/p3rtp/inout/路径的临时文件中,从而完成在首程放疗计划中导出照射野参数的操作; 三、通过执行脚本程序,将首程放疗计划照射野的参数导入复位CT图像空间,包括如下步骤: I)编写脚本ImportBeams:通过文本编辑器新建一个空白文本文件,并在其中录入以下脚本代码:
Store.Load = 〃/home/p3rtp/inout/store.0ut〃; IF.PinnPreferences.ComputeUncomputedBeams.THEN.TrialList.Current.ComputeUncomputedBeams = 〃Add New Beam〃; TrialLi st.Current.Prescript1nList.Load = ^/home/p3rtp/inout/prescript1n.0ut〃;
TrialList.Current.BeamList.Load=〃/home/p3rtp/inout/beamuf.0ut〃;
WarningMessage = "ImportBeams OK"; 2)保存脚本ImportBeams:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User—Scripts/ 路径下,并将文件命名为 “ImportBeams.Script” ; 3)建立计划导入触发器:在Pinnacle治疗计划系统的HotScripts界面建立新的脚本运行触发器“ ImportBeams”,并将后台执行脚本指向保存在/home/p3rtp/User—Scripts/路径下的“ ImportBeams.Script”脚本文件; 4)发送计划导入命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的计划导入触发器“ImportBeams”,即可将最近一次执行“ExportBeams”触发器命令所导出的放疗计划所有照射野及其相关参数,包括每一个照射野的入射角度、能量、子野对应的多叶光栅位置,即子野形状,导入当前CT图像空间,导入的放疗计划自动识别等中心点,即将照射野的等中心放置在第一步“在复位CT图像上设置照射等中心点”所设等中心点上,从而完成首程放疗计划参数导入复位CT图像空间的操作; 四、通过执行脚本程序,设置导入复位CT图像空间的放疗计划各照射野的权重,完成放疗计划在不同CT图像空间的移植,具体步骤如下: I)编写脚本BeamWeights:通过文本编辑器新建一个空白文本文件,并在其中录入以下两段脚本代码:
TrialList.Current.BeamList _ #〃#@".WeightLocked = O;
TrialList.Current.BeamList.#〃#@〃.Weight = Store.FloatAt.w$ ;
TrialList.Current.BeamList _ #〃#@".WeightLocked = I; 该脚本代码表明要设置的是首程治疗计划照射野列表中的第个照射野的权重;要设置照射野列表中更多照射野的权重,仅需要将上述代码分别复制在各自段落后续的位置,然后,在第一段每一行中符号所在的位置依次写为数列0、1、2、3、4……的每一个整数值,即:
TrialList.Current.BeamList.#〃#0".WeightLocked = O;
TrialList.Current.BeamList _ #〃#1".WeightLocked = O;
TrialList.Current.BeamList.#〃#2".WeightLocked = O;
TrialList.Current.BeamList.#〃#3".WeightLocked = O;
TrialList.Current.BeamList _ #〃#4".WeightLocked = O; 在第二段每一行符号所在的位置依次赋值为数列0、1、2、3、4……的每一个整数值,而“$”符号所在的位置依次为“@+1”(1、2、3、4、5……)的每一个整数值,即:
TrialList.Current.BeamList.#〃#0〃.Weight = Store.FloatAt.wl;
TrialList.Current.BeamList.#〃#0".WeightLocked = I;
TrialList.Current.BeamList.Weight = Store.FloatAt.w2;
TrialList.Current.BeamList _ #〃#1".WeightLocked = I;
TrialList.Current.BeamList.#〃#2〃.Weight = Store.FloatAt.w3;
TrialList.Current.BeamList.#〃#2".WeightLocked = I;
TrialList.Current.BeamList.#〃#3〃.Weight = Store.FloatAt.w4;
TrialList.Current.BeamList.#〃#3〃.WeightLocked = I;
TrialList.Current.BeamList.#〃#4〃.Weight = Store.FloatAt.w5;
TrialList.Current.BeamList.#〃#4〃.WeightLocked = I; 上述脚本的每一段每增加一个新的语句,将增加设置待移植首程放疗计划照射野列表中后续的一个照射野的权重,即“……”符号标示的位置可以根据待移植首程放疗计划所包含的照射野数量进行扩充; 2)保存脚本BeamWeights:将上述脚本文件保存在Unix操作系统目录的/home/p3rtp/User_Scripts/ 路径下,并将文件命名为 “BeamWeights.Script” ; 3)建立设置权重触发器:在Pinnacle放疗计划系统的HotScripts界面建立新的脚本运行触发器“BeamWeights”,并将后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“BeamWeights.Script”脚本文件; 4)发送设置权重命令:在Pinnacle治疗计划系统的HotScripts界面触发新建的设置权重触发器“BeamWeights”,即可将当前放疗计划所包含各照射野的权重按照最近一次执行“ExportBeams”触发器命令所导出的放疗计划对应的照射野权重进行设置,即在移植后的计划中恢复了首程计划各照射野的权重,从而完成从首程计划到复位计划的移植。
【文档编号】G06F19/00GK104252580SQ201410492407
【公开日】2014年12月31日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】白曈, 朱健, 李宝生, 尹勇, 舒华忠 申请人:山东省肿瘤医院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1