技术文章和通讯

发展中matRad开源剂量计算和优化工具箱放射治疗计划

马克Bangert博士,德国癌症研究中心(DKFZ)教授奥利弗·Jakel德国癌症研究中心(DKFZ)和海德堡大学博士Niklas Wahl德国癌症研究中心(DKFZ)和汉斯博士维塞尔、Ludwig-Maximilian-Universitat慕尼黑(LMU慕尼黑)


放射治疗、手术和化疗是癌症治疗的三大支柱。放射治疗的一个关键要素是一个大量计算机辅助过程称为放射治疗计划。在这个过程中,肿瘤学家和其他临床医生依靠治疗计划软件准确地模拟辐射对病人的影响组织和优化辐射剂量,保证肿瘤覆盖率的同时,仍能保留周围组织和器官。

商业发达放疗治疗计划软件是专有的和闭源,这限制了它的价值,研究人员治疗计划的技术。因此,许多学院和大学投入大量精力在开发和维护自己的软件或使用开源软件包,其中大部分集中在只有一个介入治疗计划或一个辐射形态。

我们的开发团队在德国癌症研究中心(是或DKFZ)创造了matRad1、开源、多峰性放射治疗计划剂量计算和优化工具包(图1)。因为matRad是完全用MATLAB编写的®,研究人员可以很容易地修改代码来评估新算法。MATLAB擅长执行许多稀疏矩阵操作参与治疗计划;因此,matRad产生临床准确的治疗方案商业同行一样迅速和容易。

图1所示。的matRad 2.10.0接口,与工作流程,计划,优化和可视化控制。界面显示前列腺治疗计划使用两种对立的角度和扫描质子束疗法

图1所示。的matRad 2.10.0接口,与工作流程,计划,优化和可视化控制。界面显示前列腺治疗计划使用两种对立的角度和扫描质子束疗法

在治疗计划中使用matRad工作流

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

研究员首次进口计算机断层摄影(CT)扫描数据从一个自己的病人或者病人从一个匿名的情况下由matRad提供。从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。一段matRad脚本制定治疗计划参数用于显示在图1。

图2。一段的matRad脚本制定治疗计划参数用于计划显示在图1。

matRad生成梁几何基于指定的参数。研究者然后调用函数matRad剂量计算,计算一个矩阵的剂量交付给个别地区目标肿瘤周围正常组织的每个辐射源元素(图3)。

图3。示意图的质子治疗计划剂量计算的设置。从一个虚拟的辐射源(黄色)内的肿瘤或目标卷(红色)患者(绿色)是由单个质子束流形成自己的所谓Bragg-peak在定义的范围(固体黑色线条和点)。matRad剂量计算函数执行一个体积raycast通过病人(实线和虚线)来捕获解剖异构性问题,然后计算每个射线剂量贡献在病人。

图3。一个质子治疗计划设置的示意图剂量计算。从一个虚拟的辐射源(黄色)内的肿瘤或目标卷(红色)患者(绿色)是由单个质子束流形成自己的所谓Bragg-peak在定义的范围(固体黑色线条和点)。matRad剂量计算函数执行一个体积raycast通过病人(实线和虚线)来捕获解剖异构性问题,然后计算每个射线剂量贡献在病人。

最后,研究者定义临床治疗目标和约束。这些可能包括规定的最小剂量交付给肿瘤和允许的最大剂量到达附近的器官。之后将这些临床目标和约束转化为数学的目标和约束,matRad运行优化解算器找到最好的剂量分布。优化,matRad可以设置使用fmincon从优化工具箱™或IPOPT,开源软件优化图书馆用c++写的,导入MATLAB为墨西哥人文件。优化的结果可以在matRad审查各种情节和可视化的(图4)。

图4。在matRad可视化生成。左:CT和计划剂量质子在冠状平面的头颈癌的情况。中心:3 d呈现相同的可视化。右:样品剂量直方图和统计数据表。

