skip to navigation
skip to content

Not Logged In

scikits.ann 0.2.dev-r803

Approximate Nearest Neighbor library wrapper for Numpy

The ANN module provides a numpy-compatible python wrapper around the
Approximate Nearest Neighbor library (http://www.cs.umd.edu/~mount/ANN/).

* Installation *
Download and build the Approximate Nearest Neighbor library. Modify the ANN section of
site.cfg so that ANN_ROOT is the path to the root of the Approximate Nearest Neighbor
library include/lib tree.
If /usr/local/include contains the ANN/ include directory and /usr/local/lib contains
libANN.a, then
ANN_ROOT = /usr/local

Run ::

    python setup.py build_ext --inplace build test
    sudo python setup.py install

from within the source directory.

* Usage *
scikits.ann exposes a single class, kdtree that wraps the Approximate Nearest Neighbor
library's kd-tree implementation. kdtree has a single (non-constructor) method, knn that
finds the indecies (of the points used to construct the kdtree) of the k-nearest neighbors
 and the squared distances to those points. A little example will probably be much
 more enlightening::
    >>> import scikits.ann as ann

    >>> import numpy as np

    >>> k=ann.kdtree(np.array([[0.,0],[1,0],[1.5,2]]))

    >>> k.knn([0,.2],1)
    (array([[0]]), array([[ 0.04]]))

    >>> k.knn([0,.2],2)
    (array([[0, 1]]), array([[ 0.04,  1.04]]))

    >>> k.knn([[0,.2],[.1,2],[3,1],[0,0]],2)
    (array([[0, 1],
           [2, 0],
           [2, 1],
           [1, 2]]), array([[ 0.04,  1.04],
           [ 1.96,  4.01],
           [ 3.25,  5.  ],
           [ 1.  ,  6.25]]))

    >>> k.knn([[0,.2],[.1,2],[3,1],[0,0]],3)
    (array([[ 0,  1,  2],
           [ 2,  0,  1],
           [ 2,  1,  0],
           [ 1,  2, -1]]), array([[  4.00000000e-002,   1.04000000e+000,   5.49000000e+000],
           [  1.96000000e+000,   4.01000000e+000,   4.81000000e+000],
           [  3.25000000e+000,   5.00000000e+000,   1.00000000e+001],
           [  1.00000000e+000,   6.25000000e+000,   1.79769313e+308]]))
 
File Type Py Version Uploaded on Size
scikits.ann-0.2.dev-r803.tar.gz (md5) Source 2008-01-31 19KB
scikits.ann-0.2.dev_r803-py2.5-macosx-10.5-i386.egg (md5) Python Egg 2.5 2008-01-31 82KB
  • Downloads (All Versions):
  • 31 downloads in the last day
  • 343 downloads in the last week
  • 1243 downloads in the last month