Public Types | Public Member Functions | List of all members
ialgo::CHoughSpace2d Class Reference

Hough space used for 2d Hough transformations. More...

#include <CHoughSpace2d.h>

Inheritance diagram for ialgo::CHoughSpace2d:
iimg::CGeneralBitmap ialgo::TIHoughSpace< 2 > iimg::CBitmapBase iser::ISerializable i2d::CObject2dBase iimg::IBitmap istd::IChangeable i2d::IObject2d iimg::IRasterImage istd::IPolymorphic iser::IObject i2d::ICalibrationProvider i2d::IObject2d iser::ISerializable istd::IChangeable iser::IObject i2d::ICalibrationProvider istd::IChangeable istd::IPolymorphic iser::ISerializable istd::IChangeable istd::IPolymorphic istd::IChangeable istd::IPolymorphic istd::IPolymorphic

Public Types

typedef iimg::CGeneralBitmap BaseClass
 
typedef
TSimpleSpaceResultConsumer< 2 > 
StdConsumer
 
- Public Types inherited from ialgo::TIHoughSpace< 2 >
enum  ExtensionMode
 Describe how the space is extended, it means how the area outside of space should be interpreted. More...
 

Public Member Functions

 CHoughSpace2d ()
 
 CHoughSpace2d (const istd::CIndex2d &size, bool isWrappedX=false, bool isWrappedY=false)
 
bool CreateHoughSpace (const istd::CIndex2d &size, bool isWrappedX, bool isWrappedY, bool isFloatSpace)
 
void SetDimensionWrapped (int dimensionIndex, bool state)
 Set if this space to be wrapped horizontaly or not. More...
 
template<typename Operation >
void ApplyOperation (Operation operation)
 Apply some operation to each element. More...
 
template<typename Operation >
void CombineWithSpace (const CHoughSpace2d &space, Operation operation)
 Combine this space with some other space. More...
 
virtual istd::TIndex< 2 > GetSpaceSize () const
 Get size of this Hough space. More...
 
virtual bool CreateHoughSpace (const istd::TIndex< 2 > &size, const double &initValue=0)
 
virtual bool IsDimensionWrapped (int dimensionIndex) const
 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
 Get extension mode for single dimension. More...
 
virtual void IncreaseValueAt (const imath::TVector< 2 > &position, double value)
 
virtual void SmoothHoughSpace (const istd::TIndex< 2 > &iterations)
 
virtual bool AnalyseHoughSpace (const double &minValue, ResultsConsumer &resultProcessor) const
 Analyse this Hough space to find set of local maximums. More...
 
virtual bool ExtractToBitmap (iimg::IBitmap &bitmap) const
 Extract this Hough space to some gray scale bitmap. More...
 
virtual bool GetSpacePosition (const imath::TVector< 2 > &position, imath::TVector< 2 > &result) const
 
virtual double GetSpaceDistance (const imath::TVector< 2 > &position1, const imath::TVector< 2 > &position2) const
 
virtual double GetSpaceDistance2 (const imath::TVector< 2 > &position1, const imath::TVector< 2 > &position2) const
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, int pixelBitsCount=0, int componentsCount=0)
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, void *dataPtr, bool releaseFlag, int linesDifference=0)
 
- Public Member Functions inherited from iimg::CGeneralBitmap
 CGeneralBitmap ()
 
 CGeneralBitmap (const CGeneralBitmap &bitmap)
 
virtual bool IsFormatSupported (PixelFormat pixelFormat) const
 
virtual PixelFormat GetPixelFormat () const
 
virtual int GetLinesDifference () const
 
virtual int GetPixelsDifference () const
 
virtual int GetPixelBitsCount () const
 
virtual const void * GetLinePtr (int positionY) const
 
virtual void * GetLinePtr (int positionY)
 
virtual void ResetImage ()
 
virtual void ClearImage ()
 
virtual istd::CIndex2d GetImageSize () const
 
virtual int GetComponentsCount () const
 
virtual int GetSupportedOperations () const
 
virtual bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 
virtual istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 
CGeneralBitmapoperator= (const CGeneralBitmap &bitmap)
 
bool operator== (const CGeneralBitmap &bitmap) const
 
bool operator!= (const CGeneralBitmap &bitmap) const
 
- Public Member Functions inherited from iimg::CBitmapBase
virtual icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const
 
- Public Member Functions inherited from i2d::CObject2dBase
virtual bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
 
virtual bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
 
virtual bool GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
 
virtual bool GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
 
virtual CVector2d GetCenter () const =0
 
virtual void MoveCenterTo (const CVector2d &position)=0
 
virtual CRectangle GetBoundingBox () const =0
 
virtual QByteArray GetFactoryId () const
 
virtual bool Serialize (IArchive &archive)=0
 
- Public Member Functions inherited from i2d::IObject2d
virtual void SetCalibration (const ICalibration2d *calibrationPtr, bool releaseFlag=false)=0
 
- Public Member Functions inherited from i2d::ICalibrationProvider
virtual const ICalibration2dGetCalibration () const =0
 
- Public Member Functions inherited from iimg::IBitmap
virtual bool CreateImageFromRegion (const iimg::IBitmap &sourceImage, const i2d::CRect &region)=0
 
virtual int GetLineBytesCount () const =0
 
