libfbi
libfbi is a header-only C++ template library that enables the efficient solution of box intersection problems in an arbitrary number of dimensions. The implementation makes heavy use of C++ metaprogramming and variadic template programming techniques. Despite this complexity, the library provides a straightforward and simple interface that allows easy integration into new and existing projects.
libfbi has so far been applied to feature extraction and data analysis tasks for high-resolution liquid chromatography/mass spectrometry (LC/MS) data sets. The library itself, however, is in no way limited to this application scenario: it can easily be used to solve, accelerate or simplify many kinds of multi-dimensional box intersection and related problems (e.g. determining bounding volumes, k-nearest-neighbor search, density estimation, correspondence and motion estimation, alignment tasks, and more).
libfbi development has been conducted at the Steen & Steen lab.
Development, Documentation and Testing
The libfbi code is considered stable; it is actively maintained at the libfbi github site. If you happen to run into trouble, please do not hesitate to contact Marc or to make use of the github issue tracking system.
We make use of the Doxygen documentation system to provide source documentation and annotated examples.
libfbi comes with a set of fully automated regression tests, that check all box intersection boundary conditions and compare expected and calculated results across a set of use cases.
Download and Licensing (MIT)
libfbi is available under a permissive MIT license that allows anyone to use, modify and distribute libfbi. Please consider contributing your improvements.
Please note: libfbi makes heavy use of TR1 and C++0x features, in particular tuples and variadic templates. Development was carried out under GNU gcc 4.4, on an Ubuntu Linux system. Windows users currently need to make use of the MinGW compiler as variadic template support under Microsoft Visual Studio will only be available starting from Visual Studio 11.
Latest stable release: sources (w/o test datasets).
Current development snapshot: github (includes test datasets).