healpy (or rather, the healpix C++ library wrapped by healpy) currently allows searching the immediate neighbours using an algorithm that:
splits the cell ids into the local x, y, and face coordinates
adds offsets to determine the neighbours
adjusts these in case the offset crosses base pixel boundaries
combines the new local coordinates back to cell ids
As long as we don't cross multiple pixel boundaries (i.e. ring <= nside, with ring the step size), this procedure can actually be used to find more than just the immediate neighbours.
This PR implements the extended neighbour search in a numba-accelerated, dask-aware function.
healpy
(or rather, the healpix C++ library wrapped byhealpy
) currently allows searching the immediate neighbours using an algorithm that:x
,y
, andface
coordinatesAs long as we don't cross multiple pixel boundaries (i.e.
ring <= nside
, withring
the step size), this procedure can actually be used to find more than just the immediate neighbours.This PR implements the extended neighbour search in a
numba
-accelerated,dask
-aware function.