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 | # downloads |
|---|---|---|---|---|---|
| scikits.ann-0.2.dev-r803.tar.gz (md5) | Source | 2008-01-31 | 19KB | 3623 | |
| scikits.ann-0.2.dev_r803-py2.5-macosx-10.5-i386.egg (md5) | Python Egg | 2.5 | 2008-01-31 | 82KB | 996 |
- Author: Barry Wark
- Home Page: http://scipy.org/scipy/scikits/wiki/AnnWrapper
- License: GNU Library or Lesser General Public License (LGPL)
- Requires numpy
-
Categories
- Development Status :: 4 - Beta
- Intended Audience :: Developers
- Intended Audience :: Science/Research
- License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
- Programming Language :: Python
- Topic :: Scientific/Engineering
- Topic :: Software Development :: Libraries :: Python Modules
- Package Index Owner: barrywark
- DOAP record: scikits.ann-0.2.dev-r803.xml
