IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::imaproc::fd::HoughCircles2dLvl2 Class Reference

Level 2 algorithm: detects circles in image using Hough algorithm. More...

#include <HoughCircles2dLvl2.h>

Inheritance diagram for ipsdk::imaproc::fd::HoughCircles2dLvl2:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >

Public Member Functions

 ~HoughCircles2dLvl2 ()
 destructor
 
const std::string & getObjectName () const
 method allowing to retrieve object name
 
const std::string & getToolTip () const
 method allowing to retrieve object tooltip
 
const boost::filesystem::path getHeaderPath () const
 retrieve relative header path associated to processor
 
const std::string getLibraryName () const
 retrieve library name associated processor
 
template<typename TAttribute >
TAttribute::StorageType getStorage ()
 retrieve storage associated to a given attribute More...
 
Attribute accessors

Setters and Getters for attributes

template<>
const ipsdk::imaproc::attr::InSubGxImg2dget () const
 Getter for attribute InSubGxImg2d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSubGxImg2d::StorageType &value)
 Setter for attribute InSubGxImg2d.
 
template<>
const ipsdk::imaproc::attr::InSubGyImg2dget () const
 Getter for attribute InSubGyImg2d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSubGyImg2d::StorageType &value)
 Setter for attribute InSubGyImg2d.
 
template<>
const ipsdk::imaproc::attr::InHoughCircles2dAlgoMethodget () const
 Getter for attribute InHoughCircles2dAlgoMethod.
 
template<>
void set (const typename ipsdk::imaproc::attr::InHoughCircles2dAlgoMethod::StorageType &value)
 Setter for attribute InHoughCircles2dAlgoMethod.
 
template<>
const ipsdk::imaproc::attr::InCircleIntensityTypeget () const
 Getter for attribute InCircleIntensityType.
 
template<>
void set (const typename ipsdk::imaproc::attr::InCircleIntensityType::StorageType &value)
 Setter for attribute InCircleIntensityType.
 
template<>
const ipsdk::imaproc::attr::InMaxAngleWithGradDirget () const
 Getter for attribute InMaxAngleWithGradDir.
 
template<>
void set (const typename ipsdk::imaproc::attr::InMaxAngleWithGradDir::StorageType &value)
 Setter for attribute InMaxAngleWithGradDir.
 
template<>
const ipsdk::imaproc::attr::InNbMaxPtsPerCircleget () const
 Getter for attribute InNbMaxPtsPerCircle.
 
template<>
void set (const typename ipsdk::imaproc::attr::InNbMaxPtsPerCircle::StorageType &value)
 Setter for attribute InNbMaxPtsPerCircle.
 
template<>
const ipsdk::imaproc::attr::InHoughCirclesRadiusRangeget () const
 Getter for attribute InHoughCirclesRadiusRange.
 
template<>
void set (const typename ipsdk::imaproc::attr::InHoughCirclesRadiusRange::StorageType &value)
 Setter for attribute InHoughCirclesRadiusRange.
 
template<>
const ipsdk::imaproc::attr::InAccumIntensityThresholdget () const
 Getter for attribute InAccumIntensityThreshold.
 
template<>
void set (const typename ipsdk::imaproc::attr::InAccumIntensityThreshold::StorageType &value)
 Setter for attribute InAccumIntensityThreshold.
 
template<>
const ipsdk::imaproc::attr::InRemoveTooCloseCirclesParamsget () const
 Getter for attribute InRemoveTooCloseCirclesParams.
 
template<>
void set (const typename ipsdk::imaproc::attr::InRemoveTooCloseCirclesParams::StorageType &value)
 Setter for attribute InRemoveTooCloseCirclesParams.
 
template<>
const ipsdk::imaproc::attr::OutRealImg1get () const
 Getter for attribute OutRealImg1.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealImg1::StorageType &value)
 Setter for attribute OutRealImg1.
 
