LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::fastCircleExtraction::parameters Class Reference

the parameters for the class fastCircleExtraction More...

#include <ltiFastCircleExtraction.h>

Inheritance diagram for lti::fastCircleExtraction::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::fastCircleExtraction::parameters:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 parameters ()
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)

Public Attributes

float maxQuantizationError
int segmentTolerance
int maxSegmentGap
int minLineLen
int minSegmLen
int maxLineGap
int maxArcGap
float maxLineTangentError
float maxArcTangentError
float maxExtArcMismatch
float minExtArcMatchRatio
bool oldExtArcCheck
int oldExtArcThreshold
float maxCenterMismatch
float minRadiusMatchRatio
float minCoverage

Detailed Description

the parameters for the class fastCircleExtraction


Constructor & Destructor Documentation

lti::fastCircleExtraction::parameters::parameters (  ) 

default constructor

Reimplemented from lti::featureExtractor::parameters.

lti::fastCircleExtraction::parameters::parameters ( const parameters other  ) 

copy constructor

Parameters:
other the parameters object to be copied

Reimplemented from lti::featureExtractor::parameters.

lti::fastCircleExtraction::parameters::~parameters (  )  [virtual]

destructor

Reimplemented from lti::featureExtractor::parameters.


Member Function Documentation

virtual functor::parameters* lti::fastCircleExtraction::parameters::clone (  )  const [virtual]

returns a pointer to a clone of the parameters

Reimplemented from lti::featureExtractor::parameters.

parameters& lti::fastCircleExtraction::parameters::copy ( const parameters other  ) 

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object

Reimplemented from lti::featureExtractor::parameters.

const char* lti::fastCircleExtraction::parameters::getTypeName (  )  const [virtual]

returns name of this type

Reimplemented from lti::featureExtractor::parameters.

parameters& lti::fastCircleExtraction::parameters::operator= ( const parameters other  ) 

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object
virtual bool lti::fastCircleExtraction::parameters::read ( ioHandler handler,
const bool  complete = true 
) [virtual]

read the parameters from the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.

virtual bool lti::fastCircleExtraction::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [virtual]

write the parameters in the given ioHandler

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.


Member Data Documentation

The maximum gap two arcs may have and still be considered arcs of the same extended arc.

This parameter changes the size of the searching window for arcs. Best results were obtained with large values, because every arc has to find at least one other to remain in the extraction process. (the gap between these arcs mostly lies between 10 and 40 pixels) A maxArcGap of 1 will only group contiguous arcs to an extended arc. possible values are

  maxArcGap >= 1 (pixel)
  

Higher maxArcGap values also allow extraction of non-contiguous arcs such as found in corrupted images. The default is 30

This parameter defines the maximum difference that the tangents of two arcs may have in relation to the tangents of the circle that these arcs represent.

In other words, this parameter affects the tolerance in terms of circle matching. Arc pairs which exceed this threshold won't be combined to an extended arc. Too large values result incorrect extended arcs and detection failures. reasonable values are

  8.5 <= maxArcTangentError <= 20
  

Small values cause stricter circle checks whereas large values allow more tolerance. Best compromise between accuracy and tolerance is a value between 10 and 15 (the default is 12)

This parameter defines the maximum gap between the estimated circle centers of two extended arcs.

ExtArc pairs which exceed this threshold won't be combined to a circle. Too large values cause detection failures. reasonable values are

  1 <= maxCenterMismatch <= 10
  

Small values cause stricter extArc matching checks whereas large values allow more tolerance. Best compromise between accuracy and tolerance is a value between 1.5 and 4 (the default is 2.5)

This parameter defines the maximum distance between the start and end points of one arc and the estimated circle contour of the other arc.

Arc pairs which exceed this threshold won't be combined to an extended arc. Too large values cause detection failures. reasonable values are

  1 <= maxExtArcMismatch <= 10
  

Small values cause stricter arc matching checks whereas large values allow more tolerance. Best compromise between accuracy and tolerance is a value between 1.5 and 4 (the default is 2.75)

The maximum gap two lines may have and still be considered lines of the same arc.

This parameter changes the size of the searching window for lines. Best results were obtained with small values, because large window sizes tend to combine adjacent parallel lines to one arc which causes detection failures. A maxLineGap of 1 will only group contiguous lines to an arc. possible values are

  maxLineGap >= 1 (pixel)
  

Higher maxLineGap values also allow extraction of non-contiguous arcs such as found in corrupted images. The default is 2

This parameter defines the maximum difference that the tangents of two lines may have in relation to the tangents of the arc that these lines represent.

In other words, this parameter affects the tolerance in terms of roundness of the countour. Line pairs which exceed this threshold won't be combined to an arc. Too large values result in incorrect arcs and detection failures. reasonable values are

  8.5 <= maxLineTangentError <= 20
  

