2014-11-03 605 views
3

我正在开发一种基于笔形射束方法的放射疗法逆向规划工具。这些方法中的一个重要步骤(特别是在剂量计算中)是来自许多来源的射线追踪,最常用的算法之一是Siddon的算法(这里有一个很好的简短描述http://on-demand.gputechconf.com/gtc/2014/poster/pdf/P4218_CT_reconstruction_iterative_algebraic.pdf)。现在,我将尝试简化我的问题:射线追踪:Bresenham's vs Siddon算法

输入数据是CT图像(具有值的3D矩阵)和图像周围的一些源位置。你可以想象一个立方体和许多点,都在相同的距离,但不同的方向角,辐射射线来自哪里。每条射线都将通过该体积,并根据距源头的距离为每个体素分配一个值。 Siddon算法的优点是在光线跟踪的迭代过程中按时计算长度。但是,我知道Bresenham的算法是评估矩阵中从一个点到另一个点的路径的有效方法。因此,即使在Bresenham的迭代过程中,从源到特定体素的长度也可以很容易地计算为欧氏距离两点。

那么,如果知道这两种方法已经很老了并且效率很高,那么使用Siddon而不是Bresenham会有一个明确的优势吗?也许我在这里错过了一个重要的细节,但对我来说很奇怪,在这些剂量计算程序中,Bresenham并不是一个真正的选择,并且Siddon总是作为黄金标准出现。

感谢您的任何评论或回复!

美好的一天。

+0

只想对Siddon的方法发表评论,其中只考虑了路径在每个体素内部传播的长度。然而,在使用扇形光束的情况下,光束本身的宽度随着其行进而改变,这意味着相同的路径,根据X射线源的位置,衰减将不同。放大可能是这种现象的正确术语。 – antiquity 2015-11-16 16:59:29

回答

1

在我看来,在大多数涉及医疗射线追踪的应用中,您不仅需要从源的距离,而且还需要该路径与每个单个体素在路上的交叉长度。现在,布雷森汉姆给你的路径上的体素,但不是交叉点的长度,而西顿。