Я пытаюсь оценить матрицу геодезических расстояний в наборе данных TOSCA.Например, следующая 3d-сетка -
Я пробовал использовать две реализации Python.
- Первая - scikit-fmm , который, кажется, вообще не работает с трехмерными структурами (я прав?), следовательно, не подходит для этой задачи.
Другой - gdist *Пакет 1016 *, который, к сожалению, работает на предоставленном ими примере с игрушкой, но не работает на моем меше, который содержит только 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?