ICF 3.0.5.47
Technical documentation of ICF Libraries
ialgo::TSimpleSpaceResultConsumer< Dimensions, Element > Class Template Reference

Consumer of results generated for some multidimensional space (typically Hough space). More...

#include <TSimpleSpaceResultConsumer.h>

Inheritance diagram for ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >:
Collaboration diagram for ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >:

Public Types

typedef imath::TVector< Dimensions > PosVector
 
typedef QMultiMap< double, PosVectorPosMap
 List of weights and positions.
 
- Public Types inherited from iimg::CBitmapBase
typedef i2d::CObject2dBase BaseClass
 
- Public Types inherited from i2d::IObject2d
enum  ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 }
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
- Public Types inherited from iimg::IBitmap
enum  PixelFormat {
  PF_UNKNOWN = 0 , PF_MONO , PF_GRAY , PF_RGB ,
  PF_RGBA , PF_RGB24 , PF_GRAY16 , PF_GRAY32 ,
  PF_FLOAT32 , PF_FLOAT64 , PF_XYZ32 , PF_XY32 ,
  PF_USER = 256
}
 Bitmap pixel format description. More...
 

Public Member Functions

 TSimpleSpaceResultConsumer (int maxPoints, int maxConsideredPoints, double minDistance, double minMaxRatio)
 Construct the result processor.
 
virtual QList< int > GetSupportedNeghboursCount () const
 Get list of number of neighbours supported by this consumer.
 
virtual void OnProcessingBegin (const TIHoughSpace< Dimensions, Element > &space, const Element &minValue)
 Called when processing is started.
 
virtual void OnProcessingEnd (const TIHoughSpace< Dimensions, Element > &space)
 Called when processing is finished.
 
virtual bool OnMaximumFound (const TIHoughSpace< Dimensions, Element > &space, const istd::TIndex< Dimensions > &position, const Element &value, const Element *neghboursPtr, int neghboursCount, Element &minValue)
 Will be called when some local maximum is reached.
 
- Public Member Functions inherited from iimg::CGeneralBitmap
 CGeneralBitmap ()
 
 CGeneralBitmap (const CGeneralBitmap &bitmap)
 
bool IsFormatSupported (PixelFormat pixelFormat) const override
 Get true if the pixel format is supported by the bitmap implementation.
 
PixelFormat GetPixelFormat () const override
 Get the bitmap's pixel format.
 
bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, int pixelBitsCount=0, int componentsCount=0) override
 Create bitmap with specified size and format.
 
bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, istd::COptMemory &&data, int linesDifference=0) override
 Create bitmap with specified size and format using external image data buffer.
 
int GetLinesDifference () const override
 Get address difference between next and previous line.
 
int GetPixelsDifference () const override
 Get address difference between next and previous pixel.
 
int GetPixelBitsCount () const override
 Get total number of bits per single pixel.
 
const void * GetLinePtr (int positionY) const override
 Get pointer to buffer for single line.
 
void * GetLinePtr (int positionY) override
 Get pointer to buffer for single line.
 
void ResetImage () override
 Reset this image.
 
void ClearImage () override
 Cleat this image.
 
istd::CIndex2d GetImageSize () const override
 Get size of this raster image.
 
int GetComponentsCount () const override
 Get number of color components.
 
int GetSupportedOperations () const override
 Get set of flags for supported operations.
 
bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
std::unique_ptr< istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
CGeneralBitmapoperator= (const CGeneralBitmap &bitmap)
 
CGeneralBitmapoperator= (CGeneralBitmap &&bitmap)
 
bool operator== (const CGeneralBitmap &bitmap) const
 
bool operator!= (const CGeneralBitmap &bitmap) const
 
- Public Member Functions inherited from iimg::CBitmapBase
virtual bool CreateImageFromRegion (const iimg::IBitmap &sourceBitmap, const i2d::CRect &region)
 
i2d::CVector2d GetCenter () const override
 Returns center of this 2D-object.
 
void MoveCenterTo (const i2d::CVector2d &position) override
 Move object to position position.
 
i2d::CRectangle GetBoundingBox () const override
 Get bounding box of this shape.
 
int GetLineBytesCount () const override
 Number of bytes per single line.
 
int GetComponentBitsCount (int componentIndex=0) const override
 Get number of bits per single pixel component.
 
bool IsEmpty () const override
 Return true if this image is empty.
 
icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const override
 Get color at specified pixel.
 
bool SetColorAt (const istd::CIndex2d &position, const icmm::CVarColor &color) override
 Set color at specified pixel.
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override
 Reset data to its default state.
 
- Public Member Functions inherited from i2d::CObject2dBase
 CObject2dBase ()
 
 CObject2dBase (const CObject2dBase &object2d)
 
 CObject2dBase (CObject2dBase &&object2d)
 