Small values cause stricter circle checks whereas large values allow more tolerance. Best compromise between accuracy and tolerance is a value between 10 and 15 (the default is 15)

This threshold constant defines the maximum mismatch between the found line segments and the estimated analog line.

The segment is discarded if its starting/finishing pixel differs more than maxQuantizationError from the estimated analog line. If this value is greater than 1.0 the line detection will also extract lines that are not completely straight, which may be useful for estimation of lines. possible values are

  0.5 < maxQuantizationError
  

A high maxQuantizationError value will extract longer lines at the cost of precision. Low values result in better pixel matching but also in shorter lines. Best compromise between pixel matching and good detection is a value between 0.6 and 0.7 (the default is 0.79)

The maximum gap two line segments may have and still be considered segments of the same line.

This parameter changes the size of the searching window for line segments. Small sizes allow fast processing but may also cause detection failures (as well as too high values) A maxSegmentGap of 1 will only group contiguous segments to a line. possible values are

  maxSegmentGap >= 1 (pixel)
  

Higher maxSegmentGap values also allow extraction of non-contiguous lines such as found in corrupted images. The default is 1

This parameter defines the minimal coverage for estimated circles to get extracted.

That is the ratio of the estimated circumference and the number of extracted arc pixels. Circles which underrun this threshold won't get extracted. Too small values cause extraction of circles with randomly matching arcs. Also this threshold shouldn't be set to values greater than 0.7, since only well fitting parts of a circle are extracted. Therefore even a completely present circle may get only 70%% coverage. reasonable values are

  0.2 <= minCoverage <= 0.7
  

Best compromise between accuracy and tolerance is a value between 0.3 and 0.5 (the default is 0.3) Note: Very close and similar circles are sometimes merged to one circle which shows more than 100%% coverage.

This parameter defines the minimal ratio of the estimated circle radii of two arcs.

Arc pairs which under-run this threshold won't be combined to an extended arc. Too small values cause detection failures. reasonable values are

  0.5 <= minExtArcMatchRatio <= 0.95
  

Large values cause stricter arc matching checks whereas small values allow more tolerance. Best compromise between accuracy and tolerance is a value between 0.7 and 0.9 (the default is 0.8)

The minimum length a line must have to get extracted.

The parameter minLineLen is used as threshold, smaller lines will be ignored. possible values are

  minLineLen >= 3 (pixel)
  

Values greater than 3 will strongly decrease the number of extracted lines and therefore speed up the following extraction stages. For most circles the optimal value lies between 5 and 7. The default is 6

This parameter defines the minimal ratio of the estimated circle radii of two extended arcs.

ExtArc pairs which underrun this threshold won't be combined to a circle. Too small values cause detection failures. reasonable values are

  0.5 <= minRadiusMatchRatio <= 0.95
  

Large values cause stricter extArc matching checks whereas small values allow more tolerance. Best compromise between accuracy and tolerance is a value between 0.7 and 0.9 (the default is 0.75)

The minimum length a line segment must have to be detected.

The parameter minSegmLen is used as threshold, smaller segments will be ignored. Values greater than 2 strongly decrease the number of detected segments and the size of the segment lists. possible values are

  minSegmLen >= 2 (pixel)
  

Values greater than 2 result in smaller segment lists and therefore allow slightly faster line detection. But mostly good line detection is more important than a small speedup, so don't change this parameter unless there is a good reason to do so. The default is 2

This parameter is a toggle to switch between the old and the new extended arc checks.

In general the new checks should be better, but in some situations the old check obtain better results. The old check required only one threshold parameter: oldExtArcThreshold possible values are

  true or false
  

(the default is false)

This parameter defines an admeasurement in terms of circle arc matching.

Arc pairs which exceed this threshold won't be combined to an extended arc. Too large values cause detection failures. The threshold check gets stricter with larger radii because of comparing squared distances. This is the main difference between the old and new ExtArc check. reasonable values are

  50 <= oldExtArcThreshold <= 250
  

Small values cause stricter arc matching checks whereas large values allow more tolerance. Best compromise between accuracy and tolerance is a value between 80 and 120 (the default is 100)

This constant defines how much the value of two adjacent pixels may differ and still be considered pixels of the same segment.

A segmentTolerance of 0 will only group pixels of the same value to one segment. When analyzing binary maps such as edge-images a value of 0 should be used. possible values are

  0 <= segmentTolerance <= 254
  

Higher segmentTolerance values allow non-binary images to be analysed but may also result in wrong segment start/end detection. The default is 0


The documentation for this class was generated from the following file:

Generated on Sat Apr 10 15:27:17 2010 for LTI-Lib by Doxygen 1.6.1