Public Member Functions | Protected Attributes | List of all members
PointMatcher< T >::ICPSequence Struct Reference

#include <PointMatcher.h>

Inheritance diagram for PointMatcher< T >::ICPSequence:
Inheritance graph
[legend]

Public Member Functions

void clearMap ()
 Clear the map (reset to same state as after the object is created) More...
 
TransformationParameters compute (const DataPoints &cloudIn, const TransformationParameters &initialTransformationParameters)
 Apply ICP to cloud cloudIn, with initial guess. More...
 
const DataPointsgetPrefilteredInternalMap () const
 Return the map, in internal coordinates (fast) More...
 
const DataPoints getPrefilteredMap () const
 Return the map, in global coordinates (slow) More...
 
bool hasMap () const
 Return whether the object currently holds a valid map. More...
 
virtual void loadFromYaml (std::istream &in)
 Construct an ICP algorithm from a YAML file. More...
 
virtual void loadFromYamlNode (const YAML::Node &doc)
 Construct an ICP algorithm from a YAML file. More...
 
TransformationParameters operator() (const DataPoints &cloudIn)
 Apply ICP to cloud cloudIn, with identity as initial guess. More...
 
TransformationParameters operator() (const DataPoints &cloudIn, const TransformationParameters &initialTransformationParameters)
 Apply ICP to cloud cloudIn, with initial guess. More...
 
 PM_DEPRECATED ("Use getPrefilteredInternalMap instead. " "Function now always returns map with filter chain applied. " "This may have altered your program behavior." "Reasons for this stated here and in associated PR: " "https://github.com/norlab-ulaval/libpointmatcher/issues/209.") const DataPoints &getInternalMap() const
 
 PM_DEPRECATED ("Use getPrefilteredMap instead. " "Function now always returns map with filter chain applied. " "This may have altered your program behavior." "Reasons for this stated here and in associated PR: " "https://github.com/norlab-ulaval/libpointmatcher/issues/209") const DataPoints getMap() const
 
virtual void setDefault ()
 Construct an ICP algorithm that works in most of the cases. More...
 
bool setMap (const DataPoints &map)
 Set the map using inputCloud. More...
 
- Public Member Functions inherited from PointMatcher< T >::ICP
TransformationParameters compute (const DataPoints &readingIn, const DataPoints &referenceIn, const TransformationParameters &initialTransformationParameters)
 Perform ICP from initial guess and return optimised transformation matrix. More...
 
const DataPointsgetReadingFiltered () const
 Return the filtered point cloud reading used in the ICP chain. More...
 
TransformationParameters operator() (const DataPoints &readingIn, const DataPoints &referenceIn)
 Perform ICP and return optimised transformation matrix. More...
 
TransformationParameters operator() (const DataPoints &readingIn, const DataPoints &referenceIn, const TransformationParameters &initialTransformationParameters)
 Perform ICP from initial guess and return optimised transformation matrix. More...
 
- Public Member Functions inherited from PointMatcher< T >::ICPChainBase
bool getMaxNumIterationsReached () const
 Return the flag that informs if we reached the maximum number of iterations during the last iterative process. More...
 
unsigned getPrefilteredReadingPtsCount () const
 Return the remaining number of points in reading after prefiltering but before the iterative process. More...
 
unsigned getPrefilteredReferencePtsCount () const
 Return the remaining number of points in the reference after prefiltering but before the iterative process. More...
 
virtual ~ICPChainBase ()
 virtual desctructor More...
 

Protected Attributes

DataPoints mapPointCloud
 point cloud of the map, always in global frame (frame of first point cloud) More...
 
TransformationParameters T_refIn_refMean
 offset for centered map More...
 
- Protected Attributes inherited from PointMatcher< T >::ICP
DataPoints readingFiltered
 reading point cloud after the filters were applied More...
 
- Protected Attributes inherited from PointMatcher< T >::ICPChainBase
bool maxNumIterationsReached
 store if we reached the maximum number of iterations last time compute was called More...
 
unsigned prefilteredReadingPtsCount
 remaining number of points after prefiltering but before the iterative process More...
 
unsigned prefilteredReferencePtsCount
 remaining number of points after prefiltering but before the iterative process More...
 

Additional Inherited Members

- Public Attributes inherited from PointMatcher< T >::ICPChainBase
std::shared_ptr< ErrorMinimizererrorMinimizer
 error minimizer More...
 
std::shared_ptr< Inspectorinspector
 inspector More...
 
std::shared_ptr< Matchermatcher
 matcher More...
 
OutlierFilters outlierFilters
 outlier filters More...
 
DataPointsFilters readingDataPointsFilters
 filters for reading, applied once More...
 
DataPointsFilters readingStepDataPointsFilters
 filters for reading, applied at each step More...
 
DataPointsFilters referenceDataPointsFilters
 filters for reference More...
 
TransformationCheckers transformationCheckers
 transformation checkers More...
 
Transformations transformations
 transformations More...
 
- Protected Member Functions inherited from PointMatcher< T >::ICP
TransformationParameters computeWithTransformedReference (const DataPoints &readingIn, const DataPoints &reference, const TransformationParameters &T_refIn_refMean, const TransformationParameters &initialTransformationParameters)
 Perferm ICP using an already-transformed reference and with an already-initialized matcher. More...
 
- Protected Member Functions inherited from PointMatcher< T >::ICPChainBase
void cleanup ()
 Clean chain up, empty all filters and delete associated objects. More...
 
template<typename R >
const std::string & createModuleFromRegistrar (const std::string &regName, const YAML::Node &doc, const R &registrar, std::shared_ptr< typename R::TargetType > &module)
 Instantiate a module if its name is in the YAML file. More...
 
template<typename R >
const std::string & createModulesFromRegistrar (const std::string &regName, const YAML::Node &doc, const R &registrar, std::vector< std::shared_ptr< typename R::TargetType > > &modules)
 Instantiate modules if their names are in the YAML file. More...
 
 ICPChainBase ()
 Protected contstructor, to prevent the creation of this object. More...
 
virtual void loadAdditionalYAMLContent (YAML::Node &doc)
 Hook to load addition subclass-specific content from the YAML file. More...
 
std::string nodeVal (const std::string &regName, const YAML::Node &doc)
 Get the value of a field in a node. More...
 

Detailed Description

template<typename T>
struct PointMatcher< T >::ICPSequence

ICP alogrithm, taking a sequence of clouds and using a map Warning: used with caution, you need to set the map manually.

Definition at line 735 of file PointMatcher.h.

Member Function Documentation

◆ clearMap()

template<typename T >
void PointMatcher< T >::ICPSequence::clearMap

Clear the map (reset to same state as after the object is created)

Definition at line 521 of file ICP.cpp.

◆ compute()

template<typename T >
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::compute ( const DataPoints cloudIn,
const TransformationParameters initialTransformationParameters 
)

Apply ICP to cloud cloudIn, with initial guess.

Definition at line 610 of file ICP.cpp.

◆ getPrefilteredInternalMap()

template<typename T >
const PointMatcher< T >::DataPoints & PointMatcher< T >::ICPSequence::getPrefilteredInternalMap

Return the map, in internal coordinates (fast)

Definition at line 579 of file ICP.cpp.

◆ getPrefilteredMap()

template<typename T >
const PointMatcher< T >::DataPoints PointMatcher< T >::ICPSequence::getPrefilteredMap

Return the map, in global coordinates (slow)

Definition at line 558 of file ICP.cpp.

◆ hasMap()

template<typename T >
bool PointMatcher< T >::ICPSequence::hasMap

Return whether the object currently holds a valid map.

Definition at line 466 of file ICP.cpp.

◆ loadFromYaml()

template<typename T >
void PointMatcher< T >::ICPSequence::loadFromYaml ( std::istream &  in)
virtual

Construct an ICP algorithm from a YAML file.

Reimplemented from PointMatcher< T >::ICPChainBase.

Definition at line 546 of file ICP.cpp.

◆ loadFromYamlNode()

template<typename T >
void PointMatcher< T >::ICPSequence::loadFromYamlNode ( const YAML::Node &  doc)
virtual

Construct an ICP algorithm from a YAML file.

Reimplemented from PointMatcher< T >::ICPChainBase.

Definition at line 540 of file ICP.cpp.

◆ operator()() [1/2]

template<typename T >
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::operator() ( const DataPoints cloudIn)

Apply ICP to cloud cloudIn, with identity as initial guess.

Definition at line 592 of file ICP.cpp.

◆ operator()() [2/2]

template<typename T >
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::operator() ( const DataPoints cloudIn,
const TransformationParameters initialTransformationParameters 
)

Apply ICP to cloud cloudIn, with initial guess.

Definition at line 602 of file ICP.cpp.

◆ PM_DEPRECATED() [1/2]

template<typename T >
PointMatcher< T >::ICPSequence::PM_DEPRECATED ( "Use getPrefilteredInternalMap instead. " "Function now always returns map with filter chain applied. " "This may have altered your program behavior." "Reasons for this stated here and in associated PR: " "https://github.com/norlab-ulaval/libpointmatcher/issues/209."  ) const &

◆ PM_DEPRECATED() [2/2]

template<typename T >
PointMatcher< T >::ICPSequence::PM_DEPRECATED ( "Use getPrefilteredMap instead. " "Function now always returns map with filter chain applied. " "This may have altered your program behavior." "Reasons for this stated here and in associated PR: " "https://github.com/norlab-ulaval/libpointmatcher/issues/209"  ) const

◆ setDefault()

template<typename T >
void PointMatcher< T >::ICPSequence::setDefault
virtual

Construct an ICP algorithm that works in most of the cases.

Reimplemented from PointMatcher< T >::ICPChainBase.

Definition at line 529 of file ICP.cpp.

◆ setMap()

template<typename T >
bool PointMatcher< T >::ICPSequence::setMap ( const DataPoints map)

Set the map using inputCloud.

Definition at line 473 of file ICP.cpp.

Member Data Documentation

◆ mapPointCloud

template<typename T >
DataPoints PointMatcher< T >::ICPSequence::mapPointCloud
protected

point cloud of the map, always in global frame (frame of first point cloud)

Definition at line 768 of file PointMatcher.h.

◆ T_refIn_refMean

template<typename T >
TransformationParameters PointMatcher< T >::ICPSequence::T_refIn_refMean
protected

offset for centered map

Definition at line 769 of file PointMatcher.h.


The documentation for this struct was generated from the following files:


libpointmatcher
Author(s):
autogenerated on Mon Sep 16 2024 02:24:11