v0.7.0
The desire to introduce some general API improvements led to dropping the adaptor interface in favor of a traits interface:
- Reducing template argument duplication.
- Removing awkward constructor requirement for metrics.
- Improving interfacing with individual points. E.g.: An OpenCV point required wrapping in v0.6.0.
Changes:
- Updated metrics.
- Renamed all C++ metrics. Most notable:
MetricL2
changed toL2Squared
. - Python enum entry
L2
renamed toL2Squared
. - Added the
L2
metric for C++. - Metrics should now be default constructible instead of having a constructor that takes run-time dimensions.
- Renamed all C++ metrics. Most notable:
- KdTree construction speed improved by about 5-10% depending on the input size.
- Added pico_understory. It contains a pre-alpha version of an implementation of the cover tree. It won't be added to pico_tree.
- Renamed pico_common to pico_toolshed.
- Adaptor interface requirements for point sets and points replaced by a single traits interface.
- Added support for working with an
std::vector<Point>
. - Added support for working with an
std::reference_wrapper<std::vector<Point>>
. - Eigen adapter interface updated to a traits interface.
- Eigen support for
std::vector<Eigen::Matrix<>>
andstd::vector<Eigen::Map<>>
added. - Eigen support for
std::reference_wrapper<Eigen::Matrix<>>
added.
- Added support for working with an
- Split the benchmark into multiple benchmarks.
- Split various pico_tree internals into separate files.
- Added an OpenCV interfacing demo.