8 #include <vigra/multi_array.hxx>
9 #include <vigra/matrix.hxx>
68 f32_t k = std::sqrt(2),
bool subpixel =
false) :
69 subpixel(subpixel), _sigma(sigma), _k(k), _dogsPerEpoch(dogsPerEpoch),
78 std::vector<InterestPoint>
calculate(vigra::MultiArray<2, f32_t>&);
118 const std::set<f32_t>
_findPeaks(
const std::array<f32_t, 36>&)
const;
float f32_t
Definition: types.hpp:13
unsigned short int u16_t
Definition: types.hpp:6
const f32_t _sigma
Definition: sift.hpp:27
const Matrix< OctaveElem > _createDOGs(vigra::MultiArray< 2, f32_t > &)
Definition: sift.cpp:381
void _findScaleSpaceExtrema(const Matrix< OctaveElem > &, std::vector< InterestPoint > &) const
Definition: sift.cpp:348
void _createOrientationPyramid()
Definition: sift.cpp:146
const Point< u16_t, u16_t > _findNearestGaussian(f32_t)
Definition: sift.cpp:205
std::vector< InterestPoint > calculate(vigra::MultiArray< 2, f32_t > &)
Definition: sift.cpp:19
const f32_t _k
Definition: sift.hpp:31
Matrix< vigra::MultiArray< 2, f32_t > > _magnitudes
Definition: sift.hpp:51
void _createDecriptors(std::vector< InterestPoint > &)
Definition: sift.cpp:60
Definition: matrix.hpp:22
const u16_t _octaves
Definition: sift.hpp:41
void _createMagnitudePyramid()
Definition: sift.cpp:130
const bool subpixel
Definition: sift.hpp:22
void _eliminateEdgeResponses(std::vector< InterestPoint > &, const Matrix< OctaveElem > &) const
Definition: sift.cpp:288
const u16_t _dogsPerEpoch
Definition: sift.hpp:36
Definition: algorithms.cpp:8
Matrix< vigra::MultiArray< 2, f32_t > > _orientations
Definition: sift.hpp:56
Sift(u16_t dogsPerEpoch=3, u16_t octaves=3, f32_t sigma=1.6, f32_t k=std::sqrt(2), bool subpixel=false)
Definition: sift.hpp:67
Matrix< OctaveElem > _gaussians
Definition: sift.hpp:46
std::vector< f32_t > _eliminateVectorThreshold(std::vector< f32_t > &) const
Definition: sift.cpp:113
const std::set< f32_t > _findPeaks(const std::array< f32_t, 36 > &) const
Definition: sift.cpp:220
void _orientationAssignment(std::vector< InterestPoint > &)
Definition: sift.cpp:163