图4。在matRad可视化生成。左:CT和计划剂量质子在冠状平面的头颈癌的情况。中心:3 d呈现相同的可视化。右:样品剂量直方图和统计数据表。

研究人员可以补充或修改算法用于matRad探索想法改善治疗计划。这样,matRad充当平台原型和评估新方法。事实上,matRad已经引用了40多个同行评议的研究论文发表在过去的三年里,积极使用全球众多研究小组

matRad在教室里

matRad不仅是用于研究;它也用作教学工具。在海德堡大学的课程,例如,学生使用matRad了解粒子治疗治疗计划,一个相对较新的方法。matRad扮演着一个很重要的角色,让学生探索不同的医疗决定,病人的场景,和机器能力影响治疗计划。我们包装一个独立版本的matRad MATLAB编译器™供学生没有使用MATLAB安装。

对于高中学生来说,国际粒子物理研究小组提供了一系列国际大师学习班。在一个新的粒子治疗来说2019年,我们开始与欧洲核子研究中心和合作助教达姆施塔特,学生了解癌症治疗使用放疗和观看演示使用独立版本的matRad治疗计划。

为什么MATLAB ?

几个因素导致我们的团队在MATLAB开发matRad。首先,MATLAB是广泛应用于医学物理学社区和研究型大学。此外,MATLAB使我们快速原型的新算法。其可视化功能的支持快速调试和提供观点的结果打开额外可以探索的途金宝app径。MATLAB是适合matRad执行与稀疏矩阵的计算。MATLAB的高度优化的线性代数操作使我们完成剂量计算和优化现实的病人情况下运行时可比商业治疗计划系统。最后,在MATLAB开发matRad使我们能够让软件高度通用的:用户可以通过一个接口与软件交互或通过MATLAB命令行,开发自己的函数,并使用matRad研究和教学。

matRad持续发展

matRad仍在积极开发,我们定期接受拉请求从研究者改进代码的某些方面。例如,我们最近曾与埃德加多·杜诺博士德智利天主教大学合并成matRad蒙特卡罗光子剂量计算引擎。发动机是用C编写的,导入matRad为墨西哥人文件。

另外,我们已经开始利用MATLAB面向对象编程特性。例如,matRad现在使用一种面向对象的框架设置优化目标。研究人员感兴趣的探索新的优化目标可以推出自己的类从我们现有的类,实现的改进,然后立即尝试新的目标测试治疗计划。

我们现在使用并行计算工具箱™执行matRad在多个计算核心。例如,在不确定性分析计算多个剂量不同病人的位置。并行计算工具使我们能够迅速建立和运行这个尴尬的并行任务在多核工作站上。我们也开始跑步matRad在OpenStack利用大的高性能云计算资源池。

matRad设计作为研究工具,因此不能用于治疗真正的病人。剂量计算产生,然而,密切与临床批准生产的治疗计划系统。这种级别的性能打开机会使用matRad作为一个独立的工具验证治疗计划所产生的其他软件。

1当前版本是matRad 2.10.0布莱斯

关于作者

马克博士Bangert发起matRad项目期间博士后,在DKFZ组长。HMS他现在做软件工程师分析软件,海德堡公司数据分析,同时还持有一个兼职职位的德国癌症研究中心的医学物理学在海德堡(DKFZ)。

奥利弗Jakel教授是一个完整的医学物理学教授海德堡大学医学院,医学物理学的主任海德堡离子束治疗设备(打击)。他还领导着美国医学物理学在DKFZ放射肿瘤学。

Niklas Wahl博士目前主要matRad发展博士后研究员和放疗优化集团的领导人在美国医学物理学在DKFZ放射肿瘤学。

汉斯维塞尔博士是医学物理学系的一位博士后研究员Ludwig-Maximilian-University慕尼黑。以前,他博士学位的医学物理学在DKFZ放射肿瘤学,matRad做出了重大贡献。

2020年出版的

为相关行业观点文章