CVB++ 14.0
SearchParameters Class Referencefinal

Definition of search parameters. More...

#include <cvb/dnc/search_parameters.hpp>

Public Member Functions

 SearchParameters ()=default
 Default search parameters. More...
 
double HypothesesThreshold () const noexcept
 Get minimum feature score for hypotheses generation. More...
 
void SetHypothesesThreshold (double value)
 Set minimum feature score for hypotheses generation. More...
 
int DerivativePatchSize () const noexcept
 Get smoothing area in pixels for gradient and normal calculation. More...
 
void SetDerivativePatchSize (int value)
 Set smoothing area in pixels for gradient and normal calculation. More...
 
double IndifferentRadius () const noexcept
 Get fraction of template size which accounts for a single object. More...
 
void SetIndifferentRadius (double value)
 Set fraction of template size which accounts for a single object. More...
 
int PartsToFind () const noexcept
 Get the maximum number of objects to find. More...
 
void SetPartsToFind (int value)
 Set the maximum number of objects to find. More...
 
bool RawResultsOnly () const noexcept
 Get the raw results flag. More...
 
void SetRawResultsOnly (bool value) noexcept
 Set the raw results flag. More...
 
int ICPShrink () const noexcept
 Get the subsample factor for ICP. More...
 
void SetICPShrink (int value)
 Set the subsample factor for ICP. More...
 
int ICPMaxIterations () const noexcept
 Get the maximum number of iterations of the ICP algorithm. More...
 
void SetICPMaxIterations (int value)
 Set the maximum number of iterations of the ICP algorithm. More...
 
double PrecisionThreshold () const noexcept
 Get precision threshold. More...
 
void SetPrecisionThreshold (double value)
 Set precision threshold. More...
 
double MinCoverage () const noexcept
 Get minimum coverage. More...
 
void SetMinCoverage (double value)
 Set minimum coverage. More...
 
double MaxOcclusion () const noexcept
 Get maximum occlusion. More...
 
void SetMaxOcclusion (double value)
 Set maximum occlusion. More...
 
double MaxInconsistency () const noexcept
 Get maximum inconsistency. More...
 
void SetMaxInconsistency (double value)
 Set maximum inconsistency. More...
 
double MinScore () const noexcept
 Get minimum score. More...
 
void SetMinScore (double value)
 Set minimum score. More...
 

Detailed Description

Definition of search parameters.

Search parameters strongly influence the search results. Likewise, they have great influence on the timing of a search operation.

Examples
DNC/CppDncConsole.

Constructor & Destructor Documentation

◆ SearchParameters()

SearchParameters ( )
default

Default search parameters.

Exceptions
Doesnot throw any exception.

Member Function Documentation

◆ DerivativePatchSize()

int DerivativePatchSize ( ) const
inlinenoexcept

Get smoothing area in pixels for gradient and normal calculation.

Returns
The patch size.
Exceptions
Doesnot throw any exception.

The value should be odd. Typical values are in the range 3..9. The minimum value is 3.

◆ HypothesesThreshold()

double HypothesesThreshold ( ) const
inlinenoexcept

Get minimum feature score for hypotheses generation.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

The value controls which areas of the depth image are used as candidates for closer examination. Typical values are in the range between 0.9 ... 1.0. The minimum value is 0.5.

◆ ICPMaxIterations()

int ICPMaxIterations ( ) const
inlinenoexcept

Get the maximum number of iterations of the ICP algorithm.

Returns
The number of iterations.
Exceptions
Doesnot throw any exception.

Increasing the value may increase the accuracy of the result, while possibly increasing the processing time. A typical value is 10. The minimum value is 1.

◆ ICPShrink()

int ICPShrink ( ) const
inlinenoexcept

Get the subsample factor for ICP.

Returns
The subsample factor.
Exceptions
Doesnot throw any exception.

The minimum allowed value of 1 means no reduction(highest accuracy). With increasing reduction, the processing speed increases, but at the same time the accuracy of the results also decrease.Typical values are in a range 1..4. The minimum value is 1.

◆ IndifferentRadius()

double IndifferentRadius ( ) const
inlinenoexcept

Get fraction of template size which accounts for a single object.

Returns
The indifferent radius.
Exceptions
Doesnot throw any exception.

