Classes | Public Types | Public Member Functions | List of all members
ialgo::TIHoughSpace< Dimensions, Element > Class Template Referenceabstract

Template interface for Hough space. More...

#include <TIHoughSpace.h>

Inheritance diagram for ialgo::TIHoughSpace< Dimensions, Element >:
iser::ISerializable istd::IChangeable istd::IPolymorphic ialgo::TGeneralHoughSpace< Dimensions, Element >

Classes

class  ResultsConsumer
 

Public Types

enum  ExtensionMode { EM_UNKNOWN, EM_ZERO, EM_BORDER }
 Describe how the space is extended, it means how the area outside of space should be interpreted. More...
 

Public Member Functions

virtual istd::TIndex< Dimensions > GetSpaceSize () const =0
 Get size of this Hough space. More...
 
virtual bool CreateHoughSpace (const istd::TIndex< Dimensions > &size, const Element &initValue=0)=0
 Create Hough space with specified size. More...
 
virtual bool IsDimensionWrapped (int dimensionIndex) const =0
 Check if this space is wrapped horizontaly, it means the the left pixel is neighbour of the right one. More...
 
virtual ExtensionMode GetExtensionMode (int dimensionIndex) const =0
 Get extension mode for single dimension. More...
 
virtual void IncreaseValueAt (const imath::TVector< Dimensions > &position, Element value)=0
 Increase the value at specified position. More...
 
virtual void SmoothHoughSpace (const istd::TIndex< Dimensions > &iterations)=0
 Smooth this space with specified stronness. More...
 
virtual bool AnalyseHoughSpace (const Element &minValue, ResultsConsumer &resultProcessor) const =0
 Analyse this Hough space to find set of local maximums. More...
 
virtual bool ExtractToBitmap (iimg::IBitmap &bitmap) const =0
 Extract this Hough space to some gray scale bitmap. More...
 
virtual bool GetSpacePosition (const imath::TVector< Dimensions > &position, imath::TVector< Dimensions > &result) const =0
 Get position in space for some input. More...
 
virtual double GetSpaceDistance (const imath::TVector< Dimensions > &position1, const imath::TVector< Dimensions > &position2) const =0
 Get distance between two hough space positions considering the space wrapping. More...
 
virtual double GetSpaceDistance2 (const imath::TVector< Dimensions > &position1, const imath::TVector< Dimensions > &position2) const =0
 Get square of distance between two hough space positions considering the space wrapping. More...
 

Detailed Description

template<int Dimensions, class Element = double>
class ialgo::TIHoughSpace< Dimensions, Element >

Template interface for Hough space.

Definition at line 21 of file TIHoughSpace.h.

Member Enumeration Documentation

template<int Dimensions, class Element = double>
enum ialgo::TIHoughSpace::ExtensionMode

Describe how the space is extended, it means how the area outside of space should be interpreted.

Enumerator
EM_UNKNOWN 

Space extension mode is unknown.

EM_ZERO 

Space is calculated as it is extended with zeroes.

EM_BORDER 

Space is calculated as it is extended with the same values as border value.

Definition at line 65 of file TIHoughSpace.h.

Member Function Documentation

template<int Dimensions, class Element = double>
virtual bool ialgo::TIHoughSpace< Dimensions, Element >::AnalyseHoughSpace ( const Element &  minValue,
ResultsConsumer resultProcessor 
) const
pure virtual

Analyse this Hough space to find set of local maximums.

Parameters
minValueminimal value of hough at point.
resultProcessorwill be called for each maximum.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >, and ialgo::CHoughSpace2d.

template<int Dimensions, class Element = double>
virtual bool ialgo::TIHoughSpace< Dimensions, Element >::CreateHoughSpace ( const istd::TIndex< Dimensions > &  size,
const Element &  initValue = 0 
)
pure virtual

Create Hough space with specified size.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.

template<int Dimensions, class Element = double>
virtual bool ialgo::TIHoughSpace< Dimensions, Element >::ExtractToBitmap ( iimg::IBitmap bitmap) const
pure virtual

Extract this Hough space to some gray scale bitmap.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >, and ialgo::CHoughSpace2d.

template<int Dimensions, class Element = double>
virtual ExtensionMode ialgo::TIHoughSpace< Dimensions, Element >::GetExtensionMode ( int  dimensionIndex) const
pure virtual

Get extension mode for single dimension.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >, and ialgo::CHoughSpace2d.

template<int Dimensions, class Element = double>
virtual double ialgo::TIHoughSpace< Dimensions, Element >::GetSpaceDistance ( const imath::TVector< Dimensions > &  position1,
const imath::TVector< Dimensions > &  position2 
) const
pure virtual

Get distance between two hough space positions considering the space wrapping.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.

template<int Dimensions, class Element = double>
virtual double ialgo::TIHoughSpace< Dimensions, Element >::GetSpaceDistance2 ( const imath::TVector< Dimensions > &  position1,
const imath::TVector< Dimensions > &  position2 
) const
pure virtual

Get square of distance between two hough space positions considering the space wrapping.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.

Referenced by ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::OnProcessingEnd().

template<int Dimensions, class Element = double>
virtual bool ialgo::TIHoughSpace< Dimensions, Element >::GetSpacePosition ( const imath::TVector< Dimensions > &  position,
imath::TVector< Dimensions > &  result 
) const
pure virtual

Get position in space for some input.

It consides the wrapping of space.

Returns
true, if this position is representable in the space.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.

template<int Dimensions, class Element = double>
virtual istd::TIndex<Dimensions> ialgo::TIHoughSpace< Dimensions, Element >::GetSpaceSize ( ) const
pure virtual

Get size of this Hough space.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >, and ialgo::CHoughSpace2d.

template<int Dimensions, class Element = double>
virtual void ialgo::TIHoughSpace< Dimensions, Element >::IncreaseValueAt ( const imath::TVector< Dimensions > &  position,
Element  value 
)
pure virtual

Increase the value at specified position.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.

template<int Dimensions, class Element = double>
virtual bool ialgo::TIHoughSpace< Dimensions, Element >::IsDimensionWrapped ( int  dimensionIndex) const
pure virtual

Check if this space is wrapped horizontaly, it means the the left pixel is neighbour of the right one.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >, and ialgo::CHoughSpace2d.

template<int Dimensions, class Element = double>
virtual void ialgo::TIHoughSpace< Dimensions, Element >::SmoothHoughSpace ( const istd::TIndex< Dimensions > &  iterations)
pure virtual

Smooth this space with specified stronness.

Implemented in ialgo::TGeneralHoughSpace< Dimensions, Element >.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy