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

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

#include <PointMatcher.h>

Inheritance diagram for PointMatcher< T >::ICPSequence:
PointMatcher< T >::ICP PointMatcher< T >::ICPChainBase

Public Member Functions

TransformationParameters operator() (const DataPoints &cloudIn)
 Apply ICP to cloud cloudIn, with identity as initial guess.
 
TransformationParameters operator() (const DataPoints &cloudIn, const TransformationParameters &initialTransformationParameters)
 Apply ICP to cloud cloudIn, with initial guess.
 
TransformationParameters compute (const DataPoints &cloudIn, const TransformationParameters &initialTransformationParameters)
 Apply ICP to cloud cloudIn, with initial guess.
 
bool hasMap () const
 Return whether the object currently holds a valid map.
 
bool setMap (const DataPoints &map)
 Set the map using inputCloud.
 
void clearMap ()
 Clear the map (reset to same state as after the object is created)
 
 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/ethz-asl/libpointmatcher/issues/209.") const DataPoints &getInternalMap() const
 
const DataPointsgetPrefilteredInternalMap () const
 Return the map, in internal coordinates (fast)
 
 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/ethz-asl/libpointmatcher/issues/209") const DataPoints getMap() const
 
const DataPoints getPrefilteredMap () const
 Return the map, in global coordinates (slow)
 
- Public Member Functions inherited from PointMatcher< T >::ICP
TransformationParameters operator() (const DataPoints &readingIn, const DataPoints &referenceIn)
 Perform ICP and return optimised transformation matrix.
 
TransformationParameters operator() (const DataPoints &readingIn, const DataPoints &referenceIn, const TransformationParameters &initialTransformationParameters)
 Perform ICP from initial guess and return optimised transformation matrix.
 
TransformationParameters compute (const DataPoints &readingIn, const DataPoints &referenceIn, const TransformationParameters &initialTransformationParameters)
 Perform ICP from initial guess and return optimised transformation matrix.
 
const DataPointsgetReadingFiltered () const
 Return the filtered point cloud reading used in the ICP chain.
 
- Public Member Functions inherited from PointMatcher< T >::ICPChainBase
virtual ~ICPChainBase ()
 virtual desctructor
 
virtual void setDefault ()
 Construct an ICP algorithm that works in most of the cases.
 
void loadFromYaml (std::istream &in)
 Construct an ICP algorithm from a YAML file.
 
unsigned getPrefilteredReadingPtsCount () const
 Return the remaining number of points in reading after prefiltering but before the iterative process.
 
unsigned getPrefilteredReferencePtsCount () const
 Return the remaining number of points in the reference after prefiltering but before the iterative process.
 
bool getMaxNumIterationsReached () const
 Return the flag that informs if we reached the maximum number of iterations during the last iterative process.
 
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.
 
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.
 

Protected Attributes

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

Additional Inherited Members

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

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.


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