MRPT  2.0.0
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
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 32 of file COccupancyGridMapFeatureExtractor.h.

#include <mrpt/slam/COccupancyGridMapFeatureExtractor.h>

Inheritance diagram for mrpt::slam::COccupancyGridMapFeatureExtractor:

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) override
 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

Definition at line 69 of file COccupancyGridMapFeatureExtractor.h.

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 80 of file COccupancyGridMapFeatureExtractor.cpp.

Referenced by mrpt::apps::CGridMapAlignerApp::run().

Here is the caller graph for this function:

◆ 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.

References mrpt::system::CObservable::internal_observer_begin().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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)
overrideprotectedvirtual

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

Implements mrpt::system::CObserver.

Definition at line 116 of file COccupancyGridMapFeatureExtractor.cpp.

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

Here is the call graph for this function:

◆ 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::CFeatureExtraction::computeDescriptors(), mrpt::vision::descAny, mrpt::vision::CFeatureExtraction::detectFeatures(), 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_data< T >::x, mrpt::math::TPoint3D_data< T >::y, and mrpt::math::TPoint3D_data< T >::z.

Here is the call graph for this function:

Member Data Documentation

◆ m_cache

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

A cache of already computed maps.

Definition at line 71 of file COccupancyGridMapFeatureExtractor.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020