Project details for FLANN, Fast Library for Approximate Nearest Neighbors

Logo FLANN, Fast Library for Approximate Nearest Neighbors 1.01

by mariusmuja - September 30, 2008, 00:15:51 CET [ Project Homepage BibTeX Download ]

view ( today), download ( today ), 5 comments, 0 subscriptions


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.

FLANN is written in the D Programming language and contains bindings for the following languages: C, MATLAB and Python.

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:

Initial Announcement on

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


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.