const ICalibration2dGetCalibration () const override
 Get access to transformation object, which transforms a local logical coordinate system to global one.
 
void SetCalibration (istd::TOptDelPtr< const ICalibration2d > &&calibrationPtr) override
 Set calibration of this object.
 
bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) override
 Transform this object using some transformation.
 
bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) override
 Do inverse transformation of this object.
 
bool GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override
 Calulate transformation of the object into second one.
 
bool GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override
 Calulate inverse transformation of the object into second one.
 
bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override
 Reset data to its default state.
 
CObject2dBaseoperator= (const CObject2dBase &object2d)
 
CObject2dBaseoperator= (CObject2dBase &&object2d)
 
- Public Member Functions inherited from i2d::IObject2d
- Public Member Functions inherited from iser::IObject
virtual QByteArray GetFactoryId () const
 
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from i2d::ICalibration2dProvider
- Public Member Functions inherited from iimg::IBitmap
- Public Member Functions inherited from iimg::IRasterImage
- Public Member Functions inherited from ialgo::TIHoughSpace< Dimensions, Element >::ResultsConsumer

Public Attributes

PosMap positions
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Member Functions inherited from iimg::CGeneralBitmap
virtual bool CreateBitmapInternal (const istd::CIndex2d &size, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 Create bitmap with specified size, number of bits per pixel and components number per pixel.
 
virtual bool CreateBitmapInternal (const istd::CIndex2d &size, istd::COptMemory &&data, int linesDifference, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 Create bitmap using external image buffer.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

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

Consumer of results generated for some multidimensional space (typically Hough space).

Definition at line 26 of file TSimpleSpaceResultConsumer.h.

Member Typedef Documentation

◆ PosMap

template<int Dimensions, class Element = double>
QMultiMap<double, PosVector> ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::PosMap

List of weights and positions.

Definition at line 35 of file TSimpleSpaceResultConsumer.h.

◆ PosVector

template<int Dimensions, class Element = double>
imath::TVector<Dimensions> ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::PosVector

Definition at line 31 of file TSimpleSpaceResultConsumer.h.

Constructor & Destructor Documentation

◆ TSimpleSpaceResultConsumer()

template<int Dimensions, class Element >
ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::TSimpleSpaceResultConsumer ( int maxPoints,
int maxConsideredPoints,
double minDistance,
double minMaxRatio )

Construct the result processor.

Parameters
maxPointsmaximal number of points beeing in result set.
maxConsideredPointsmaximal number of points stored internally. Setting this number to smaller value speeds up the processing.
minDistanceMinimal distance between the points. Please note that the neighbourshood will be analysed at end.

Definition at line 78 of file TSimpleSpaceResultConsumer.h.

Member Function Documentation

◆ GetSupportedNeghboursCount()

template<int Dimensions, class Element >
QList< int > ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::GetSupportedNeghboursCount ( ) const
virtual

Get list of number of neighbours supported by this consumer.

For example if it works correctly with 4 and 8 neighbourshood it should return {4, 8}.

Implements ialgo::TIHoughSpace< Dimensions, Element >::ResultsConsumer.

Definition at line 88 of file TSimpleSpaceResultConsumer.h.

◆ OnMaximumFound()

template<int Dimensions, class Element >
bool ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::OnMaximumFound ( const TIHoughSpace< Dimensions, Element > & space,
const istd::TIndex< Dimensions > & position,
const Element & value,
const Element * neghboursPtr,
int neghboursCount,
Element & minValue )
virtual

Will be called when some local maximum is reached.

Parameters
spaceHough space.
positionelement position where maximum was found.
valuevalue of element at given position.
neghboursPtrlist of nighbours.
neghboursCountnumber of neighbours in the list. Must be one of returned by GetSupportedNeghboursCount().
minValuecurrent minimal value, it can be correctd by this function to improve search performance.
Returns
true, if object found and no more itarations are needed.

Implements ialgo::TIHoughSpace< Dimensions, Element >::ResultsConsumer.

Definition at line 145 of file TSimpleSpaceResultConsumer.h.

◆ OnProcessingBegin()

template<int Dimensions, class Element >
void ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::OnProcessingBegin ( const TIHoughSpace< Dimensions, Element > & space,
const Element & minValue )
virtual

Called when processing is started.

Implements ialgo::TIHoughSpace< Dimensions, Element >::ResultsConsumer.

Definition at line 95 of file TSimpleSpaceResultConsumer.h.

◆ OnProcessingEnd()

template<int Dimensions, class Element >
void ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::OnProcessingEnd ( const TIHoughSpace< Dimensions, Element > & space)
virtual

Member Data Documentation

◆ positions

template<int Dimensions, class Element = double>
PosMap ialgo::TSimpleSpaceResultConsumer< Dimensions, Element >::positions

Definition at line 61 of file TSimpleSpaceResultConsumer.h.


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

© Witold Gantzke and Kirill Lepskiy