MRPT  1.9.9
List of all members | Public Types | Private Attributes
mrpt::vision::TKeyPointList_templ< FEATURE > Struct Template Reference

Detailed Description

template<typename FEATURE>
struct mrpt::vision::TKeyPointList_templ< FEATURE >

A list of image features using the structure TKeyPoint for each feature Users normally will use directly: TKeyPointList, TKeyPointfList.

Definition at line 106 of file TKeyPoint.h.

#include <mrpt/vision/TKeyPoint.h>

Inheritance diagram for mrpt::vision::TKeyPointList_templ< FEATURE >:

Public Types

using TFeatureVector = std::vector< FEATURE >
 
using feature_t = FEATURE
 

Public Member Functions

Utilities
const TFeatureVectorgetVector () const
 Returns a const ref to the actual std::vector<> container. More...
 
TFeatureID getMaxID () const
 Returns the maximum ID of all features in the list, or 0 if it's empty. More...
 
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, etc. More...
 
std::vector< size_t > & getFirstIndexPerRowLUT ()
 
getFeature*() methods for template-based access to feature list
TKeyPointTraits< FEATURE >::coord_t getFeatureX (size_t i) const
 
TKeyPointTraits< FEATURE >::coord_t getFeatureY (size_t i) const
 
TFeatureID getFeatureID (size_t i) const
 
float getFeatureResponse (size_t i) const
 
bool isPointFeature (size_t i) const
 
float getScale (size_t i) const
 
TFeatureTrackStatus getTrackStatus (size_t i)
 
void setFeatureX (size_t i, typename TKeyPointTraits< FEATURE >::coord_t x)
 
void setFeatureY (size_t i, typename TKeyPointTraits< FEATURE >::coord_t y)
 
void setFeatureXf (size_t i, float x)
 
void setFeatureYf (size_t i, float y)
 
void setFeatureID (size_t i, TFeatureID id)
 
void setFeatureResponse (size_t i, float r)
 
void setScale (size_t i, float s)
 
void setTrackStatus (size_t i, TFeatureTrackStatus s)
 
void mark_as_outdated () const
 

Private Attributes

TFeatureVector m_feats
 The actual container with the list of features. More...
 
std::vector< size_t > m_first_index_per_row
 A LUT of the first feature index per row, to efficiently look for neighbors, etc. More...
 
mrpt::math::CMatrixBool m_occupied_sections
 

Method and datatypes to emulate a STL container

using iterator = typename TFeatureVector::iterator
 
using const_iterator = typename TFeatureVector::const_iterator
 
using reverse_iterator = typename TFeatureVector::reverse_iterator
 
using const_reverse_iterator = typename TFeatureVector::const_reverse_iterator
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
iterator erase (const iterator &it)
 
bool empty () const
 
size_t size () const
 
void clear ()
 
void resize (size_t N)
 
void reserve (size_t N)
 
void push_back (const FEATURE &f)
 
void push_back_fast (const FEATURE &f)
 
void emplace_back (const int x, const int y)
 
FEATURE & operator[] (const std::size_t index)
 
const FEATURE & operator[] (const std::size_t index) const
 
FEATURE & back ()
 
const FEATURE & back () const
 
FEATURE & front ()
 
const FEATURE & front () const
 

Member Typedef Documentation

◆ const_iterator

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::const_iterator = typename TFeatureVector::const_iterator

Definition at line 150 of file TKeyPoint.h.

◆ const_reverse_iterator

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::const_reverse_iterator = typename TFeatureVector::const_reverse_iterator

Definition at line 154 of file TKeyPoint.h.

◆ feature_t

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::feature_t = FEATURE

Definition at line 110 of file TKeyPoint.h.

◆ iterator

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::iterator = typename TFeatureVector::iterator

Definition at line 149 of file TKeyPoint.h.

◆ reverse_iterator

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::reverse_iterator = typename TFeatureVector::reverse_iterator

Definition at line 152 of file TKeyPoint.h.

◆ TFeatureVector

template<typename FEATURE>
using mrpt::vision::TKeyPointList_templ< FEATURE >::TFeatureVector = std::vector<FEATURE>

Definition at line 109 of file TKeyPoint.h.

Member Function Documentation

◆ back() [1/2]

template<typename FEATURE>
FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::back ( )
inline

Definition at line 190 of file TKeyPoint.h.

◆ back() [2/2]

template<typename FEATURE>
const FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::back ( ) const
inline

Definition at line 191 of file TKeyPoint.h.

◆ begin() [1/2]

template<typename FEATURE>
iterator mrpt::vision::TKeyPointList_templ< FEATURE >::begin ( )
inline

Definition at line 156 of file TKeyPoint.h.

◆ begin() [2/2]

template<typename FEATURE>
const_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::begin ( ) const
inline

Definition at line 158 of file TKeyPoint.h.

◆ clear()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::clear ( )
inline

Definition at line 167 of file TKeyPoint.h.