The minimum value is 0.5.

◆ MaxInconsistency()

double MaxInconsistency ( ) const
inlinenoexcept

Get maximum inconsistency.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

This value is a threshold (0..1) that specifies the maximum allowed part of the model view to be inconsistent with the point cloud data in order for the hit to be counted. Inconsistency is defined to be point cloud data which is beyond the model. A typical value may be 0.2. It is influenced by PrecisionThreshold.

◆ MaxOcclusion()

double MaxOcclusion ( ) const
inlinenoexcept

Get maximum occlusion.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

This value is a threshold (0..1) that specifies the maximum allowed part of the model view which is occluded by the point cloud data in order for the hit to be counted. Occlusion is defined to be point cloud data lying between the model and the sensor. A typical value may be 0.2. It is influenced by PrecisionThreshold.

◆ MinCoverage()

double MinCoverage ( ) const
inlinenoexcept

Get minimum coverage.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

This value is a threshold (0..1) that specifies the minimum required coverage of the model view by the point cloud data in order for the hit to be counted. A typical value may be 0.8. It is influenced by PrecisionThreshold.

◆ MinScore()

double MinScore ( ) const
inlinenoexcept

Get minimum score.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

This value is a threshold (0..1) that determines whether the candidate is counted as a hit. For this, a hash similarity score between final model view and point cloud data must exceed this limit. A typical value may be 0.8.

◆ PartsToFind()

int PartsToFind ( ) const
inlinenoexcept

Get the maximum number of objects to find.

Returns
The number of parts to find.
Exceptions
Doesnot throw any exception.

A value of zero means that all objects should be found.

◆ PrecisionThreshold()

double PrecisionThreshold ( ) const
inlinenoexcept

Get precision threshold.

Returns
The threshold.
Exceptions
Doesnot throw any exception.

This value determines which deviation is considered tolerable, inconsistent or occlusion. The value depends on the quality of the point cloud data. A typical value is 2 mm, the minimum allowed value is 0.

◆ RawResultsOnly()

bool RawResultsOnly ( ) const
inlinenoexcept

Get the raw results flag.

Returns
True if set on, false otherwise.
Exceptions
Doesnot throw any exception.

If this flag is set, candidate locations are considered as hits without further investigation of these candidates. In this case, only parameters HypothesesThreshold, PartsToFind and MinScore are decisive for finding objects.

◆ SetDerivativePatchSize()

void SetDerivativePatchSize ( int  value)
inline

Set smoothing area in pixels for gradient and normal calculation.

Parameters
[in]valueThe patch size.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetHypothesesThreshold()

void SetHypothesesThreshold ( double  value)
inline

Set minimum feature score for hypotheses generation.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetICPMaxIterations()

void SetICPMaxIterations ( int  value)
inline

Set the maximum number of iterations of the ICP algorithm.

Parameters
[in]valueThe number of iterations.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetICPShrink()

void SetICPShrink ( int  value)
inline

Set the subsample factor for ICP.

Parameters
[in]valueThe subsample factor.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetIndifferentRadius()

void SetIndifferentRadius ( double  value)
inline

Set fraction of template size which accounts for a single object.

Parameters
[in]valueThe indifferent radius.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetMaxInconsistency()

void SetMaxInconsistency ( double  value)
inline

Set maximum inconsistency.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetMaxOcclusion()

void SetMaxOcclusion ( double  value)
inline

Set maximum occlusion.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetMinCoverage()

void SetMinCoverage ( double  value)
inline

Set minimum coverage.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetMinScore()

void SetMinScore ( double  value)
inline

Set minimum score.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetPartsToFind()

void SetPartsToFind ( int  value)
inline

Set the maximum number of objects to find.

Parameters
[in]valueThe number of parts to find.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetPrecisionThreshold()

void SetPrecisionThreshold ( double  value)
inline

Set precision threshold.

Parameters
[in]valueThe threshold.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.

◆ SetRawResultsOnly()

void SetRawResultsOnly ( bool  value)
inlinenoexcept

Set the raw results flag.

Parameters
[in]valueTrue to set on, false otherwise.
Exceptions
Doesnot throw any exception.
Examples
DNC/CppDncConsole.