Technical Articles and Newsletters

Developing matRad, an Open-Source Dose Calculation and Optimization Toolkit for Radiation Therapy Planning

德国癌症研究中心(DKFZ),德国癌症研究中心(DKFZ大学)和Heidelber博士,德国癌症研究中心(DKFZ),德国癌症研究中心(DKFZ)和Hans-Peter博士,德国癌症研究中心(DKFZ)和Heidelberg大学。Wieser,Ludwig-Maximilian-UniversitätMünchen(LMU Munich)


放射疗法,手术和化疗构成了癌症治疗的三大支柱。放射治疗的一个关键要素是一种称为辐射治疗规划的大量计算机辅助过程。在这个过程中,肿瘤学家和其他临床医生依赖于治疗计划软件,准确地模拟辐射对患者组织的影响,并优化辐射剂量,以确保肿瘤覆盖,同时保留周围组织和器官的同时保留肿瘤覆盖。

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.

图1. Matrad 2.10.0接口,具有工作流程,计划,优化和可视化控件。该界面显示了使用两个相对的光束角和扫描质子的前列腺处理计划

图1. Matrad 2.10.0接口,具有工作流程,计划,优化和可视化控件。该界面显示了使用两个相对的光束角和扫描质子的前列腺处理计划

Using matRad in a Treatment Planning Workflow

Matrad包包括跨越整个治疗计划工作流程的MATLAB脚本,函数和类,从设置处理参数并优化可视化和评估结果的计划。研究人员在Matrad接口或MATLAB命令行中启动此工作流程中的每个步骤。

研究人员首先从其自己的患者中的一个或来自Matrad提供的一个匿名患者病例的计算机断层扫描(CT)扫描数据。该软件读取来自MATLAB文件的数据或使用来自图像处理工具箱™的功能的MATLAB文件或中医学(DICOM)和DICOM-RT标准格式的文件。

接下来,研究人员规定了用于使用的处理计划和放射疗法的参数。这些参数可以包括龙门架的角度(用于定位患者周围的辐射源)和待应用的治疗方式:强度调制的光子,扫描质子或扫描碳离子。可以通过接口或通过编辑Matrad脚本来设置参数(图2)。

matRad script for setting the treatment plan parameters used for the plan displayed in Figure 1.

" data-toggle="lightbox" class="add_margin_0 ">图2.用于设置用于设置图1中显示的计划的处理计划参数的Matrad脚本的段。

Figure 2. A segment of the马格拉德script for setting the treatment plan parameters用于该计划中显示的计划。

Matrad基于指定的参数生成光束几何。然后,研究人员调用用于Matrad剂量计算的功能,其计算递送到靶肿瘤的各个区域的剂量的矩阵,并围绕每个辐射源元件的正常组织(图3)。

Figure 3. Schematic of a proton treatment plan set-up for dose calculation. From a virtual radiation source (yellow) the tumor or target volume (red) within the patient (green) is covered by individual proton beams forming their so-called Bragg-peak at a defined range (solid black lines and dots). The matRad dose calculation function performs a volumetric raycast through the patient (solid and dashed lines) to capture anatomical heterogeneities and then computes the dose contribution in the patient for each ray.

Figure 3. Schematic of a proton treatment plan set-up for剂量计算。从虚拟辐射源(黄色)从患者(绿色)内的肿瘤或靶体积(红色)被形成在限定范围(固体黑线和点)处的所谓的布拉格峰值的单独质子束覆盖。Matrad剂量计算函数通过患者(固体和虚线)执行体积射线传播,以捕获解剖学异质性,然后计算患者的剂量贡献。

最后,研究人员定义了治疗的临床目的和约束。这些可能包括将规定的最小剂量递送到肿瘤,并且最大剂量允许到达附近器官。在将这些临床目标和限制转化为数学目标和约束之后,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).

图4.以matrad生成的可视化。左:CT和有计划质子剂量在头颈癌癌的冠状平面中。中心:3D渲染相同的可视化。右:样品剂量直方图和统计表。

图4.以matrad生成的可视化。左:CT和有计划质子剂量在头颈癌癌的冠状平面中。中心:3D渲染相同的可视化。右:样品剂量直方图和统计表。

研究人员可以补充或修改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

关于作者

Mark Ba​​ngert博士在他的时间内作为DKFZ的Postdoc和集团领导者启动了Matrad项目。他现在正在作为HMS分析软件,海德堡数据分析公司的软件工程师,同时仍在海德堡德国癌症研究中心(DKFZ)的医学物理系中持有兼职职位。

OliverJäkel教授是Heidelberg大学医学院的医疗物理学教授,以及海德堡离子束治疗设施(命中)的医学物理总监。他还在DKFZ的放射肿瘤学中负责医疗物理系。

Dr. Niklas Wahl is currently leading the matRad development as postdoctoral researcher and leader of the Radiotherapy Optimization group in the Department of Medical Physics in Radiation Oncology at DKFZ.

Dr. Hans-Peter Wieser is a postdoctoral researcher in the Department of Medical Physics at Ludwig-Maximilian-University München. Previously, he did his Ph.D. in the Department of Medical Physics in Radiation Oncology at DKFZ, where he made major contributions to matRad.

Published 2020

View Articles for Related Capabilities

查看相关行业的文章