libpointmatcher
1.3.1
|
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>
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 DataPoints & | getPrefilteredInternalMap () 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 DataPoints & | getReadingFiltered () 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 ®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. | |
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. | |
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< Matcher > | matcher |
matcher | |
OutlierFilters | outlierFilters |
outlier filters | |
std::shared_ptr< ErrorMinimizer > | errorMinimizer |
error minimizer | |
TransformationCheckers | transformationCheckers |
transformation checkers | |
std::shared_ptr< Inspector > | inspector |
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 ®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. | |
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. | |
std::string | nodeVal (const std::string ®Name, const PointMatcherSupport::YAML::Node &doc) |
Get the value of a field in a node. | |
ICP alogrithm, taking a sequence of clouds and using a map Warning: used with caution, you need to set the map manually.