template<>
const ipsdk::imaproc::attr::OutOptRealImg2get () const
 Getter for attribute OutOptRealImg2.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptRealImg2::StorageType &value)
 Setter for attribute OutOptRealImg2.
 
template<>
const ipsdk::imaproc::attr::OutHoughCircles2dPptiesget () const
 Getter for attribute OutHoughCircles2dPpties.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutHoughCircles2dPpties::StorageType &value)
 Setter for attribute OutHoughCircles2dPpties.
 
- Public Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
virtual eProcessorType getProcessorType () const =0
 
BoolResult init (const eProcessorRulePolicy rulePolicy=eProcessorRulePolicy::ePRP_DisableSubRules)
 
const eProcessorRulePolicygetProcessorRulePolicy () const
 
std::string getFullInfoStr () const
 
const BaseRulegetGlobalRule () const
 
const ProcessorDispatchPolicygetDispatchPolicy () const
 
void restrictDispatchPolicy (const ProcessorDispatchPolicy &policy)
 
bool isProgressAvailable () const
 
ipsdk::processor::eProcessorProgressAvailability getProgressAvailability () const
 
ipsdk::ipUInt64 getTotalNbIterations () const
 
bool existsHeaderKey (const std::string &key) const
 
bool existsHeaderKey (const std::string &key) const
 
ItemNames getHeaderKeys () const
 
ItemNames getHeaderKeys () const
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void removeHeaderItem (const std::string &key)
 
void removeHeaderItem (const std::string &key)
 
void clearHeader ()
 
void clearHeader ()
 
ipUInt32 getNbAttributes () const
 
ipUInt32 getNbAttributes () const
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
bool existsAttribute (const std::string &attributeName) const
 
bool existsAttribute (const std::string &attributeName) const
 
StringVector getAttributeNameColl () const
 
StringVector getAttributeNameColl () const
 
bool hasOutputInitializer (const std::string &attributeName) const
 
bool hasOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 

Static Public Member Functions

static boost::shared_ptr< HoughCircles2dLvl2createProcessor ()
 processor creation function
 
static const std::string & getObjectNameStr ()
 method allowing to retrieve object name
 
static const std::string & getToolTipStr ()
 method allowing to retrieve object tooltip
 
static const boost::filesystem::path getHeaderPathStr ()
 retrieve relative header path associated to processor
 
static const std::string getLibraryNameStr ()
 retrieve library name associated processor
 

Protected Member Functions

 HoughCircles2dLvl2 ()
 constructor
 
