APP下载

Pinnacle计划系统脚本在医用直线加速器碰撞防护中的应用

2020-07-10苗俊杰符贵山牛传猛刘志强田源张可李明辉戴建荣

中国医学物理学杂志 2020年6期
关键词:机头脚本加速器

苗俊杰,符贵山,牛传猛,刘志强,田源,张可,李明辉,戴建荣

国家癌症中心/国家肿瘤临床医学研究中心/中国医学科学院北京协和医学院肿瘤医院,北京100021

前言

C 型臂类型的医用直线加速器治疗病人时,机头在旋转过程中存在与治疗床、病人碰撞的风险。随着放疗新技术容积旋转调强、图像引导及立体定向放射治疗的开展,加速器治疗系统及附属结构越来越复杂[1-2],这在一定程度上增大了碰撞风险[3]。此外,对于偏中心照射、特殊固定体位以及使用特殊体位固定装置等情况,机架旋转时碰撞风险增大,结果会导致计划不能执行,延误病人治疗,甚至产生严重的碰撞事故,造成病人受伤和机器损坏[4-6]。虽然有些加速器治疗机在实际治疗时有防碰撞连锁,但当触发碰撞连锁时往往计划已经照射了一定的剂量,而此时病人已经躺在治疗床上,重新更改计划又需要较长的时间,这在一定程度上增加了医患矛盾。另外,二次计划设计时要考虑已经执行部分的剂量,增大了计划设计的难度。因此,在较早期的治疗计划设计阶段及时检测治疗计划是否存在潜在的碰撞风险是十分必要的。

针对加速器治疗过程中可能发生的碰撞,有研究通过构建复杂模型等方法判断是否有碰撞风险[7-13]。但这些方法大都需要导出整个计划到另外的系统,过程复杂费时,并且对一些使用特殊体位和摆位装置的病人缺乏个体针对性[14-15]。目前很多主流的计划系统都缺少碰撞警告的内置模块,主要依靠放疗计划设计者的个人经验进行粗略估计。由于计划治疗中心、体位固定装置、治疗床位置等参数对于不同的病人差别很大,依靠经验估算结果往往并不可靠。基于此,本研究拟设计并实现一种可以在计划设计过程中随时可调用的脚本程序,当在计划系统中调用此脚本时,会在CT 图像上自动生成机头转动过程的临界安全位置轨迹感兴趣区(ROI),使计划设计者在计划设计时就能直观判断当前计划是否存在碰撞风险。

1 材料与方法

1.1 基本设备和系统

本研究采用的计划系统为Pinnacle3V9.10(Philips Medical System,USA)。该系统在国内放疗界应用十分广泛,提供了丰富的脚本(Script)功能,可以在计划系统内实现批量、规范、快速的数据处理,提高工作效率和工作规范性。同时该Script 还可以直接调用python、C 等高级语言程序及操作系统(Solaris)命令,实现复杂的数据分析和处理功能。

1.2 防碰撞模型构建

加速器安装后,机头旋转1周所经过的空间轨迹是确定的,不随病人的摆位而变化。加速器机头旋转一周,机头上的点会形成一个圆形轨迹,如图1所示。取加速器机头上的点到治疗中心最近距离为r(为保证安全,r取值通常比最小值小1 cm),治疗机头在进出床方向的长度为L。为保证治疗安全,在治疗床进出方向取相同的安全距离r,则安全边界形成的轨迹为圆筒面。

图1 加速器机头防碰撞示意图Fig.1 Schematic diagram of collision-free space of an accelerator gantry

1.3 加速器参数设置

加速器选择Varian Edge、Novalis、Unique 和Elekta Versa HD、Synergy(Agility 机头),经测量并考虑安全冗余距离,选择r=37 cm、L=72 cm(Varian);r=42 cm、L=76 cm(Elekta),加速器治疗床面与CT定位室的床面宽度相同,都为54 cm。

1.4 脚本程序设计

(1)建立move_path.Script脚本,该脚本首先保存当前计划设置,将计划设计参数写入病人对应的计划目录文件里。然后获取当前计划射野的治疗中心位置、床面位置、加速器型号、病案号、计划文件位置等信息。通过调用python 程序,将获取的这些计划信息以参数的形式传递给python,以保证不同计划、不同病人的独特性。对应部分代码如下:

(2)建立move_path.py 程序,在该python 程序中首先接收并解析move_path.Script脚本传递过来的计划参数信息并将其转化为python 内的变量。通过判断加速器的类型确定设置参数r和L值。通过读取病人文件目录下计划对应的主图像文件ImageSet_x.header(通常为ImageSet_0.header),确定该病人计划的图像坐标信息,如3 个方向的维度信息x_dim、y_dim、z_dim,两个像素点间的距离信息x_pixdim、y_pixdim、z_pixdim,起始位置坐标信息x_start、y_start、z_start 等。再结合床位置等参数确定式(1)及图2中各参数的值。最后结合治疗中心的位置及对应的轨迹方程生成mrn.roi 文件。mrn 为病人的病案号,mrn.roi 文件的格式与计划文件夹下plan.roi 的格式相同,主要由文件头信息和ROI的三维坐标点集构成。

(3)在move_path.Script 脚本中读取经过python数据处理后生成的mrn.roi 文件,将mrn.roi 文件的ROI坐标信息导入到计划系统,生成加速器机头旋转过程中的最小安全轨迹ROI,脚本关键语句如下:

1.5 计划系统中检测是否存在碰撞

mrn.roi 文件信息读入系统后,其作为中间过程文件将被脚本删除。在Pinnacle 计划系统中,根据新生成ROI 与CT 影像中治疗床、病人的相对位置关系判断放疗计划是否存在碰撞风险。

2 结果

