2012-06-01 36 views
1

我必须实现2网格的豪斯多夫距离。网格是人体器官的不同分割结果,我必须对它们进行比较,一个网格是一个金色的网格。第二个是分割算法的结果。豪斯多夫两个网格的点之间的距离

我将使用豪斯道夫距离,但有一些问题,理解我到底要做什么。 我知道我必须计算meshB中meshA中每个点的最近点,反之亦然。这些是我的相对距离。对于集合中的2个对应点,我取最大相对距离=> hausdorff。 (那是多远我)

现在我的问题: 一个网格有〜100,000点,另一个〜2,000。因此,这将是n:1的关系。我计算豪斯多夫需要哪些点,我该如何解决这个问题? 希望有任何提示。谢谢!

回答

0

如果x and x是有限或可数集,然后sum

如果xy是度量空间,那么他们的产品满足的维数 sum

UPD:穷举算法:

1. h = 0 
2. for every point ai of A, 
     2.1 shortest = Inf ; 
     2.2 for every point bj of B 
        dij = d (ai , bj) 
        if dij < shortest then 
           shortest = dij 
     2.3 if shortest > h then 
        h = shortest 
+1

我认为'python' itertools'product'方法对于这个任务是可变的。 http://docs.python.org/library/itertools.html#itertools.product –

+0

我仍然不确定我的理解是否正确。 对于meshA(PA)中的每一个点,我都考虑meshB中所有PA都是最近邻的点。在这些点中,我将PA的最大距离设置为hausdorff。现在对于meshB也是一样的;那是我应该怎么做的? – toobee

+1

问题是关于Hausdorff距离和关于Hausdorff维数的答案。他们是非常不同的... –