diff --git a/src/cellcomplex/property_topomesh/example_topomesh.py b/src/cellcomplex/property_topomesh/example_topomesh.py index f6670bf90fb10b3cd25f1eb9901641867dde8ce1..ab475b9b7fa675121e07e7000230491da0cf25a0 100644 --- a/src/cellcomplex/property_topomesh/example_topomesh.py +++ b/src/cellcomplex/property_topomesh/example_topomesh.py @@ -742,7 +742,7 @@ def circle_voronoi_topomesh(size = 1,cell_size = 1.,circle_size = 100.,z_coef = iterations = n_cells//2 for iteration in range(iterations): - cell_to_cell_vectors = np.array([[p-q for q in cell_points] for p in cell_points]) + cell_to_cell_vectors = cell_points[np.newaxis] - cell_points[:, np.newaxis] cell_to_cell_distances = np.linalg.norm(cell_to_cell_vectors,axis=2)/radius cell_to_circle_vectors = np.array([[p-q for q in circle_points] for p in cell_points]) cell_to_circle_distances = np.linalg.norm(cell_to_circle_vectors,axis=2)/radius diff --git a/src/cellcomplex/property_topomesh/utils/matching_tools.py b/src/cellcomplex/property_topomesh/utils/matching_tools.py index fb51323436779f03b3978a2eb4d37fd8965198d7..5c1b0e0f426c33d36d56da20c0354a6fa36e5664 100644 --- a/src/cellcomplex/property_topomesh/utils/matching_tools.py +++ b/src/cellcomplex/property_topomesh/utils/matching_tools.py @@ -26,9 +26,8 @@ def brute_force_match(obs, codebook): return (np.argmin(distance_matrix,axis=1),np.min(distance_matrix,axis=1)) def kd_tree_match(obs, codebook, radius=1e-5): - data = cKDTree(obs) - res1 = data.query_ball_tree(cKDTree(codebook), radius, 2, radius) - res1 = np.array([r[np.argmin(np.linalg.norm(codebook[r] - o,axis=1))] if len(r)>0 else None for o,r in zip(obs,res1)]) + code = cKDTree(codebook) + res1 = code.query(obs, k=1, distance_upper_bound=radius)[1] return res1 def vector_quantization_match(obs, codebook):