FLUKA高级应用——病人QA中的MC剂量验证计算
蒙特卡洛被认为是剂量计算的金标准,但是用户界面友好的通用MC软件却不多,比较经典的是基于Geant 4的TOPAS和Gate。本文将介绍近几年才发展起来的Flair,它是基于蒙特卡洛程序FLUKA的多模块用户界面,其中的放射模块主要用于质子重离子的剂量验证计算,如下图所示。
本文将概述这部分功能的原理、性能,用示例展示其剂量计算的易用性、可靠性和稳定性。由于FLUKA本身可以应用于各种研究工作,加上Flair拓展,用户可以更加灵活的将其用于临床科研中。Flair的开发者致力于简化流程,将蒙特卡洛的知识和技术封装于软件背后,增强用户体验,让用户能够更好地集中精力于临床的质量控制或者科研工作中。
精准放疗是质子重离子治疗的发展方向,需要多方面技术支撑。临床中最重要的就是剂量的准确性,这需要非常好的束流传输系统,更需要精确的剂量计算。目前大多数医院都采用放疗专用的计划系统进行计算,这些商业的计划系统中质子剂量算法多数是基于半解析的数学算法。
于是很多研究人员考虑用蒙特卡洛方法来进行剂量计算,这里有两个突出的难题,一个是计算速度无法跟半解析方法相提并论,另外一个就是很多通用的MC程序不能有效地支持DICOM协议,很难用于临床实践。于是,很多商用TPS也逐渐加入MC模块,逐步解决了计算速度、扫描模式等问题。但它们做了大量模型简化,无法支持所有类型的粒子,其相互作用模型也受到限制。
FLUKA的开发者从2005年开始就尝试将这款MC程序应用于临床医学,Flair的开发者在2015年开始尝试解决DICOM的协议嵌入,调用大量的Pydicom,在2018年推出了一个比较完整的版本,并在持续改进。随着CERN推出的新版本FLUKA/Flair,这款工具在束流建模、病人QA、灵活的生物剂量模型计算等方面将具有更大的潜力。
FLUKA本身是一款通用的MC程序,为用于临床医学,开发者首先实验验证了深度剂量曲线和横向截面的准确性,也跟其他MC程序做了相互验证。Flair作为FLUKA的用户界面,集成了很多开发环境,比如FLUKA输入文件的编辑、几何结构的设计、自定义文件的编译、运算及数据处理、画图等等。这款软件基于Python,进一步完成了放疗模块DICOM。
FLUKA的物理模型能够处理连续能量损失、射程歧离、电子产额、低能中子输运、多重库伦散射等复杂问题,核反应模型和截面主要采用了美国核数据中心NNDC的权威数据,能够准确处理各种粒子的相互作用。对于相对论性的高能粒子,也有对应的模型RQMD-2.4来处理。这些都是半解析算法所不具备的。
和商用的TPS一样,Flair中的放射模块用DICOM协议来交换医学影像数据。具体的有以下功能:
把DICOM CT文件转化成病人体素的几何结构,同时解析DICOM结构中的ROI;
读取并导入DICOM RTPLAN文件中的束流信息;
转化DICOM RTDOSE中的商用TPS计算得到的剂量分布格式为体素分布,方便跟FLUKA的输出结果对比;
FLUKA的输出结果也可以逆向转化为DICOM RTDOSE的格式;
可以同时处理多个照射野,也可以先单个照射野计算,然后按权重合成;
灵活的物理剂量生物剂量计算。
处理的流程图如下:
在病人CT影像转化为体素的过程中需要将组织材料密度(HU)和元素构成进行定义,不同的医院不同的设备对应的CT值可能都不一样,这个地方用户需要小心处理,Flair的官网给出了一个示例文件,可以它为模板,对应医院和病人自身情况修改调整。
Flair放射模块也采用LEM模型来计算生物学剂量,但与商用TPS不同的是,FLUKA可以用外部文件对和参数根据情况进行调整,比如一个混合和辐射场,根据剂量权重给定不同的和参数。
放射模块的功能在两个医院进行了验证,一个是基于同步加速器的CNAO(Centro Nazionale di Adroterapia Oncologica),可以出质子和重离子,另一个是基于回旋加速器的Trento质子中心,这两个机构位于意大利。CNAO的商用TPS是Syngo,Trento是RayStation,都具备铅笔束扫描算法PBS。
首先要从商用TPS的DICOM数据RTPLAN中导出PBS的相关数据,包括粒子种类、位置、入射角度、流强、束斑大小。进一步,束流模型还用到调试中的测试数据,扫描头模型也需要写进FLUKA的输入文件中。在本文的测试中,首先选用了两例脊索瘤病例进行质子治疗计划的验证,每个计划都有三个照射野;然后选用了一个头颈部的病例,这个病例中用到了4 cm的射程移位器(Rangeshifter),射程移位器的几何模型也输入到Flair的几何模型中;最后选用了脊索瘤病例做重离子验证,用到两个照射野。
对水和媒介中的剂量分布进行了计算,对于质子治疗计划,MC验证只用了TPS计划的1%的质子数,而重离子治疗计划需要10%,以得到小于1%的误差。所有的MC验证计算的剂量分布最后都用剂量直方图(DVH图)做了分析。上述剂量计算过程中RBE取固定值1.1。
下图是相应的DVH图。
下图是头颈部案例在不同方向上的剂量分布对比。每一行最后一列的图是TPS剂量和FLUKA剂量的差异。
下图是相应的DVH图。
对应的DVH参数如下表,由于TPS高估了空腔中的剂量约16%,从而低估了粒子射程。TPS在PTV1和PTV2的都是高估了剂量。同样OAR的差异最高也达到了22%。
对于生物剂量计算,选用了一个碳离子做的脊索瘤。剂量模型采用LEM I,各参数如下表。
右图是FLUKA计算的物理剂量分布,左图是根据LEM I模型计算的生物剂量。
相对应地,也对比了与TPS的生物剂量和物理剂量DVH,如下图所示。
LET作为一个简单的指标,可以用于未来治疗计划的优化或者其他放射生物的研究。LET的计算考虑了每一个束斑的初始和二次粒子,计算公式如下:
其中
是能量为
位于深度
的束斑
的阻止本领,
是能量为
位于深度
的束斑
的局域粒子分布。左图是剂量平均的LET分布,右图是对应LVH。可见95%的PTV的LET是小于55 keV/um的。
以上讨论了FLUKA/Flair应用于粒子治疗临床的实例,展示了其在病人QA以及临床研究等方面的潜力。目前阶段病人QA的程序通常是通过实验完成,这种方式需要占用束流时间和人力资源,因此,独立的剂量验证计算是病人QA的高效替代方案。
由于FLUKA支持全粒子类型,像氦离子、氧离子等新兴的粒子种类治疗方法可以预先采用MC进行研究计算。特别是氦离子,近几年的研究显示,由于物理和生物方面的特性,它是最可能替代质子的粒子。
但FLUKA/Flair毕竟不是商用的TPS软件,虽然用户界面已经相对友好,但仍然需要用户做很多手动操作和编写自定义程序,各个模块也不是很完善。我们相信随着开发者对Flair的持续改进,将进一步增强FLUKA在粒子放疗领域中的应用,更好地造福患者。