【问题标题】:Ray tracing: Bresenham's vs Siddon's algorithm光线追踪:Bresenham 与 Siddon 算法
【发布时间】:2014-12-30 01:09:24
【问题描述】:

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

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

那么,既然知道这两种方法都已经很老了,而且很有效,那么使用 Siddon 代替 Bresenham 有明确的优势吗?也许我在这里遗漏了一个重要的细节,但对我来说很奇怪的是,在这些剂量计算程序中,布雷森汉姆并不是一个真正的选择,而西登总是作为黄金标准出现。

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

美好的一天。

【问题讨论】:

  • 只是想评论一下 Siddon 的方法,它只考虑路径在每个体素内行进的长度。但是,在使用扇形光束的情况下,光束本身的宽度会随着它的传播而变化,这意味着相同的路径,衰减会根据 X 射线源所在的位置而有所不同。放大倍数可能是这种现象的正确术语。

标签: raytracing raycasting voxel rasterizing bresenham


【解决方案1】:

在我看来,在涉及医疗射线追踪的大多数应用程序中,您不仅需要从源特定体素的距离,还需要该路径与每个体素的交叉长度它的方式。现在,Bresenham 为您提供了该路径上的体素,但不提供交叉点长度,而 Siddon 提供。

【讨论】:

    猜你喜欢
    • 2012-05-23
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多