在Pinnacle计划系统中生成辅助的ROI如图2所示。在CT 影像横断面上,辅助ROI 为以射野治疗中心为中心的圆。在Pinnacle 计划系统的REV 视图中可见辅助ROI 整体为圆筒面结构,在不同的CT 层面上辅助ROI是半径和中心相同的圆形结构。

图2 在Pinnacle计划系统中产生的安全区域ROI图Fig.2 ROI images of the safe region generated in Pinnacle planning system

图3给出了几种可能发生碰撞的常见情况,当病人使用俯卧板进行定位治疗时,由于俯卧板的厚度比仰卧板的大,治疗中心设置偏上时,会发生碰撞。图3c 为肝癌计划,由于靶区偏向病人的右侧,当治疗中心选择过于靠右时,会导致机架与治疗床发生碰撞。图3d 为一个大腿部位的放射治疗计划,加速器治疗时机架会与病人的健测腿发生碰撞。

图3 放疗计划碰撞检查示例Fig.3 Examples of collision detection for radiotherapy plans

计划设计时,只需一次鼠标点击调用脚本,即可快速(约2 s)生成辅助ROI。在ROI 与CT 的叠加图像上可以逐层清楚直观地判断加速器机头与治疗床、病人身体是否存在碰撞风险,避免等到计划实际执行时才发现问题甚至发生碰撞事故。该脚本在本科室应用已有一年多时间,对数百例病人进行了碰撞风险检查,经过该脚本程序检查后的放疗计划基本杜绝了碰撞风险的发生。

3 讨论及结论

Philips 公司的Pinnacle 计划系统提供了“HotScripts”模块,允许用户编写脚本、调用python/C高级语言程序及Solaris 操作系统命令。在一定程度上,用户可根据自己的需求制定脚本,完成特定的批处理操作,既可以显著提升治疗计划设计的工作效率,也能很大程度保证计划设计的安全性[16-20]。本脚本程序通过调用外部python 程序,针对不同病人CT图像和治疗中心位置动态生成有针对性的辅助ROI轮廓文件,为了避免多个计划同时调用脚本程序时相互影响,新生成的轮廓文件命名为mrn.roi(mrn 为病人的病案号)。

本脚本程序在Pinnacle V9.10 计划系统内实现,但是其设计理念和方法在支持脚本功能的其它计划系统同样适用。为增加脚本的通用性,可以将python生成的ROI 写成标准DICOM 格式的文件,再通过计划系统的“Dicom Import”功能导入到系统中。经过实际测试,写成DICOM 格式整个调用时间会比本文采用的方法长约5 s 的时间(主要原因为系统的导入模块加载时扫描DICOM 文件目录所需时间的增加),需要增加一定等待时间。另外,使用标准DICOM 格式导入时要注意病人采用的体位,在外部程序处理时要根据所选系统和病人固定体位提前做好坐标系变换。在Pinnacle V9.10中坐标变换为:

其中,XP、YP、ZP为Pinnacle 计划系统中的坐标,单位cm;XD、YD、ZD为DICOM 坐标系中的对应坐标,单位mm;Xsign、Ysign、Zsign为符号参数,取决于病人的摆位方向(例如病人体位是头先进仰卧时,Xsign=1、Ysign=-1、Zsign=-1)。使用DICOM 格式的ROI 文件并结合系统自带的导入模块可以使本方法在多种计划系统中适用。

本脚本程序不但可以用于检查加速器机头与治疗床、体位固定装置是否会发生碰撞,还可以用于特殊体位(如四肢、腹股沟等部位肿瘤)照射时,检查加速器机头与病人身体其它部位是否有碰撞风险,保证治疗安全。通常为保证剂量计算的准确和重复一致性,病人进行CT 定位和加速器治疗时,采用的定位装置和病人体位应该是一致的。如果特殊情况下,治疗体位、固定装置与定位时不一致,则本脚本程序不适用,实际治疗时仍然有碰撞风险,需要计划设计实施人员小心判断。

在实际使用过程中,如果靶区、治疗中心偏向病人的一侧身体(如乳腺癌计划),本脚本程序可能会判断出治疗机头与病人身体健侧方向的床板会发生碰撞,但根据就近布野原则,如果治疗野实际执行时不需要机架转过该碰撞角度,则不会发生碰撞,原计划仍然可以正常执行。对于这种情况,建议计划设计者在计划报告单上注明标记,提醒技师治疗时仍然要小心,扫描CBCT时应该采用先挪床再回位或非全弧的策略,治疗时注意加速器机头的起始位置,避免碰撞发生。

本研究建模时使用中国医学科学院肿瘤医院加速器的几何结构,由于不同公司、不同型号、不同附属结构的加速器结构尺寸有一定的差别,使用时应根据自己单位加速器的实际情况确定r和L等参数。本研究只考虑了共面治疗的情况,非共面治疗时治疗床要旋转一定的角度,计划参数设置更复杂,加速器机头与治疗床及病人的碰撞风险加大。另外,针对不同治疗床角度,加速器机头可使用的旋转角度也受到严格限制,值得进一步的研究讨论。

综上所述,在Pinnacle 计划系统上实现加速器机头的碰撞检测具有临床可行性,在计划设计阶段可及时判断放疗计划是否存在碰撞风险,避免重复计划延误治疗时间,保证治疗安全。

猜你喜欢

机头脚本加速器
烧结工序机头电除尘效率提升改造技术研究
酒驾
莫比斯加速器众创办公空间
知识快餐店 科学加速器
放疗中小机头角度对MLC及多靶区患者正常组织剂量的影响
全民小康路上的“加速器”
安奇奇与小cool 龙(第二回)
自动推送与网站匹配的脚本
747-400F货舱机头门系统原理及故障分析
C919机头成都下线