使用scikit-fmm或gdist在3d三角形网格上的测地距离

时间:2019-05-22 21:05:50

标签: python scikit-learn distance mesh

我正在尝试评估TOSCA数据集上的测地距离矩阵。 例如以下3d网格-
enter image description here

我尝试使用两种python实现。

  1. 第一个是scikit-fmm,它似乎根本无法在3d结构上运行(对吗?),因此不适合该任务。
  2. 另一个是gdist程序包,该程序包不幸地在他们提供的玩具示例中起作用,但不适用于我的网格,后者只有10,000个面和5000个顶点。
    使用gdist库时,出现以下错误:

    Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
    --------CODE SNIPPET----------
    c = sio.loadmat('raw_data/TOSCA/cat0.mat')
    c = c['surface'][0][0]
    X = c[0]
    Y = c[1]
    Z = c[2]
    TRIV = c[3].astype(np.int32)
    vertices = np.array(zip(X, Y, Z)).astype(np.float64)
    vertices = np.reshape(vertices, (vertices.shape[0], 3))
    src = np.array([1], dtype=np.int32)
    trg = np.array([2], dtype=np.int32)
    
    np.random.shuffle(TRIV)
    
    a = gdist.compute_gdist(vertices,TRIV[:5000], source_indices = src, target_indices = trg)
    

还有其他解决方案吗?我使用gdist或scikit-fmm的方式错误吗?

0 个答案:

没有答案