Referenced by mrpt::vision::CFeatureExtraction::detectFeatures_SSE2_FASTER10(), mrpt::vision::CFeatureExtraction::detectFeatures_SSE2_FASTER12(), and mrpt::vision::CFeatureExtraction::detectFeatures_SSE2_FASTER9().

Here is the caller graph for this function:

◆ emplace_back()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::emplace_back ( const int  x,
const int  y 
)
inline

Definition at line 176 of file TKeyPoint.h.

Referenced by fast_corner_detect().

Here is the caller graph for this function:

◆ empty()

template<typename FEATURE>
bool mrpt::vision::TKeyPointList_templ< FEATURE >::empty ( ) const
inline

Definition at line 165 of file TKeyPoint.h.

Referenced by mrpt::vision::TKeyPointList_templ< TKeyPoint >::getMaxID().

Here is the caller graph for this function:

◆ end() [1/2]

template<typename FEATURE>
iterator mrpt::vision::TKeyPointList_templ< FEATURE >::end ( )
inline

Definition at line 157 of file TKeyPoint.h.

◆ end() [2/2]

template<typename FEATURE>
const_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::end ( ) const
inline

Definition at line 159 of file TKeyPoint.h.

◆ erase()

template<typename FEATURE>
iterator mrpt::vision::TKeyPointList_templ< FEATURE >::erase ( const iterator it)
inline

Definition at line 164 of file TKeyPoint.h.

◆ front() [1/2]

template<typename FEATURE>
FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::front ( )
inline

Definition at line 192 of file TKeyPoint.h.

◆ front() [2/2]

template<typename FEATURE>
const FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::front ( ) const
inline

Definition at line 193 of file TKeyPoint.h.

◆ getFeatureID()

template<typename FEATURE>
TFeatureID mrpt::vision::TKeyPointList_templ< FEATURE >::getFeatureID ( size_t  i) const
inline

Definition at line 208 of file TKeyPoint.h.

◆ getFeatureResponse()

template<typename FEATURE>
float mrpt::vision::TKeyPointList_templ< FEATURE >::getFeatureResponse ( size_t  i) const
inline

Definition at line 209 of file TKeyPoint.h.

◆ getFeatureX()

template<typename FEATURE>
TKeyPointTraits<FEATURE>::coord_t mrpt::vision::TKeyPointList_templ< FEATURE >::getFeatureX ( size_t  i) const
inline

Definition at line 198 of file TKeyPoint.h.

◆ getFeatureY()

template<typename FEATURE>
TKeyPointTraits<FEATURE>::coord_t mrpt::vision::TKeyPointList_templ< FEATURE >::getFeatureY ( size_t  i) const
inline

Definition at line 203 of file TKeyPoint.h.

◆ getFirstIndexPerRowLUT() [1/2]

template<typename FEATURE>
const std::vector<size_t>& mrpt::vision::TKeyPointList_templ< FEATURE >::getFirstIndexPerRowLUT ( ) const
inline

Returns a vector with a LUT of the first feature index per row, to efficiently look for neighbors, etc.

By default this vector is empty, so if a feature detector is used that doesn't fill this out, it will remain empty and useless.

Note
FASTER detectors do fill this out. In general, a feature list that dynamically changes will not use this LUT.

Definition at line 135 of file TKeyPoint.h.

◆ getFirstIndexPerRowLUT() [2/2]

template<typename FEATURE>
std::vector<size_t>& mrpt::vision::TKeyPointList_templ< FEATURE >::getFirstIndexPerRowLUT ( )
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 140 of file TKeyPoint.h.

◆ getMaxID()

template<typename FEATURE>
TFeatureID mrpt::vision::TKeyPointList_templ< FEATURE >::getMaxID ( ) const
inline

Returns the maximum ID of all features in the list, or 0 if it's empty.

Definition at line 119 of file TKeyPoint.h.

◆ getScale()

template<typename FEATURE>
float mrpt::vision::TKeyPointList_templ< FEATURE >::getScale ( size_t  i) const
inline

Definition at line 218 of file TKeyPoint.h.

◆ getTrackStatus()

template<typename FEATURE>
TFeatureTrackStatus mrpt::vision::TKeyPointList_templ< FEATURE >::getTrackStatus ( size_t  i)
inline

Definition at line 222 of file TKeyPoint.h.

◆ getVector()

template<typename FEATURE>
const TFeatureVector& mrpt::vision::TKeyPointList_templ< FEATURE >::getVector ( ) const
inline

Returns a const ref to the actual std::vector<> container.

Definition at line 116 of file TKeyPoint.h.

◆ isPointFeature()

template<typename FEATURE>
bool mrpt::vision::TKeyPointList_templ< FEATURE >::isPointFeature ( size_t  i) const
inline

Definition at line 213 of file TKeyPoint.h.

◆ mark_as_outdated()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::mark_as_outdated ( ) const
inline

Definition at line 261 of file TKeyPoint.h.

◆ operator[]() [1/2]

template<typename FEATURE>
FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::operator[] ( const std::size_t  index)
inline

Definition at line 181 of file TKeyPoint.h.

◆ operator[]() [2/2]

