我正在开发一种基于笔形射束方法的放射疗法逆向规划工具。这些方法中的一个重要步骤(特别是在剂量计算中)是来自许多来源的射线追踪,最常用的算法之一是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总是作为黄金标准出现。
感谢您的任何评论或回复!
美好的一天。
只想对Siddon的方法发表评论,其中只考虑了路径在每个体素内部传播的长度。然而,在使用扇形光束的情况下,光束本身的宽度随着其行进而改变,这意味着相同的路径,根据X射线源的位置,衰减将不同。放大可能是这种现象的正确术语。 – antiquity 2015-11-16 16:59:29