TODO: memory use and comparison with SIFT.cpp