virtual int GetComponentBitsCount (int componentIndex=0) const =0
 
virtual bool IsEmpty () const =0
 
virtual bool SetColorAt (const istd::CIndex2d &position, const icmm::CVarColor &color)=0
 
- Public Member Functions inherited from ialgo::TIHoughSpace< 2 >
virtual bool CreateHoughSpace (const istd::TIndex< Dimensions > &size, const double &initValue=0)=0
 Create Hough space with specified size. More...
 
virtual void IncreaseValueAt (const imath::TVector< Dimensions > &position, doublevalue)=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 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...
 

Additional Inherited Members

- Protected Member Functions inherited from iimg::CGeneralBitmap
virtual bool CreateBitmap (const istd::CIndex2d &size, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 
virtual bool CreateBitmap (const istd::CIndex2d &size, void *dataPtr, bool releaseFlag, int linesDifference, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 

Detailed Description

Hough space used for 2d Hough transformations.

Definition at line 27 of file CHoughSpace2d.h.

Member Typedef Documentation

Definition at line 32 of file CHoughSpace2d.h.

Definition at line 34 of file CHoughSpace2d.h.

Constructor & Destructor Documentation

ialgo::CHoughSpace2d::CHoughSpace2d ( )
ialgo::CHoughSpace2d::CHoughSpace2d ( const istd::CIndex2d size,
bool  isWrappedX = false,
bool  isWrappedY = false 
)

Member Function Documentation

virtual bool ialgo::CHoughSpace2d::AnalyseHoughSpace ( const double &  minValue,
ResultsConsumer &  resultProcessor 
) const
virtual

Analyse this Hough space to find set of local maximums.

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

Implements ialgo::TIHoughSpace< 2 >.

template<typename Operation >
void ialgo::CHoughSpace2d::ApplyOperation ( Operation  operation)

Apply some operation to each element.

Definition at line 117 of file CHoughSpace2d.h.

References iimg::CGeneralBitmap::GetImageSize(), iimg::CGeneralBitmap::GetLinePtr(), and iimg::CGeneralBitmap::GetPixelFormat().

template<typename Operation >
void ialgo::CHoughSpace2d::CombineWithSpace ( const CHoughSpace2d space,
Operation  operation 
)

Combine this space with some other space.

Definition at line 142 of file CHoughSpace2d.h.

References iimg::CGeneralBitmap::GetImageSize(), iimg::CGeneralBitmap::GetLinePtr(), and iimg::CGeneralBitmap::GetPixelFormat().

virtual bool ialgo::CHoughSpace2d::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
int  pixelBitsCount = 0,
int  componentsCount = 0 
)
virtual

Reimplemented from iimg::CGeneralBitmap.

virtual bool ialgo::CHoughSpace2d::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
void *  dataPtr,
bool  releaseFlag,
int  linesDifference = 0 
)
virtual

Reimplemented from iimg::CGeneralBitmap.

bool ialgo::CHoughSpace2d::CreateHoughSpace ( const istd::CIndex2d size,
bool  isWrappedX,
bool  isWrappedY,
bool  isFloatSpace 
)
virtual bool ialgo::CHoughSpace2d::CreateHoughSpace ( const istd::TIndex< 2 > &  size,
const double &  initValue = 0 
)
virtual
virtual bool ialgo::CHoughSpace2d::ExtractToBitmap ( iimg::IBitmap bitmap) const
virtual

Extract this Hough space to some gray scale bitmap.

Implements ialgo::TIHoughSpace< 2 >.

virtual ExtensionMode ialgo::CHoughSpace2d::GetExtensionMode ( int  dimensionIndex) const
virtual

Get extension mode for single dimension.

Implements ialgo::TIHoughSpace< 2 >.

double ialgo::CHoughSpace2d::GetSpaceDistance ( const imath::TVector< 2 > &  position1,
const imath::TVector< 2 > &  position2 
) const
inlinevirtual

Definition at line 89 of file CHoughSpace2d.h.

References GetSpaceDistance2().

double ialgo::CHoughSpace2d::GetSpaceDistance2 ( const imath::TVector< 2 > &  position1,
const imath::TVector< 2 > &  position2 
) const
inlinevirtual
virtual bool ialgo::CHoughSpace2d::GetSpacePosition ( const imath::TVector< 2 > &  position,
imath::TVector< 2 > &  result 
) const
virtual
virtual istd::TIndex<2> ialgo::CHoughSpace2d::GetSpaceSize ( ) const
virtual

Get size of this Hough space.

Implements ialgo::TIHoughSpace< 2 >.

virtual void ialgo::CHoughSpace2d::IncreaseValueAt ( const imath::TVector< 2 > &  position,
double  value 
)
virtual
virtual bool ialgo::CHoughSpace2d::IsDimensionWrapped ( int  dimensionIndex) const
virtual

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

Implements ialgo::TIHoughSpace< 2 >.

void ialgo::CHoughSpace2d::SetDimensionWrapped ( int  dimensionIndex,
bool  state 
)

Set if this space to be wrapped horizontaly or not.

Space is horizonally wrapped if the left pixel is neighbour of the right one.

virtual void ialgo::CHoughSpace2d::SmoothHoughSpace ( const istd::TIndex< 2 > &  iterations)
virtual

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy