Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
iipr::CCircleFindProcessorComp Class Reference

Caliper based circle finder. More...

#include <CCircleFindProcessorComp.h>

Inheritance diagram for iipr::CCircleFindProcessorComp:
iproc::TSyncProcessorCompBase< IImageToFeatureProcessor > ilog::TLoggerCompWrap< Base > iproc::TSyncProcessorWrap< IImageToFeatureProcessor > ilog::CLoggerBase ilog::ILoggable istd::ILogger istd::IPolymorphic istd::IPolymorphic


struct  Point
struct  Ray

Public Types

< IImageToFeatureProcessor
- Public Types inherited from iproc::TSyncProcessorCompBase< IImageToFeatureProcessor >
typedef ilog::CLoggerComponentBase BaseClass
< IImageToFeatureProcessor > 
typedef IImageToFeatureProcessor InterfaceType
- Public Types inherited from iproc::TSyncProcessorWrap< IImageToFeatureProcessor >
typedef IImageToFeatureProcessor BaseClass

Public Member Functions

 CCircleFindProcessorComp ()
virtual int DoExtractFeatures (const iprm::IParamsSet *paramsPtr, const iimg::IBitmap &image, IFeaturesConsumer &results, ibase::IProgressManager *progressManagerPtr=NULL)
virtual int DoProcessing (const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)
- Public Member Functions inherited from ilog::ILoggable
virtual void SetLogPtr (IMessageConsumer *logPtr)=0
virtual IMessageConsumerGetLogPtr () const =0
virtual void SetTracingEnabled (bool trace)=0
virtual bool IsTracingEnabled () const =0
- Public Member Functions inherited from iproc::TSyncProcessorWrap< IImageToFeatureProcessor >
 TSyncProcessorWrap ()
virtual int GetProcessorState (const iprm::IParamsSet *paramsPtr) const
virtual bool AreParamsAccepted (const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, const istd::IChangeable *outputPtr) const
virtual int BeginTask (const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)
virtual int WaitTaskFinished (int taskId=-1, double timeoutTime=-1, bool killOnTimeout=true)
virtual void CancelTask (int taskId=-1)
virtual int GetReadyTask ()
virtual int GetTaskState (int taskId=-1) const
virtual void InitProcessor (const iprm::IParamsSet *paramsPtr)

Protected Types

typedef TWeightedFeatureWrap
< i2d::CCircle
typedef TWeightedFeatureWrap
< i2d::CAnnulus
typedef std::vector< PointPoints
typedef std::vector< RayRays

Protected Member Functions

bool AddAoiToRays (const istd::IChangeable &aoiObject, const iprm::IParamsSet &params, const iimg::IBitmap &image, const iipr::ICircleFinderParams &circleFinderParams, Rays &inRays, Rays &outRays, i2d::CLine2d &projectionLine, i2d::CVector2d &center, int &totalRaysCount)
bool CalculateCircle (const i2d::CVector2d &center, bool removeOutliers, double minOutliersDistance, Rays &rays, int totalRaysCount, CircleFeature &result)
bool CalculateAnnulus (const i2d::CVector2d &center, Rays &inRays, Rays &outRays, int totalRaysCount, AnnulusFeature &result)
void AddProjectionResultsToRays (const i2d::CLine2d &projectionLine, const iprm::IParamsSet &params, const IFeaturesProvider &container, Rays &inRays, Rays &outRays)
void AddIntermediateResults (Rays &outRays)
virtual void OnComponentCreated ()
- Protected Member Functions inherited from ilog::CLoggerBase
virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const

Detailed Description

Caliper based circle finder.

This is realized as processor, as input the image, as output consumer of features must be given. It uses set of 1D caliper lines to find the position and radius of circle. It takes area of interests (AOI) from parameter set. As AOI can be used annulus, segment of annulus, rectangle and set of segments of annulus.

Definition at line 30 of file CCircleFindProcessorComp.h.

Member Typedef Documentation

Definition at line 69 of file CCircleFindProcessorComp.h.

Definition at line 33 of file CCircleFindProcessorComp.h.

Definition at line 68 of file CCircleFindProcessorComp.h.

typedef std::vector<Point> iipr::CCircleFindProcessorComp::Points

Definition at line 78 of file CCircleFindProcessorComp.h.

typedef std::vector<Ray> iipr::CCircleFindProcessorComp::Rays

Definition at line 93 of file CCircleFindProcessorComp.h.

Constructor & Destructor Documentation

iipr::CCircleFindProcessorComp::CCircleFindProcessorComp ( )

Member Function Documentation

bool iipr::CCircleFindProcessorComp::AddAoiToRays ( const istd::IChangeable aoiObject,
const iprm::IParamsSet params,
const iimg::IBitmap image,
const iipr::ICircleFinderParams circleFinderParams,
Rays inRays,
Rays outRays,
i2d::CLine2d projectionLine,
i2d::CVector2d center,
int &  totalRaysCount 
void iipr::CCircleFindProcessorComp::AddIntermediateResults ( Rays outRays)
void iipr::CCircleFindProcessorComp::AddProjectionResultsToRays ( const i2d::CLine2d projectionLine,
const iprm::IParamsSet params,
const IFeaturesProvider container,
Rays inRays,
Rays outRays 
bool iipr::CCircleFindProcessorComp::CalculateAnnulus ( const i2d::CVector2d center,
Rays inRays,
Rays outRays,
int  totalRaysCount,
AnnulusFeature result 
bool iipr::CCircleFindProcessorComp::CalculateCircle ( const i2d::CVector2d center,
bool  removeOutliers,
double  minOutliersDistance,
Rays rays,
int  totalRaysCount,
CircleFeature result 
virtual int iipr::CCircleFindProcessorComp::DoExtractFeatures ( const iprm::IParamsSet paramsPtr,
const iimg::IBitmap image,
IFeaturesConsumer results,
ibase::IProgressManager progressManagerPtr = NULL 
virtual int iipr::CCircleFindProcessorComp::DoProcessing ( const iprm::IParamsSet paramsPtr,
const istd::IPolymorphic inputPtr,
istd::IChangeable outputPtr,
ibase::IProgressManager progressManagerPtr = NULL 
virtual void iipr::CCircleFindProcessorComp::OnComponentCreated ( )

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy