首页> 中国专利> 一种在Pinnacle放疗计划系统中嵌入MapCheck验证计划流程的方法

一种在Pinnacle放疗计划系统中嵌入MapCheck验证计划流程的方法

摘要

本发明提供一种在Pinnacle放疗计划系统中嵌入MapCheck验证计划流程的方法,该方法首先编写脚本程序并将其嵌入到Pinnacle放疗计划系统;然后,建立运行脚本的触发器;最后,在每次制定验证计划时,通过运行触发器执行脚本程序,对放疗计划各照射野参数进行统一设置并进行剂量计算,得到验证所需要的平面剂量分布,完成MapCheck验证计划的制定。利用本发明提供的方法,在一次嵌入脚本后即可重复使用,能够大幅度简化放疗计划验证流程,提高了Pinnacle放疗计划系统的使用效率,避免了重复性手动操作可能出现的错误,为肿瘤放射治疗医生和放射物理师更方便地开展临床工作提供了技术支持。

著录项

  • 公开/公告号CN104793959A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

  • 申请/专利权人 山东省肿瘤医院;

    申请/专利号CN201510224284.7

  • 申请日2015-05-06

  • 分类号G06F9/44(20060101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人姜明

  • 地址 250117 山东省济南市槐荫区济兖路440号

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-19

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20180102 终止日期:20180506 申请日:20150506

    专利权的终止

  • 2018-01-02

    授权

    授权

  • 2015-08-19

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20150506

    实质审查的生效

  • 2015-07-22

    公开

    公开

说明书

技术领域

本发明涉及计算机在放疗计划中的应用技术领域,具体地说是一种在Pinnacle放疗计划系统中嵌入MapCheck验证计划流程的方法。

背景技术

放疗计划系统

    放疗计划系统是一种通过对放射源及患者建模,来设计放射治疗方案即放射治疗计划的计算机软件系统。针对每一例拟接受放射治疗的肿瘤患者,放疗科医生和肿瘤放射物理师都要通过放疗计划系统为其制定放疗计划。

在肿瘤患者接受放射治疗前,要在放疗计划系统平台上为每一例患者进行放疗计划设计:首先,由影像科医生对患者进行CT扫描,并将扫描后得到的患者体部断层图像传输至放疗计划系统计算机工作站;第二步,由放疗科临床医生在放疗计划系统显示的患者断层图像上勾画肿瘤区域及肿瘤周围各正常器官的轮廓;第三步,由肿瘤放射物理师在放疗计划系统上,通过重建患者三维图像、设置放射治疗过程中的照射角度、照射能量和照射野形状等参数,模拟患者接受放射治疗的过程,并由放疗计划系统计算治疗实施后,X射线在人体中形成的剂量分布;第四步,通过放疗计划系统提供的放疗计划评估模块,评估模拟得到的肿瘤及正常器官受照射剂量。

验证计划

    MapCheck——MapCheck是美国Sun Nuclear公司生产二维半导体阵列。它的有效测量射野面积为22cm×22cm。在矩阵中心的10cm×lOcm范围内,对角线上两个探头之间距离为0.717cm,在这个范围以外,对角线上两个探头间距为1.414cm。使用MapCheck进行验证时,需要将治疗计划按照MapCheck的要求转换为验证计划,包括将照射野入射角度全部归为0°、设置照射源到MapCheck设备的距离、剂量计算分辨率等参数。

MapCheck验证——为保障放射治疗能够安全、准确地实施,肿瘤放疗物理师需要在对患者实施治疗之前,借助MapCheck等测量工具对每一例放疗计划剂量投照的准确性进行验证,其具体执行流程为:制定验证计划à从放疗计划系统导出验证计划的平面剂量分布文件à将验证计划提交医用直线加速器执行à用MapCheck等平面剂量验证工具测量医用直线加速器执行验证计划所投照的剂量à对比验证计划平面剂量与MapCheck等剂量验证工具实际测量结果之间的差异,若差异在允许误差范围之内,则认为医用直线加速器可以将治疗计划准确施照于患者体内,可以开始对患者进行实际治疗。

制定验证计划——根据治疗计划制定与之相应的验证计划,是进行放射治疗质量控制的第一个环节,其具体操作流程包括:首先,将治疗计划中每一个照射野的角度设置为0°,如图1所示;第二步,对角度归零后的各照射野进行剂量计算,如图2所示;第三步,在Planar Dose Computation界面设置各照射野参数,包括设置剂量计算分辨率为0.3cm、设置照射源到MapCheck探头的距离SPD为100cm、设置照射源到MapCheck表面的距离SSD为98cm,如图3和图4所示;第四步,在Planar Dose Computation界面计算验证计划各照射野的平面剂量,如图5所示。

现有技术存在的不足:

Philips公司的Pinnacle 放疗计划系统被广泛应用于世界多个国家,在中国,其设备遍布除西藏外其他各省的200余家医院的放疗中心。在应用Pinnacle放疗计划系统制定MapCheck验证计划时,需要对治疗计划的每一个照射野进行图1~图5所示的四步操作。目前常规情况下,调强放疗计划通常都包括7到9个照射野,那么在为此类治疗计划制定验证计划时,过多的重复性操作不仅会占用放射物理师较长的工作时间、占用宝贵的放疗计划系统医疗资源,而且增加了人工手动操作出现错误的概率。

发明内容

本发明的技术任务是简化现有工作流程,提供一种在Pinnacle放疗计划系统中嵌入MapCheck验证计划流程的方法,大大简化操作流程,减少重复性操作和放射物理师的工作时间、以及放疗计划系统医疗资源,而且能够大幅度减少人工手动操作出现错误的概率。

本发明的技术方案是按以下方式实现的,首先编写脚本程序并将其嵌入到Pinnacle放疗计划系统;然后,建立运行脚本的触发器;最后,在每次制定验证计划时,通过运行触发器执行脚本程序,对放疗计划各照射野参数进行统一设置并进行剂量计算,得到验证所需要的平面剂量分布,完成MapCheck验证计划的制定,具体步骤如下:

第一步,嵌入脚本程序

1)编写脚本:通过文本编辑器新建一个空白文本文件,并在其中录入以下十一段脚本代码:

第一段:

WindowList .NewBeamSpreadsheet .Create = "BeamSpreadsheetButton";

WindowList .TrialPrescription .Create = "WindowPrescripIcon";

WindowList .PrescriptionEditor .Create = "Edit...";

TrialList .Current .PrescriptionList .Current .Method = "Set Monitor Units";

WindowList .PrescriptionEditor .Unrealize = "Dismiss";

WindowList .TrialPrescription .Unrealize = "Dismiss";

BeamLayout .Index = 1;

第二段:

TrialList .Current .BeamList .#"#1" .Gantry = "0";

第三段:

BeamLayout .Index = 5;

第四段:

TrialList .Current .ComputeDose .#"#1" = "Compute";

第五段:

WindowList .PlanarBeamDose .Create = "Planar Dose...";

TrialList .Current .AddPlanarDoseForAllBeams = "Add Plane Per Beam";

TrialList .Current .PlanarDoseList .Last .MakeCurrent = "Add Plane Per Beam";

第六段:

TrialList .Current .PlanarDoseList .#"#0" .SourceToPlaneDistance = " 100";

第七段:

TrialList .Current .PlanarDoseList .#"#0" .SourceToSurfaceDistance = " 98";

第八段:

WindowList .PlanarBeamDose .StateList .Current = 1;

第九段:

TrialList .Current .PlanarDoseList .#"#0" .VoxelSize = "0.3";

第十段:

TrialList .Current .ComputePlanarDose .#"#0" = 0;

第十一段:

TrialList .Current .ReportType = "Summary Report Only";

PrinterControl .ValidateSelectedPrinter = "Print";

WindowList .TrialPrintConfirmation .Unrealize = "Print";

TrialList .Current .Report = "Print";

上述脚本是要将治疗计划中的第一个照射野设置为验证野,包括对该照射野进行参数设定并触发剂量计算。要将治疗计划中更多的照射野设置为验证野,仅需要将上述代码中第二、四、六、七、九、十段分别复制并重复粘贴在各自段落后续空白区域,然后,将“#”后的数字按整数序列依次递增1。其中,第二、四、六、七、九、十段每增加一行,该脚本就可以将治疗计划中后续的一个照射野转化为验证野。

2)保存脚本:将上述脚本文件保存在Pinnacle放疗计划系统所运行的Solaris操作系统的/home/p3rtp/User_Scripts/路径下,并将文件命名为“*.Script.p3rtp”,此处*代表任意合法命名字符串。

第二步, 建立触发器

    1)建立触发器:在Pinnacle 放疗计划系统的HotScripts界面添加新的触发按钮,并将该按钮的后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的上述脚本文件,从而建立新的脚本运行触发器。

第三步,制定MapCheck验证计划

1)选择待验证的治疗计划:在Pinnacle放疗计划系统选择待验证的治疗计划;

2)复制待验证的治疗计划:复制上述待验证的治疗计划,并重命名为验证计划;

3)发送制定验证计划的命令:进入重命名后的验证计划,在HotScripts界面触发第二步新建立的触发器,系统即开始自动对该计划的各个照射野进行处理,待计算完成后,即得到该治疗计划对应的MapCheck验证计划。

本发明的突出的有益效果:使用本发明的方法为Pinnacle放疗计划系统制定MapCheck验证计划,在一次嵌入脚本后即可重复使用,将原有手动重复性的工作转变为“一键完成”的全自动处理过程,能够大幅度简化放疗计划验证流程,提高Pinnacle放疗计划系统的使用效率,避免了重复性手动操作可能出现的错误,为肿瘤放射治疗医生和放射物理师更方便地开展临床工作提供了技术支持。

附图说明

图1~5描述了在Pinnacle放疗计划系统上为一个包括七个照射野(照射野名称为A1~A7)的放射治疗计划制定验证计划时,各操作界面的截屏,其中:

图1是将各照射野角度设置为0°的屏幕截图;

图2是对设置为0°的各照射野进行剂量计算的屏幕截图;

图3是设置各照射野剂量计算分辨率为0.3cm的屏幕截图;

图4是设置各照射野SPD为100cm、SSD为98cm的屏幕截图;

图5是对设置过参数的验证计划各照射野进行平面剂量计算的屏幕截图。

具体实施方式

下面结合一例包含有七个照射野的放射治疗计划,描述简化MapCheck验证计划流程的脚本和操作步骤,对本发明的方法作进一步详细说明。

实施例

首先编写脚本程序并将其嵌入到Pinnacle放疗计划系统;然后,建立运行脚本的触发器;最后,在每次制定验证计划时,通过运行触发器执行脚本程序,对放疗计划各照射野参数进行统一设置并进行剂量计算,得到验证所需要的平面剂量分布,完成MapCheck验证计划的制定,具体步骤如下:

第一步,嵌入脚本程序

1)编写脚本:通过文本编辑器新建一个空白文本文件,并在其中录入以下十一段脚本代码:

第一段:

WindowList .NewBeamSpreadsheet .Create = "BeamSpreadsheetButton";

WindowList .TrialPrescription .Create = "WindowPrescripIcon";

WindowList .PrescriptionEditor .Create = "Edit...";

TrialList .Current .PrescriptionList .Current .Method = "Set Monitor Units";

WindowList .PrescriptionEditor .Unrealize = "Dismiss";

WindowList .TrialPrescription .Unrealize = "Dismiss";

BeamLayout .Index = 1;

第二段:

TrialList .Current .BeamList .#"#1" .Gantry = "0";

TrialList .Current .BeamList .#"#2" .Gantry = "0";

TrialList .Current .BeamList .#"#3" .Gantry = "0";

TrialList .Current .BeamList .#"#4" .Gantry = "0";

TrialList .Current .BeamList .#"#5" .Gantry = "0";

TrialList .Current .BeamList .#"#6" .Gantry = "0";

TrialList .Current .BeamList .#"#7" .Gantry = "0";

第三段:

BeamLayout .Index = 5;

第四段:

TrialList .Current .ComputeDose .#"#1" = "Compute";

TrialList .Current .ComputeDose .#"#2" = "Compute";

TrialList .Current .ComputeDose .#"#3" = "Compute";

TrialList .Current .ComputeDose .#"#4" = "Compute";

TrialList .Current .ComputeDose .#"#5" = "Compute";

TrialList .Current .ComputeDose .#"#6" = "Compute";

TrialList .Current .ComputeDose .#"#7" = "Compute";

第五段:

WindowList .PlanarBeamDose .Create = "Planar Dose...";

TrialList .Current .AddPlanarDoseForAllBeams = "Add Plane Per Beam";

TrialList .Current .PlanarDoseList .Last .MakeCurrent = "Add Plane Per Beam";

第六段:

TrialList .Current .PlanarDoseList .#"#0" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#1" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#2" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#3" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#4" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#5" .SourceToPlaneDistance = " 100";

TrialList .Current .PlanarDoseList .#"#6" .SourceToPlaneDistance = "100";

第七段:

TrialList .Current .PlanarDoseList .#"#0" .SourceToSurfaceDistance = " 98";

TrialList .Current .PlanarDoseList .#"#1" .SourceToSurfaceDistance = "98";

TrialList .Current .PlanarDoseList .#"#2" .SourceToSurfaceDistance = "98";

TrialList .Current .PlanarDoseList .#"#3" .SourceToSurfaceDistance = "98";

TrialList .Current .PlanarDoseList .#"#4" .SourceToSurfaceDistance = " 98";

TrialList .Current .PlanarDoseList .#"#5" .SourceToSurfaceDistance = "98";

TrialList .Current .PlanarDoseList .#"#6" .SourceToSurfaceDistance = "98";

第八段:

WindowList .PlanarBeamDose .StateList .Current = 1;

第九段:

TrialList .Current .PlanarDoseList .#"#0" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#1" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#2" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#3" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#4" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#5" .VoxelSize = "0.3";

TrialList .Current .PlanarDoseList .#"#6" .VoxelSize = "0.3";

第十段:

TrialList .Current .ComputePlanarDose .#"#0" = 0;

TrialList .Current .ComputePlanarDose .#"#1" = 0;

TrialList .Current .ComputePlanarDose .#"#2" = 0;

TrialList .Current .ComputePlanarDose .#"#3" = 0;

TrialList .Current .ComputePlanarDose .#"#4" = 0;

TrialList .Current .ComputePlanarDose .#"#5" = 0;

TrialList .Current .ComputePlanarDose .#"#6" = 0;

第十一段:

TrialList .Current .ReportType = "Summary Report Only";

PrinterControl .ValidateSelectedPrinter = "Print";

WindowList .TrialPrintConfirmation .Unrealize = "Print";

TrialList .Current .Report = "Print";

    2)保存脚本:将上述脚本文件保存在Pinnacle放疗计划系统所运行的Solaris操作系统的/home/p3rtp/User_Scripts/路径下,并将文件命名为“MapCheck_verif_plan.Script.p3rtp”。

第二步, 建立触发器

    1)建立触发器:在Pinnacle 放疗计划系统的HotScripts界面添加新的触发按钮并命名为MapCheck_verif_plan,并将该按钮的后台执行脚本指向保存在/home/p3rtp/User_Scripts/路径下的“MapCheck_verif_plan.Script.p3rtp”脚本文件,从而建立新的脚本运行触发器。

第三步,制定MapCheck验证计划

1)选择待验证的治疗计划:在Pinnacle放疗计划系统选择一例待验证的调强放疗治疗计划plan1;

2)复制待验证的治疗计划:复制上述待验证的治疗计划,并重命名为QA_plan1;

3)发送制定验证计划的命令:进入QA_plan1验证计划,在HotScripts界面触发名为MapCheck_verif_plan的触发器,系统即开始自动对该计划的七个照射野进行处理,待计算完成后,即得到该治疗计划对应的MapCheck验证计划。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号