ipsdk::processor::RetrievalResult retrieveProvider (const ipsdk::core::BasePriority &priority, ipsdk::ipUInt32 curNbIter, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve provider associated to asynchronous processing in derived class More...
 
processor::RetrievalResult provideProcessor (const boost::shared_ptr< core::BaseAction > &pProcessor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult houghCirclePhaseCoded (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult houghCircle (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult maxL2Norm (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult statsMsr (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult houghPeaks (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult localExtrema (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult extractRadiusFromHough (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult computeBestCirclesRadiiFromGradMag (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 

Protected Attributes

ipsdk::image::ImageConstPtr _pGxImg
 Parameters used in several action providers.
 
ipsdk::image::ImageConstPtr _pGyImg
 
attr::HoughCirclesRadiusRangeConstPtr _pRadiusRange
 
attr::StatsResultPtr _pStatsResult
 
ipReal64 _fLowestAccumIntensity
 
ipReal64 _fLowestAccumRatioThreshold
 
boost::shared_ptr< attr::Pixels2d_pMaxima
 
boost::shared_ptr< MaxL2Norm2MsrLvl2 > _pMaxL2NormProcessor
 Processors returning a specitif result.
 
boost::shared_ptr< glbmsr::StatsMsrLvl2 > _pStatsProcessor
 
boost::shared_ptr< ExtractHoughPeaks2dLvl2 > _pHoughPeaksProcessor
 
boost::shared_ptr< ExtractLocalExtrema2dLvl2_pLocalExtremaProcessor
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InSubGxImg2d_pInSubGxImg2d
 
boost::shared_ptr< ipsdk::imaproc::attr::InSubGyImg2d_pInSubGyImg2d
 
boost::shared_ptr< ipsdk::imaproc::attr::InHoughCircles2dAlgoMethod_pInHoughCircles2dAlgoMethod
 
boost::shared_ptr< ipsdk::imaproc::attr::InCircleIntensityType_pInCircleIntensityType
 
boost::shared_ptr< ipsdk::imaproc::attr::InMaxAngleWithGradDir_pInMaxAngleWithGradDir
 
boost::shared_ptr< ipsdk::imaproc::attr::InNbMaxPtsPerCircle_pInNbMaxPtsPerCircle
 
boost::shared_ptr< ipsdk::imaproc::attr::InHoughCirclesRadiusRange_pInHoughCirclesRadiusRange
 
boost::shared_ptr< ipsdk::imaproc::attr::InAccumIntensityThreshold_pInAccumIntensityThreshold
 
boost::shared_ptr< ipsdk::imaproc::attr::InRemoveTooCloseCirclesParams_pInRemoveTooCloseCirclesParams
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealImg1_pOutRealImg1
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptRealImg2_pOutOptRealImg2
 
boost::shared_ptr< ipsdk::imaproc::attr::OutHoughCircles2dPpties_pOutHoughCircles2dPpties
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Additional Inherited Members

- Protected Types inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
typedef std::vector< AttributePtrAttributeColl
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 

Detailed Description

Level 2 algorithm: detects circles in image using Hough algorithm.

See Hough circles detection for a complete algorithm description.

Author
H. Delestre
Date
2015/06/26

Algorithm associated library :

IPSDKIPLFeatureDetection

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InSubGxImg2d [Input] grey level 2d sub image of gradient computed along x-axis X
ipsdk::imaproc::attr::InSubGyImg2d [Input] grey level 2d sub image of gradient computed along y-axis X
ipsdk::imaproc::attr::InHoughCircles2dAlgoMethod [Input] Hough circles 2d detector method X
ipsdk::imaproc::attr::InCircleIntensityType [Input] circle intensity type for detection algorithms X
ipsdk::imaproc::attr::InMaxAngleWithGradDir [Input] maximum angle with gradient direction, in degrees X
ipsdk::imaproc::attr::InNbMaxPtsPerCircle [Input] maximum number of points per circle X
ipsdk::imaproc::attr::InHoughCirclesRadiusRange [Input] range of radius of circles to detect using Hough circles algorithm X
ipsdk::imaproc::attr::InAccumIntensityThreshold [Input] threshold on accumulation intensities for local maxima extraction X
ipsdk::imaproc::attr::InRemoveTooCloseCirclesParams [Input] parameters of "removing too close circles" phasis in Hough circles detection X
ipsdk::imaproc::attr::OutRealImg1 [Output] image for processing operation (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptRealImg2 [Output Optional] image for processing operation (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutHoughCircles2dPpties [Output] Properties of 2d circles detected by 2d Hough algorithm X

Global attributes rule :

Global rule on attributes is given by
ipsdk::processor::none ()

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::fd::HoughCircles2dLvl2::getStorage ( )

retrieve storage associated to a given attribute

Note
This method is only available for Output and In/Out attributes
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ retrieveProvider()

ipsdk::processor::RetrievalResult ipsdk::imaproc::fd::HoughCircles2dLvl2::retrieveProvider ( const ipsdk::core::BasePriority priority,
ipsdk::ipUInt32  curNbIter,
ipsdk::core::ActionProviderPtr pProvider 
)
protected

method allowing to retrieve provider associated to asynchronous processing in derived class

Returns
provider retrieval result.
Note
On success provider pointer must not be null nor uninitialized

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