Project details for FLANN, Fast Library for Approximate Nearest Neighbors

Logo FLANN, Fast Library for Approximate Nearest Neighbors 1.2

by mariusmuja - May 11, 2009, 09:15:33 CET [ Project Homepage BibTeX Download ]

view (19 today), download ( 0 today ), 5 comments, 1 subscription


FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces. It contains a collection of algorithms we found to work best for nearest neighbor search and a system for automatically choosing the best algorithm and optimum parameters depending on the dataset.

The latest version of FLANN is written in C++ and contains bindings for Python and MATLAB.

In our experiments we have found FLANN to be about one order of magnitude faster on many datasets(in query time), than previously available approximate nearest neighbor search software.

Changes to previous version:

See project page for changes.

BibTeX Entry: Download
URL: Project Homepage
Supported Operating Systems: Linux, Macosx, Windows
Data Formats: None
Tags: Clustering, Nips2008, Hierarchical Kmeans, Kdtree, Nearest Neighbors
Archive: download here

Other available revisons

Version Changelog Date

See project page for changes.

September 12, 2011, 22:32:29

See project page for changes.

May 11, 2009, 09:15:33

Initial Announcement on

September 30, 2008, 00:13:56


chris (on June 3, 2009, 11:04:46)

I wonder, how did you create bindings to python from D? Is there something like SWIG?

Marius Muja (on June 3, 2009, 20:56:26)

The latest version of FLANN was ported to C++, and I use ctypes for the python bindings. For the D version I used the scipy.weave package (D object files and C object files can be linked together). There is also the PyD project that can generate Python bindings from D code (similar to Boost.Python for C++).

David Doria (on September 10, 2011, 04:12:45)

I would suggest making the Matlab bindings an option in the CMake. I don't have Matlab and just want to use the c++ library of FLANN. I got a build error complaining that I didn't have mex, so I just commented the add_subdirectory(matlab) line and then everything worked fine. It would be nice to be able to do this through the ccmake interface.

David Doria (on September 10, 2011, 04:17:08)

The that gets built seems to expect two .dat files. It would be great if example files could be included so 1) users can test that it runs right away and 2) see the format of the input file that is expected.

Marius Muja (on September 12, 2011, 22:33:26)

The latest FLANN version(s) allow to enable/disable the building of the MATLAB bindings from the ccmake interface.

Leave a comment

You must be logged in to post comments.