光电工程师社区

标题: 哪位高手知道Goldstein分支阻断算法是怎么回事? [打印本页]

作者: victory_shy    时间: 2009-9-30 23:50
标题: 哪位高手知道Goldstein分支阻断算法是怎么回事?
哪位高手知道Goldstein分支阻断算法是怎么回事?我有点看不明白。


3.1.1 Goldstein分支阻断算法
Goldstein分支阻断算法是经典的路径积分相位展开方法,它是由Goldstein、Zebker和Wemer在1988年提出的。该算法的核心思想是通过在残差点之间或残差点与边界之间设置分支来平衡残差极性,并使分支的总长度尽量最小,同时采用了邻域搜索算法使得相位展开在通常情况下获得了快速有效的相位展开解。Goldstein分支阻断算法是一种简单快速的相位展开方法。首先在包裹相位图中识别并标记每个正负残差点,然后按照逐行逐列方式在包裹相位图中遍历每个象素,直至找到第一个残差点。记录该残差点的极性,作为以它为起点的分支的极性。以该残差点为中心,在其3×3邻域内搜索下一个残差点。如果找到,则连接两个残差点以构成分支。若这两个残差点的极性相反,则分支极性为O,标记残差点被平衡,否则以新残差点为中心在其邻域内继续搜索。在搜索过程中,一旦发现残差点,就以分支将其与邻域窗口中心的残差点相连,如果该残差点在之前没有被连接过(即不是已生成的分支上的点),把它的极性(1或.1)累加至已有的分支极性上。如果在搜索结束时分支极性为O,则表明这些残差点被平衡,这一分支的生成过程结束,再在包裹相位图中寻找下一个未被处理的残差点,开始另一分支的设置。如果在3×3邻域搜索过程结束时,分支的极性不为O,则将邻域窗口尺寸增大2个像素单位,对每个残差点重复上述搜索过程,直至分支极性为O或到达相位图边界。当分支到达边界时,与边界相连的分支可以避免任何积分路径包围这些残差点,故可以认为这种情况下分支的极性也为0。前述的分支设置完成后,所有的残差点都在分支上,极性均得到平衡。这时按绕过分支的积分路径对包裹相位图进行相位展开,可以避免局部相位展开误差的积累和传递,得到不存在全局误差的相位展开结果。具体的相位展开操作如下:取包裹相位图中不在分支上的任意一点作为起点,以它的包裹相位值作为其展开相位值。计算它的4邻中不在分支上的未展开点的展开相位,正被展开点的展开相位是在其包裹相位值上加上2万的整数倍,使该点的展开相位值与起点的展开相位值之差小于石。把刚完成相位展开的点选为新的起点,重复前述过程,对所有不在分支上的点进行相位展开。最后对与已展开点相邻的分支上的点进行相位展开,这一操作必须进行,因为严格来说,残差点和连接残差点的分支是位于包裹相位图中像素之间,而并非处于像素点上。GoldStein分支阻断算法计算速度快,对于一般的包裹相位图相位展开效果也较好。通常情况下,通过考察分支可以知道分支设置是否存在错误,或者某些区域被分支隔离,从而可以判定该算法的相位展开结果是否正确。但情况并非总是如此,有时候某一个分支设置有误,可能会导致某部分区域的实际相位出现2万的整数倍错误,而这种错误常常难以被发现。同时,该算法最小分支总长度的分支设置原则有时并不是最优策略。另外,由于没有利用包裹相位质量信息来指导分支设置,可能会在质量高的区域设置分支而导致相位展开错误。为了克服这些问题,可以利用一定的辅助信息来指导分支设置。
作者: machao    时间: 2013-3-23 14:00
,我也是,现在用这个,不知道为什么不能运行,有一个参数不知道如何输入





欢迎光临 光电工程师社区 (http://bbs.oecr.com/) Powered by Discuz! X3.2