Hello,
In the radius search CPU, you are using:
tree = scipy.spatial.cKDTree(x.detach().numpy())
_, col = tree.query( y.detach().numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8)
It seems that there is no guaranty that returned indices are randomly selected if there are more points within range r than max_num_neighbors.
Here is a sample code:
data = np.random.rand(100000, 3)
tree = KDTree(data)
distances, ids = tree.query([0.5,0.5,0.5], k=32, distance_upper_bound=0.2)
print(distances.max())
---> 0.044963456313535384 (reproducible if launched several times)
It seems that it searches for the knn and return only the neighbors within r.
The right function may be query_ball_point?
Hello,
In the radius search CPU, you are using:
It seems that there is no guaranty that returned indices are randomly selected if there are more points within range
rthanmax_num_neighbors.Here is a sample code:
It seems that it searches for the knn and return only the neighbors within
r.The right function may be
query_ball_point?