template<typename FEATURE>
const FEATURE& mrpt::vision::TKeyPointList_templ< FEATURE >::operator[] ( const std::size_t  index) const
inline

Definition at line 185 of file TKeyPoint.h.

◆ push_back()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::push_back ( const FEATURE &  f)
inline

Definition at line 174 of file TKeyPoint.h.

◆ push_back_fast()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::push_back_fast ( const FEATURE &  f)
inline

Definition at line 175 of file TKeyPoint.h.

◆ rbegin() [1/2]

template<typename FEATURE>
reverse_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::rbegin ( )
inline

Definition at line 160 of file TKeyPoint.h.

◆ rbegin() [2/2]

template<typename FEATURE>
const_reverse_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::rbegin ( ) const
inline

Definition at line 162 of file TKeyPoint.h.

◆ rend() [1/2]

template<typename FEATURE>
reverse_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::rend ( )
inline

Definition at line 161 of file TKeyPoint.h.

◆ rend() [2/2]

template<typename FEATURE>
const_reverse_iterator mrpt::vision::TKeyPointList_templ< FEATURE >::rend ( ) const
inline

Definition at line 163 of file TKeyPoint.h.

◆ reserve()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::reserve ( size_t  N)
inline

Definition at line 173 of file TKeyPoint.h.

Referenced by fast_corner_detect().

Here is the caller graph for this function:

◆ resize()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::resize ( size_t  N)
inline

Definition at line 172 of file TKeyPoint.h.

◆ setFeatureID()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureID ( size_t  i,
TFeatureID  id 
)
inline

Definition at line 247 of file TKeyPoint.h.

◆ setFeatureResponse()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureResponse ( size_t  i,
float  r 
)
inline

Definition at line 248 of file TKeyPoint.h.

◆ setFeatureX()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureX ( size_t  i,
typename TKeyPointTraits< FEATURE >::coord_t  x 
)
inline

Definition at line 227 of file TKeyPoint.h.

◆ setFeatureXf()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureXf ( size_t  i,
float  x 
)
inline

Definition at line 238 of file TKeyPoint.h.

◆ setFeatureY()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureY ( size_t  i,
typename TKeyPointTraits< FEATURE >::coord_t  y 
)
inline

Definition at line 232 of file TKeyPoint.h.

◆ setFeatureYf()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setFeatureYf ( size_t  i,
float  y 
)
inline

Definition at line 242 of file TKeyPoint.h.

◆ setScale()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setScale ( size_t  i,
float  s 
)
inline

Definition at line 252 of file TKeyPoint.h.

◆ setTrackStatus()

template<typename FEATURE>
void mrpt::vision::TKeyPointList_templ< FEATURE >::setTrackStatus ( size_t  i,
TFeatureTrackStatus  s 
)
inline

Definition at line 256 of file TKeyPoint.h.

◆ size()

template<typename FEATURE>
size_t mrpt::vision::TKeyPointList_templ< FEATURE >::size ( ) const
inline

Definition at line 166 of file TKeyPoint.h.

Referenced by mrpt::vision::CFeatureExtraction::extractFeaturesFASTER_N(), and fast_corner_detect().

Here is the caller graph for this function:

Member Data Documentation

◆ m_feats

template<typename FEATURE>
TFeatureVector mrpt::vision::TKeyPointList_templ< FEATURE >::m_feats
private

The actual container with the list of features.

Definition at line 266 of file TKeyPoint.h.

Referenced by mrpt::vision::TKeyPointList_templ< TKeyPoint >::back(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::begin(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::clear(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::emplace_back(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::empty(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::end(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::erase(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::front(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getFeatureID(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getFeatureResponse(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getFeatureX(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getFeatureY(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getMaxID(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getScale(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getTrackStatus(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::getVector(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::operator[](), mrpt::vision::TKeyPointList_templ< TKeyPoint >::push_back(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::push_back_fast(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::rbegin(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::rend(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::reserve(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::resize(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureID(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureResponse(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureX(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureXf(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureY(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setFeatureYf(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setScale(), mrpt::vision::TKeyPointList_templ< TKeyPoint >::setTrackStatus(), and mrpt::vision::TKeyPointList_templ< TKeyPoint >::size().

◆ m_first_index_per_row

template<typename FEATURE>
std::vector<size_t> mrpt::vision::TKeyPointList_templ< FEATURE >::m_first_index_per_row
private

A LUT of the first feature index per row, to efficiently look for neighbors, etc.

Definition at line 269 of file TKeyPoint.h.

Referenced by mrpt::vision::TKeyPointList_templ< TKeyPoint >::clear(), and mrpt::vision::TKeyPointList_templ< TKeyPoint >::getFirstIndexPerRowLUT().

◆ m_occupied_sections

template<typename FEATURE>
mrpt::math::CMatrixBool mrpt::vision::TKeyPointList_templ< FEATURE >::m_occupied_sections
private

Definition at line 270 of file TKeyPoint.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ce444d842 Fri Dec 6 19:35:10 2019 +0100 at vie dic 6 19:45:12 CET 2019