#include <PointMatcher.h>
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 DataPoints & | getPrefilteredInternalMap () 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... | |
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/ethz-asl/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/ethz-asl/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 DataPoints & | getReadingFiltered () 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 | |
template<typename R > | |
const std::string & | createModuleFromRegistrar (const std::string ®Name, const YAML::Node &doc, const R ®istrar, 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 ®Name, const YAML::Node &doc, const R ®istrar, std::vector< std::shared_ptr< typename R::TargetType > > &modules) |
Instantiate modules if their names are in the YAML file. More... | |
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< ErrorMinimizer > | errorMinimizer |
error minimizer More... | |
std::shared_ptr< Inspector > | inspector |
inspector More... | |
std::shared_ptr< Matcher > | matcher |
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 ®Name, const PointMatcherSupport::YAML::Node &doc, const R ®istrar, 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 ®Name, const PointMatcherSupport::YAML::Node &doc, const R ®istrar, 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 (PointMatcherSupport::YAML::Node &doc) |
Hook to load addition subclass-specific content from the YAML file. More... | |
std::string | nodeVal (const std::string ®Name, const PointMatcherSupport::YAML::Node &doc) |
Get the value of a field in a node. More... | |
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 730 of file PointMatcher.h.
void PointMatcher< T >::ICPSequence::clearMap |
Clear the map (reset to same state as after the object is created)
Definition at line 512 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::compute | ( | const DataPoints & | cloudIn, |
const TransformationParameters & | initialTransformationParameters | ||
) |
Apply ICP to cloud cloudIn, with initial guess.
Definition at line 595 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
const PointMatcher< T >::DataPoints & PointMatcher< T >::ICPSequence::getPrefilteredInternalMap |
Return the map, in internal coordinates (fast)
Definition at line 564 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
const PointMatcher< T >::DataPoints PointMatcher< T >::ICPSequence::getPrefilteredMap |
Return the map, in global coordinates (slow)
Definition at line 543 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
bool PointMatcher< T >::ICPSequence::hasMap |
Return whether the object currently holds a valid map.
Definition at line 457 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
|
virtual |
Construct an ICP algorithm from a YAML file.
Reimplemented from PointMatcher< T >::ICPChainBase.
Definition at line 531 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::operator() | ( | const DataPoints & | cloudIn | ) |
Apply ICP to cloud cloudIn, with identity as initial guess.
Definition at line 577 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
PointMatcher< T >::TransformationParameters PointMatcher< T >::ICPSequence::operator() | ( | const DataPoints & | cloudIn, |
const TransformationParameters & | initialTransformationParameters | ||
) |
Apply ICP to cloud cloudIn, with initial guess.
Definition at line 587 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
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/ethz-asl/libpointmatcher/issues/209." | ) | const & |
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/ethz-asl/libpointmatcher/issues/209" | ) | const |
|
virtual |
Construct an ICP algorithm that works in most of the cases.
Reimplemented from PointMatcher< T >::ICPChainBase.
Definition at line 520 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
bool PointMatcher< T >::ICPSequence::setMap | ( | const DataPoints & | map | ) |
Set the map using inputCloud.
Definition at line 464 of file 3rdparty/libpointmatcher/pointmatcher/ICP.cpp.
|
protected |
point cloud of the map, always in global frame (frame of first point cloud)
Definition at line 762 of file PointMatcher.h.
|
protected |
offset for centered map
Definition at line 763 of file PointMatcher.h.