27 template <
typename PIXEL_COORD_TYPE>
    56     template <
typename COORD_TYPE>
    63     template <
typename OTHER_TKeyPo
int>
    83 template <
typename FEATURE>
   105 template <
typename FEATURE>
   121         if (this->
empty()) 
return 0;
   149     using iterator = 
typename TFeatureVector::iterator;
   154         typename TFeatureVector::const_reverse_iterator;
   184     inline const FEATURE& 
operator[](
const std::size_t index)
 const   219         return m_feats[i].track_status;
   282 template <
typename FEATURE_LIST>
   298 template <
typename FEAT>
   330         const float* p1, 
const size_t idx_p2,
   331         [[maybe_unused]] 
size_t size)
 const   335         const float d0 = p1[0] - 
m_data[idx_p2].pt.x;
   336         const float d1 = p1[1] - 
m_data[idx_p2].pt.y;
   337         return d0 * d0 + d1 * d1;
   346     template <
typename BBOX>
 reverse_iterator rbegin()
 
const_reverse_iterator rend() const
 
const FEATURE & operator[](const std::size_t index) const
 
TKeyPoint_templ()=default
Default constructor, leaves all fields uninitialized. 
 
Helper class: KD-tree search class for vector<KeyPoint>: Call mark_as_outdated() to force rebuilding ...
 
uint64_t TFeatureID
Definition of a feature ID. 
 
const FEATURE_LIST & m_data
 
CFeatureListKDTree(const std::vector< FEAT > &data)
 
iterator erase(const iterator &it)
 
size_t size(const MATRIXLIKE &m, const int dim)
 
typename TFeatureVector::reverse_iterator reverse_iterator
 
typename TFeatureVector::iterator iterator
 
typename TFeatureVector::const_iterator const_iterator
 
void setFeatureXf(size_t i, float x)
 
TKeyPointTraits< FEATURE >::coord_t getFeatureY(size_t i) const
 
float kdtree_distance(const float *p1, const size_t idx_p2, [[maybe_unused]] size_t size) const
Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored ...
 
A pair (x,y) of pixel coordinates (subpixel resolution). 
 
float kdtree_get_pt(const size_t idx, int dim) const
Returns the dim'th component of the idx'th point in the class: 
 
TFeatureID ID
ID of the feature. 
 
static coord_t f2coord(float f)
 
TKeyPointTraits< FEATURE >::coord_t getFeatureX(size_t i) const
 
mrpt::math::CMatrixBool m_occupied_sections
 
TFeatureTrackStatus track_status
Status of the feature tracking process. 
 
Simple structure for image key points. 
 
bool kdtree_get_bbox([[maybe_unused]] BBOX &bb) const
 
void emplace_back(const int x, const int y)
 
FEATURE & operator[](const std::size_t index)
 
A helper struct to sort keypoints by their response: It can be used with these types: ...
 
A generic adaptor class for providing Nearest Neighbor (NN) lookup via the nanoflann library...
 
void setScale(size_t i, float s)
 
float d2f(const double d)
shortcut for static_cast<float>(double) 
 
void push_back(const FEATURE &f)
 
const FEATURE & front() const
 
Inactive (right after detection, and before being tried to track) 
 
typename TFeatureVector::const_reverse_iterator const_reverse_iterator
 
TFeatureVector m_feats
The actual container with the list of features. 
 
std::vector< size_t > m_first_index_per_row
A LUT of the first feature index per row, to efficiently look for neighbors, etc. ...
 
bool isPointFeature([[maybe_unused]] size_t i) const
 
void setTrackStatus(size_t i, TFeatureTrackStatus s)
 
const TFeatureVector & getVector() const
Returns a const ref to the actual std::vector<> container. 
 
Classes for computer vision, detectors, features, etc. 
 
void setFeatureY(size_t i, typename TKeyPointTraits< FEATURE >::coord_t y)
 
const_reverse_iterator rbegin() const
 
const FEATURE & back() const
 
typename mrpt::img::TPixelCoordf ::pixel_coord_t pixel_coord_t
The type of pt.x and pt.y. 
 
void keep_max(T &var, const K test_val)
If the second argument is above the first one, set the first argument to this higher value...
 
void setFeatureID(size_t i, TFeatureID id)
 
float getFeatureResponse(size_t i) const
 
void mark_as_outdated() const
 
std::vector< size_t > & getFirstIndexPerRowLUT()
 
TFeatureID getMaxID() const
Returns the maximum ID of all features in the list, or 0 if it's empty. 
 
void setFeatureX(size_t i, typename TKeyPointTraits< FEATURE >::coord_t x)
 
A list of image features using the structure TKeyPoint for each feature Users normally will use direc...
 
const_iterator begin() const
 
#define ASSERTDEB_(f)
Defines an assertion mechanism - only when compiled in debug. 
 
std::vector< TKeyPoint > TFeatureVector
 
void kdtree_mark_as_outdated() const
To be called by child classes when KD tree data changes. 
 
TKeyPoint_templ(const COORD_TYPE x, const COORD_TYPE y)
Constructor that only sets the pt. 
 
const std::vector< FEAT > & m_data
 
uint8_t octave
The image octave the image was found in: 0=original image, 1=1/2 image, 2=1/4 image, etc. 
 
void setFeatureYf(size_t i, float y)
 
static coord_t f2coord(float f)
 
TKeyPoint_templ(const OTHER_TKeyPoint &o)
 
TFeatureID getFeatureID(size_t i) const
 
TFeatureTrackStatus getTrackStatus(size_t i)
 
const std::vector< size_t > & getFirstIndexPerRowLUT() const
Returns a vector with a LUT of the first feature index per row, to efficiently look for neighbors...
 
float getScale(size_t i) const
 
This template class provides the basic functionality for a general 2D any-size, resizable container o...
 
float response
A measure of the "goodness" of the feature (typically, the KLT_response value) 
 
size_t kdtree_get_point_count() const
Must return the number of data points. 
 
uint8_t user_flags
A field for any other flags needed by the user (this has not a predefined meaning) ...
 
pixel_coords_t pt
Coordinates in the image. 
 
bool operator()(size_t k1, size_t k2) const
 
KeypointResponseSorter(const FEATURE_LIST &data)
 
void setFeatureResponse(size_t i, float r)
 
static struct FontData data
 
const_iterator end() const
 
int round(const T value)
Returns the closer integer (int) to x.