from scipy import spatial
import numpy as np
from loguru import logger
x, y = np.mgrid[0:5, 0:5]
points = np.c_[x.ravel(), y.ravel()]
logger.info(points)
tree = spatial.KDTree(points)
# indice = tree.query_ball_point([2, 0], 1)
indices = tree.query_ball_point(x = ([2, 0], [3, 3]), r = 1)
# array([list([5, 10, 11, 15]), list([13, 17, 18, 19, 23])], dtype=object)
for indice in indices:
logger.info(points[indice,:])
# [13, 17, 18, 19, 23]
# logger.info(points[indice,:])