MRPT  1.9.9
mrpt::vision::TSimpleFeatureList_templ< FEATURE > Struct Template Reference

Detailed Description

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

A list of image features using the structure TSimpleFeature for each feature.

  • capable of KD-tree computations Users normally use directly the type TSimpleFeatureList & TSimpleFeaturefList

Definition at line 112 of file TSimpleFeature.h.

#include <mrpt/vision/TSimpleFeature.h>

Inheritance diagram for mrpt::vision::TSimpleFeatureList_templ< FEATURE >:
Inheritance graph

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 ()
 
mrpt::math::CMatrixBoolgetOccupiedSectionsMatrix ()
 Get a ref to the occupation matrix: this is a user-defined matrix, which is not updated automatically by this class. More...
 
const mrpt::math::CMatrixBoolgetOccupiedSectionsMatrix () const
 
getFeature*() methods for template-based access to feature list
TSimpleFeatureTraits< FEATURE >::coord_t getFeatureX (size_t i) const
 
TSimpleFeatureTraits< 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 TSimpleFeatureTraits< FEATURE >::coord_t x)
 
void setFeatureY (size_t i, typename TSimpleFeatureTraits< 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 push_back_fast (const int x, const int y)
 
FEATURE & operator[] (const unsigned int index)
 
const FEATURE & operator[] (const unsigned int 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::TSimpleFeatureList_templ< FEATURE >::const_iterator = typename TFeatureVector::const_iterator

Definition at line 167 of file TSimpleFeature.h.

◆ const_reverse_iterator

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

Definition at line 171 of file TSimpleFeature.h.

◆ feature_t

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

Definition at line 116 of file TSimpleFeature.h.

◆ iterator

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

Definition at line 166 of file TSimpleFeature.h.

◆ reverse_iterator

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

Definition at line 169 of file TSimpleFeature.h.

◆ TFeatureVector

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

Definition at line 115 of file TSimpleFeature.h.

Member Function Documentation

◆ back() [1/2]

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

Definition at line 207 of file TSimpleFeature.h.

◆ back() [2/2]

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

Definition at line 208 of file TSimpleFeature.h.

◆ begin() [1/2]

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

Definition at line 173 of file TSimpleFeature.h.

◆ begin() [2/2]

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

Definition at line 175 of file TSimpleFeature.h.

◆ clear()

◆ empty()

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

◆ end() [1/2]

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

Definition at line 174 of file TSimpleFeature.h.

◆ end() [2/2]

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

Definition at line 176 of file TSimpleFeature.h.

◆ erase()

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

Definition at line 181 of file TSimpleFeature.h.

◆ front() [1/2]

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

Definition at line 209 of file TSimpleFeature.h.

◆ front() [2/2]

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

Definition at line 210 of file TSimpleFeature.h.

◆ getFeatureID()

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

Definition at line 225 of file TSimpleFeature.h.

◆ getFeatureResponse()

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

Definition at line 226 of file TSimpleFeature.h.

◆ getFeatureX()

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

Definition at line 215 of file TSimpleFeature.h.

◆ getFeatureY()

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

Definition at line 220 of file TSimpleFeature.h.

◆ getFirstIndexPerRowLUT() [1/2]

template<typename FEATURE>
const std::vector<size_t>& mrpt::vision::TSimpleFeatureList_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 141 of file TSimpleFeature.h.

◆ getFirstIndexPerRowLUT() [2/2]

template<typename FEATURE>
std::vector<size_t>& mrpt::vision::TSimpleFeatureList_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 146 of file TSimpleFeature.h.

◆ getMaxID()

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

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

Definition at line 125 of file TSimpleFeature.h.

◆ getOccupiedSectionsMatrix() [1/2]

template<typename FEATURE>
mrpt::math::CMatrixBool& mrpt::vision::TSimpleFeatureList_templ< FEATURE >::getOccupiedSectionsMatrix ( )
inline

Get a ref to the occupation matrix: this is a user-defined matrix, which is not updated automatically by this class.

Definition at line 153 of file TSimpleFeature.h.

◆ getOccupiedSectionsMatrix() [2/2]

template<typename FEATURE>
const mrpt::math::CMatrixBool& mrpt::vision::TSimpleFeatureList_templ< FEATURE >::getOccupiedSectionsMatrix ( ) const
inline

Definition at line 157 of file TSimpleFeature.h.

◆ getScale()

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

Definition at line 235 of file TSimpleFeature.h.

◆ getTrackStatus()

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

Definition at line 239 of file TSimpleFeature.h.

◆ getVector()

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

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

Definition at line 122 of file TSimpleFeature.h.

◆ isPointFeature()

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

Definition at line 230 of file TSimpleFeature.h.

◆ mark_as_outdated()

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

Definition at line 278 of file TSimpleFeature.h.

◆ operator[]() [1/2]

template<typename FEATURE>
FEATURE& mrpt::vision::TSimpleFeatureList_templ< FEATURE >::operator[] ( const unsigned int  index)
inline

Definition at line 198 of file TSimpleFeature.h.

◆ operator[]() [2/2]

template<typename FEATURE>
const FEATURE& mrpt::vision::TSimpleFeatureList_templ< FEATURE >::operator[] ( const unsigned int  index) const
inline

Definition at line 202 of file TSimpleFeature.h.

◆ push_back()

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

Definition at line 191 of file TSimpleFeature.h.

◆ push_back_fast() [1/2]

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

Definition at line 192 of file TSimpleFeature.h.

Referenced by fast_corner_detect().

◆ push_back_fast() [2/2]

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

Definition at line 193 of file TSimpleFeature.h.

◆ rbegin() [1/2]

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

Definition at line 177 of file TSimpleFeature.h.

◆ rbegin() [2/2]

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

Definition at line 179 of file TSimpleFeature.h.

◆ rend() [1/2]

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

Definition at line 178 of file TSimpleFeature.h.

◆ rend() [2/2]

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

Definition at line 180 of file TSimpleFeature.h.

◆ reserve()

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

Definition at line 190 of file TSimpleFeature.h.

◆ resize()

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

Definition at line 189 of file TSimpleFeature.h.

◆ setFeatureID()

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

Definition at line 264 of file TSimpleFeature.h.

◆ setFeatureResponse()

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

Definition at line 265 of file TSimpleFeature.h.

◆ setFeatureX()

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

Definition at line 244 of file TSimpleFeature.h.

◆ setFeatureXf()

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

Definition at line 255 of file TSimpleFeature.h.

◆ setFeatureY()

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

Definition at line 249 of file TSimpleFeature.h.

◆ setFeatureYf()

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

Definition at line 259 of file TSimpleFeature.h.

◆ setScale()

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

Definition at line 269 of file TSimpleFeature.h.

◆ setTrackStatus()

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

Definition at line 273 of file TSimpleFeature.h.

◆ size()

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

Definition at line 183 of file TSimpleFeature.h.

Member Data Documentation

◆ m_feats

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

The actual container with the list of features.

Definition at line 283 of file TSimpleFeature.h.

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

◆ m_first_index_per_row

template<typename FEATURE>
std::vector<size_t> mrpt::vision::TSimpleFeatureList_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 286 of file TSimpleFeature.h.

Referenced by mrpt::vision::TSimpleFeatureList_templ< TSimpleFeature >::clear(), and mrpt::vision::TSimpleFeatureList_templ< TSimpleFeature >::getFirstIndexPerRowLUT().

◆ m_occupied_sections

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



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020