CVB++ 14.0
MatchingParameters Class Referencefinal

A parameter set for matching and down sampling point clouds. More...

#include <cvb/match_3d/match_3d.hpp>

Public Member Functions

 MatchingParameters (std::size_t maxModelPoints, std::size_t maxScenePoints) noexcept
 Create a parameter set to control the matching algorithm. More...
 
 MatchingParameters (std::size_t maxModelPoints, std::size_t maxScenePoints, int maxIterations, double maxDistanceStdDev, double deltaThresholdRMS) noexcept
 Create a parameter set to control the matching algorithm. More...
 
std::size_t MaxModelPoints () const noexcept
 Gets maximum number of model points to use. More...
 
void SetMaxModelPoints (std::size_t maxModelPoints) noexcept
 Sets maximum number of model points to use. More...
 
std::size_t MaxScenePoints () const noexcept
 Gets maximum number of scene points to use. More...
 
void SetMaxScenePoints (std::size_t maxScenePoints) noexcept
 Sets maximum number of scene points to use. More...
 
int MaxIterations () const noexcept
 Gets maximum number of iterations to execute. More...
 
void SetMaxIterations (int maxIterations) noexcept
 Sets maximum number of iterations to execute. More...
 
double MaxDistanceStdDev () const noexcept
 Gets how far points are to be considered corresponding to a point. More...
 
void SetMaxDistanceStdDev (double maxDistanceStdDev) noexcept
 Sets how far points are to be considered corresponding to a point. More...
 
double DeltaThresholdRMS () const noexcept
 Gets the threshold for RMS to stop iteration. More...
 
void SetDeltaThresholdRMS (double deltaThresholdRMS) noexcept
 Sets the threshold for RMS to stop iteration. More...
 

Friends

MatchingResult MatchDownsampledPointClouds (const PointCloud &model, const PointCloud &scene, const MatchingParameters &parameters)
 This function matches two point clouds. More...
 

Detailed Description

A parameter set for matching and down sampling point clouds.

Constructor & Destructor Documentation

◆ MatchingParameters() [1/2]

MatchingParameters ( std::size_t  maxModelPoints,
std::size_t  maxScenePoints 
)
inlinenoexcept

Create a parameter set to control the matching algorithm.

Parameters
[in]maxModelPointsMaximum number of model points to use.
[in]maxScenePointsMaximum number of scene points to use.
Exceptions
Doesnot throw any exception.

◆ MatchingParameters() [2/2]

MatchingParameters ( std::size_t  maxModelPoints,
std::size_t  maxScenePoints,
int  maxIterations,
double  maxDistanceStdDev,
double  deltaThresholdRMS 
)
inlinenoexcept

Create a parameter set to control the matching algorithm.

Parameters
[in]maxModelPointsMaximum number of model points to use.
[in]maxScenePointsMaximum number of scene points to use.
[in]maxIterationsMaximum number of iterations to execute.
[in]maxDistanceStdDevDefines how far points are to be considered corresponding to a point.
[in]deltaThresholdRMSThreshold for RMS to stop iteration.
Exceptions
Doesnot throw any exception.

Member Function Documentation

◆ DeltaThresholdRMS()

double DeltaThresholdRMS ( ) const
inlinenoexcept

Gets the threshold for RMS to stop iteration.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

◆ MaxDistanceStdDev()

double MaxDistanceStdDev ( ) const
inlinenoexcept

Gets how far points are to be considered corresponding to a point.

Returns
double The maximum distance.
Exceptions
Doesnot throw any exception.

◆ MaxIterations()

int MaxIterations ( ) const
inlinenoexcept

Gets maximum number of iterations to execute.

Returns
Number of iterations.
Exceptions
Doesnot throw any exception.

◆ MaxModelPoints()

std::size_t MaxModelPoints ( ) const
inlinenoexcept

Gets maximum number of model points to use.

Returns
The maximum number of points.
Exceptions
Doesnot throw any exception.

◆ MaxScenePoints()

std::size_t MaxScenePoints ( ) const
inlinenoexcept

Gets maximum number of scene points to use.

Returns
The maximum number of points.
Exceptions
Doesnot throw any exception.

◆ SetDeltaThresholdRMS()

void SetDeltaThresholdRMS ( double  deltaThresholdRMS)
inlinenoexcept

Sets the threshold for RMS to stop iteration.

Parameters
[in]deltaThresholdRMSThe threshold.
Exceptions
Doesnot throw any exception.

◆ SetMaxDistanceStdDev()

void SetMaxDistanceStdDev ( double  maxDistanceStdDev)
inlinenoexcept

Sets how far points are to be considered corresponding to a point.

Parameters
[in]maxDistanceStdDevThe maximum distance.
Exceptions
Doesnot throw any exception.

◆ SetMaxIterations()

void SetMaxIterations ( int  maxIterations)
inlinenoexcept

Sets maximum number of iterations to execute.

Parameters
[in]maxIterationsNumber of iterations.
Exceptions
Doesnot throw any exception.

◆ SetMaxModelPoints()

void SetMaxModelPoints ( std::size_t  maxModelPoints)
inlinenoexcept

Sets maximum number of model points to use.

Parameters
[in]maxModelPointsThe maximum number of points.
Exceptions
Doesnot throw any exception.

◆ SetMaxScenePoints()

void SetMaxScenePoints ( std::size_t  maxScenePoints)
inlinenoexcept

Sets maximum number of scene points to use.

Parameters
[in]maxScenePointsThe maximum number of points.
Exceptions
Doesnot throw any exception.

Friends And Related Function Documentation

◆ MatchDownsampledPointClouds

MatchingResult MatchDownsampledPointClouds ( const PointCloud model,
const PointCloud scene,
const MatchingParameters parameters 
)
friend

This function matches two point clouds.

Parameters
[in]modelFirst point cloud.
[in]sceneSecond point cloud to be matched to model.
[in]parametersParameters that control the algorithm.
Returns
Object containing all results.
Exceptions
Anyexception derived from std::exception including CvbException.

This function matches two point clouds by the iterative closest point algorithm (ICP), see: The algorithm follows Arun KS, Huang TS, Blostein SD(1987) Least-squares fitting of two 3D point sets. IEEE Transactions on Pattern Analysis and Machine Intelligence 9:698-700.