MRPT  1.9.9
mrpt::slam::COccupancyGridMapFeatureExtractor Class Reference

Detailed Description

A class for detecting features from occupancy grid maps.

The main method is "COccupancyGridMapFeatureExtractor::extractFeatures()", which makes use of an advanced cache mechanism to avoid redoing work when applied several times on the same occupancy grid maps (unless they changed in the meanwhile).

For an uncached version (which is a static method that can be called without instantiating COccupancyGridMapFeatureExtractor) see COccupancyGridMapFeatureExtractor::uncached_extractFeatures()

Definition at line 33 of file COccupancyGridMapFeatureExtractor.h.

#include <mrpt/slam/COccupancyGridMapFeatureExtractor.h>

Inheritance diagram for mrpt::slam::COccupancyGridMapFeatureExtractor:
Inheritance graph

Public Member Functions

void extractFeatures (const mrpt::maps::COccupancyGridMap2D &grid, mrpt::maps::CLandmarksMap &outMap, const size_t number_of_features, const mrpt::vision::TDescriptorType descriptors, const mrpt::vision::CFeatureExtraction::TOptions &feat_options)
 Computes a set of distinctive landmarks from an occupancy grid, and store them (previous content is not erased!) into the given landmarks map. More...
 
void observeBegin (CObservable &obj)
 Starts the subscription of this observer to the given object. More...
 
void observeEnd (CObservable &obj)
 Ends the subscription of this observer to the given object (note that there is no need to call this method, since the destruction of the first of observer/observed will put an end to the process. More...
 

Static Public Member Functions

static void uncached_extractFeatures (const mrpt::maps::COccupancyGridMap2D &grid, mrpt::maps::CLandmarksMap &outMap, const size_t number_of_features, const mrpt::vision::TDescriptorType descriptors, const mrpt::vision::CFeatureExtraction::TOptions &feat_options)
 Computes a set of distinctive landmarks from an occupancy grid, and store them (previous content is not erased!) into the given landmarks map. More...
 

Protected Types

using TCache = std::map< const mrpt::maps::COccupancyGridMap2D *, mrpt::maps::CLandmarksMap::Ptr >
 

Protected Member Functions

void OnEvent (const mrpt::system::mrptEvent &e)
 This will receive the events from maps in order to purge the cache. More...
 

Protected Attributes

TCache m_cache
 A cache of already computed maps. More...
 

Member Typedef Documentation

◆ TCache

Member Function Documentation

◆ extractFeatures()

void COccupancyGridMapFeatureExtractor::extractFeatures ( const mrpt::maps::COccupancyGridMap2D grid,
mrpt::maps::CLandmarksMap outMap,
const size_t  number_of_features,
const mrpt::vision::TDescriptorType  descriptors,
const mrpt::vision::CFeatureExtraction::TOptions feat_options 
)

Computes a set of distinctive landmarks from an occupancy grid, and store them (previous content is not erased!) into the given landmarks map.

Landmarks type can be any declared in mrpt::vision::CFeatureExtraction::TOptions

Note
See the paper "..."
See also
uncached_extractFeatures

Definition at line 81 of file COccupancyGridMapFeatureExtractor.cpp.

◆ observeBegin()

void CObserver::observeBegin ( CObservable obj)
inherited

Starts the subscription of this observer to the given object.

See also
observeEnd

Definition at line 26 of file CObserver.cpp.

Referenced by CGraphSlamHandler< GRAPH_T >::initVisualization().

◆ observeEnd()

void CObserver::observeEnd ( CObservable obj)
inherited

Ends the subscription of this observer to the given object (note that there is no need to call this method, since the destruction of the first of observer/observed will put an end to the process.

See also
observeBegin

Definition at line 36 of file CObserver.cpp.

◆ OnEvent()

void COccupancyGridMapFeatureExtractor::OnEvent ( const mrpt::system::mrptEvent e)
protectedvirtual

This will receive the events from maps in order to purge the cache.

Implements mrpt::system::CObserver.

Definition at line 117 of file COccupancyGridMapFeatureExtractor.cpp.

References mrpt::system::mrptEvent::isOfType().

◆ uncached_extractFeatures()

void COccupancyGridMapFeatureExtractor::uncached_extractFeatures ( const mrpt::maps::COccupancyGridMap2D grid,
mrpt::maps::CLandmarksMap outMap,
const size_t  number_of_features,
const mrpt::vision::TDescriptorType  descriptors,
const mrpt::vision::CFeatureExtraction::TOptions feat_options 
)
static

Computes a set of distinctive landmarks from an occupancy grid, and store them (previous content is not erased!) into the given landmarks map.

Landmarks type can be any declared in mrpt::vision::CFeatureExtraction::TOptions

Note
See the paper "..."
See also
uncached_extractFeatures

Definition at line 21 of file COccupancyGridMapFeatureExtractor.cpp.

References mrpt::vision::CFeatureList::begin(), mrpt::vision::CFeatureExtraction::computeDescriptors(), mrpt::vision::descAny, mrpt::vision::CFeatureExtraction::detectFeatures(), mrpt::vision::CFeatureList::end(), mrpt::maps::CLandmark::features, mrpt::maps::COccupancyGridMap2D::getAsImageFiltered(), mrpt::maps::COccupancyGridMap2D::getResolution(), mrpt::maps::COccupancyGridMap2D::getXMin(), mrpt::maps::COccupancyGridMap2D::getYMin(), mrpt::maps::CLandmark::ID, mrpt::maps::CLandmarksMap::landmarks, MRPT_END_WITH_CLEAN_UP, MRPT_START, mrpt::vision::CFeatureExtraction::options, mrpt::vision::CFeatureExtraction::TOptions::patchSize, mrpt::maps::CLandmark::pose_cov_11, mrpt::maps::CLandmark::pose_cov_12, mrpt::maps::CLandmark::pose_cov_13, mrpt::maps::CLandmark::pose_cov_22, mrpt::maps::CLandmark::pose_cov_23, mrpt::maps::CLandmark::pose_cov_33, mrpt::maps::CLandmark::pose_mean, mrpt::maps::CLandmarksMap::TCustomSequenceLandmarks::push_back(), mrpt::maps::COccupancyGridMap2D::saveMetricMapRepresentationToFile(), mrpt::maps::CLandmark::seenTimesCount, mrpt::square(), mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.

Member Data Documentation

◆ m_cache

TCache mrpt::slam::COccupancyGridMapFeatureExtractor::m_cache
protected

A cache of already computed maps.

Definition at line 72 of file COccupancyGridMapFeatureExtractor.h.




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