放射疗法,手术和化疗构成了癌症治疗的三大支柱。放射治疗的一个关键要素是一种称为辐射治疗规划的大量计算机辅助过程。在这个过程中,肿瘤学家和其他临床医生依赖于治疗计划软件,准确地模拟辐射对患者组织的影响,并优化辐射剂量,以确保肿瘤覆盖,同时保留周围组织和器官的同时保留肿瘤覆盖。
Commercially developed radiotherapy treatment planning software is proprietary and closed-source, which limits its value to researchers working to advance treatment planning technology. As a result, many institutes and universities either invest significant effort in developing and maintaining their own software or use open-source packages, most of which focus on only a single step in treatment planning or a single radiation modality.
我们在德国癌症研究中心(Deutsches Krebsforschungszentrum或DKFZ)的开发团队创造了马泰德1,用于辐射处理计划的开源,多模剂量计算和优化工具包(图1)。因为matrad完全写在Matlab中®evalua,研究人员可以很容易地修改代码te new algorithms. MATLAB excels at performing the many sparse matrix operations involved in treatment planning; as a result, matRad produces clinically accurate treatment plans as quickly and easily as its commercial counterparts.
Using matRad in a Treatment Planning Workflow
Matrad包包括跨越整个治疗计划工作流程的MATLAB脚本,函数和类,从设置处理参数并优化可视化和评估结果的计划。研究人员在Matrad接口或MATLAB命令行中启动此工作流程中的每个步骤。
研究人员首先从其自己的患者中的一个或来自Matrad提供的一个匿名患者病例的计算机断层扫描(CT)扫描数据。该软件读取来自MATLAB文件的数据或使用来自图像处理工具箱™的功能的MATLAB文件或中医学(DICOM)和DICOM-RT标准格式的文件。
接下来,研究人员规定了用于使用的处理计划和放射疗法的参数。这些参数可以包括龙门架的角度(用于定位患者周围的辐射源)和待应用的治疗方式:强度调制的光子,扫描质子或扫描碳离子。可以通过接口或通过编辑Matrad脚本来设置参数(图2)。
Matrad基于指定的参数生成光束几何。然后,研究人员调用用于Matrad剂量计算的功能,其计算递送到靶肿瘤的各个区域的剂量的矩阵,并围绕每个辐射源元件的正常组织(图3)。
最后,研究人员定义了治疗的临床目的和约束。这些可能包括将规定的最小剂量递送到肿瘤,并且最大剂量允许到达附近器官。在将这些临床目标和限制转化为数学目标和约束之后,Matrad运行优化求解器以找到最佳剂量分布。为了优化,可以设置matrad来使用粉刺
from Optimization Toolbox™ or IPOPT, an open-source optimization software library written in C++ and imported into MATLAB as a MEX file. The results of the optimization can be reviewed in matRad in a variety of plots and visualizations (Figure 4).
研究人员可以补充或修改Matrad中使用的算法,以探索改善治疗计划的想法。以这种方式,Matrad充当原型化和评估新方法的平台。事实上,在过去三年中,Matrad已被引用在40多个公布的同行评审研究论文中,并积极使用它全球众多研究群体。
在教室里的matrad
Matrad不仅用于研究;它也被用作教学工具。例如,在海德堡大学的课程中,学生使用Matrad来了解粒子治疗的治疗计划,是一种相对较新的方式。Matrad在让学生探索如何探索不同的医学决策,患者场景和机器能力影响治疗计划方面发挥着重要作用。我们打包了Matlab Compiler™的独立版本,以供未安装MATLAB的学生使用。
对于高中生,国际粒子物理研究组提供了一系列国际大师。在一个新的粒子疗法大师,我们在2019年开始与CERN和GSI DAMSTADT合作,学生使用放射疗法学习癌症治疗,观看使用Matrad的独立版本的治疗计划的演示。
Why MATLAB?
几个因素导致我们的团队在Matlab中开发Matrad。首先,Matlab广泛用于医疗物理界和研究型大学。此外,MATLAB使我们能够快速原型新算法。它的可视化功能支持快速调试,并提供开放额外途径的结果的观点。金宝appMATLAB非常适合于Matrad以稀疏矩阵执行的计算。MATLAB中的高度优化的线性代数运营使我们能够为现实患者案例完成剂量计算和优化,其运行时间与商业处理计划系统相当。最后,在MATLAB中开发MATRAD使我们能够使软件高度多功能:用户可以通过接口或通过MATLAB命令行与软件进行交互,开发自己的功能,并在研究和教学中使用MATRAD。
正在进行的Matrad开发
马格拉德remains under active development, and we regularly accept pull requests from researchers who have made improvements to some aspect of the code. For example, we recently worked with Dr. Edgardo Dörner at Pontificia Universidad Católica de Chile to incorporate a Monte Carlo photon dose calculation engine into matRad. The engine was written in C and imported into matRad as a MEX file.
In addition, we have started taking advantage of MATLAB object-oriented programming features. For example, matRad now uses an object-oriented framework for setting optimization objectives. Researchers who are interested in exploring new optimization objectives can derive their own class from our existing class, implement improvements, and then immediately try the new objective in a test treatment plan.
我们现在正在使用并行计算工具箱™在多个计算核上执行Matrad。例如,在不确定性分析中,我们计算来自不同患者位置的多个剂量。并行计算工具箱使我们能够在多核工作站上快速设置并运行此令人尴尬的并行任务。我们还开始在OpenStack上运行Matrad,以利用云中的大型高性能计算资源池。
Matrad被设计为研究工具,因此不能用于治疗真正的患者。然而,它产生的剂量计算与临床批准的治疗计划系统产生的那些。这种性能级别开启了使用Matrad作为用于验证其他软件生成的治疗计划的独立工具的机会。
1目前的释放是Matrad'Blaise'2.10.0。