问题陈述:
我在一个三维空间中有150k个点,它们的坐标存储在一个尺寸为[150k, 3]的矩阵中,以毫米为单位。
我想找到给定点p周围半径r内的所有邻居点,并以最准确的方式进行计算。
我应该如何选择leafsize参数?
我在一个三维空间中有150k个点,它们的坐标存储在一个尺寸为[150k, 3]的矩阵中,以毫米为单位。
我想找到给定点p周围半径r内的所有邻居点,并以最准确的方式进行计算。
我应该如何选择leafsize参数?
from scipy.spatial import KDTree
import numpy as np
pts = np.random.rand(150000,3)
T1 = KDTree(pts, leafsize=20)
T2 = KDTree(pts, leafsize=1)
neighbors1= T1.query_ball_point((0.3,0.2,0.1), r=2.0)
neighbors2= T2.query_ball_point((0.3,0.2,0.1), r=2.0)
np.allclose(sorted(neighbors1), sorted(neighbors2))
True
leafsize
参数不会影响查询结果,只会影响结果的性能。无论如何,无论leafsize
参数如何设置,查询都会返回相同的结果。这是正确的吗? - seralouk