An optimal algorithm for approximate nearest neighbor searching | Synapse