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

Level 3 algorithm: detection of 2D lines in images of gradient using Hough algorithm. More...

#include <HoughLinesGradient2dImgLvl3.h>

Inheritance diagram for ipsdk::imaproc::fd::HoughLinesGradient2dImgLvl3:
ipsdk::processor::BaseProcessingAlgorithm ipsdk::processor::BaseSyncProcessor ipsdk::processor::BaseProcessor ipsdk::core::BaseComplexAction ipsdk::core::BaseAction ipsdk::SerializationObjectWithGuid ipsdk::BaseToolTip ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

 ~HoughLinesGradient2dImgLvl3 ()
 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...
 
void setRowsMutexColl (const boost::shared_ptr< std::vector< boost::shared_ptr< boost::mutex > > > &pRowsMutexColl)
 
Attribute accessors

Setters and Getters for attributes

template<>
const ipsdk::imaproc::attr::InGxYStrip2dget () const
 Getter for attribute InGxYStrip2d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InGxYStrip2d::StorageType &value)
 Setter for attribute InGxYStrip2d.
 
template<>
const ipsdk::imaproc::attr::InGyYStrip2dget () const
 Getter for attribute InGyYStrip2d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InGyYStrip2d::StorageType &value)
 Setter for attribute InGyYStrip2d.
 
template<>
const ipsdk::imaproc::attr::InOptHoughLinesGradientImgParamsget () const
 Getter for attribute InOptHoughLinesGradientImgParams.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptHoughLinesGradientImgParams::StorageType &value)
 Setter for attribute InOptHoughLinesGradientImgParams.
 
template<>
const ipsdk::imaproc::attr::InOptHoughLinesOrientationToleranceget () const
 Getter for attribute InOptHoughLinesOrientationTolerance.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptHoughLinesOrientationTolerance::StorageType &value)
 Setter for attribute InOptHoughLinesOrientationTolerance.
 
template<>
const ipsdk::imaproc::attr::OutRealImgget () const
 Getter for attribute OutRealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealImg::StorageType &value)
 Setter for attribute OutRealImg.
 
- Public Member Functions inherited from ipsdk::processor::BaseSyncProcessor
eProcessorType getProcessorType () const
 
- Public Member Functions inherited from ipsdk::processor::BaseProcessor
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
 
ItemNames getHeaderKeys () const
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void removeHeaderItem (const std::string &key)
 
void clearHeader ()
 
ipUInt32 getNbAttributes () const
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
bool existsAttribute (const std::string &attributeName) const
 
StringVector getAttributeNameColl () const
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
bool hasOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 
bool existsHeaderKey (const std::string &key) const
 
ItemNames getHeaderKeys () const
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void removeHeaderItem (const std::string &key)
 
void clearHeader ()
 
ipUInt32 getNbAttributes () const
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
bool existsAttribute (const std::string &attributeName) const
 
StringVector getAttributeNameColl () const
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
bool hasOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 
- Public Member Functions inherited from ipsdk::core::BaseComplexAction
bool isComplexAction () const
 
- Public Member Functions inherited from ipsdk::core::BaseAction
bool isInit () const
 
eExecutionStatus getStatus () const
 
const ePrioritygetActionPriority () const
 
void setActionPriority (const BasePriority &actionPriority)
 
void addCompletionCB (const ActionCompletionCB &completionCB)
 
ExecResult run (const eSynchroType &synchroType=eSynchroType::eST_Default)
 
void requestCancellation ()
 
bool isCancellationRequested () const
 
void waitForCompletion ()
 
ExecResult getActionResult () const
 
double getFullActionDuration () const
 
double getExecutionActionDuration () const
 
BoolResult clear ()
 
bool hasSocketGuid () const
 
void setSocketGuid (const Guid &socketGuid)
 
const GuidgetSocketGuid () const
 
bool hasSocketGuid () const
 
void setSocketGuid (const Guid &socketGuid)
 
const GuidgetSocketGuid () const
 
- Public Member Functions inherited from ipsdk::SerializationObjectWithGuid
const GuidgetGuid () const
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 
virtual BaseDynamicObjectcreateNew () const=0
 
virtual DynamicObjectPtr createShared () const=0
 
virtual bool hasCopySupport () const=0
 
virtual BaseDynamicObjectduplicate () const=0
 
virtual DynamicObjectPtr duplicateShared () const=0
 

Static Public Member Functions

static boost::shared_ptr< HoughLinesGradient2dImgLvl3createProcessor ()
 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
 
- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 

Protected Types

typedef std::vector< boost::shared_ptr< boost::mutex > > MutexColl
 
typedef boost::shared_ptr< MutexColl > MutexCollPtr
 
- Protected Types inherited from ipsdk::processor::BaseProcessingAlgorithm
typedef std::vector< DataParserPtrDataParserColl
 
- Protected Types inherited from ipsdk::processor::BaseProcessor
typedef std::vector< AttributePtrAttributeColl
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 
- Protected Types inherited from ipsdk::core::BaseAction
enum  eCleanReason
 
enum  eExecutionResultDerived
 
typedef ProcessingResult< eExecutionResultDerivedExecResultDerived
 

Protected Member Functions

 HoughLinesGradient2dImgLvl3 ()
 constructor
 
template<typename BufInType , ipsdk::eInstructionSet::domain IS>
ipsdk::BoolResult genericProcessFunction (const ipsdk::processor::ProcessingInfo &info)
 generic processing function associated to class
 
template<typename BufInType , ipsdk::eInstructionSet::domain IS>
ipsdk::BoolResult processFunction (const ipsdk::processor::ProcessingInfo &info)
 
void pushPositionAndIntensityForThetaRange (ipUInt64 x, ipReal32 intensity, ipReal32 thetaMin, ipReal32 thetaMax)
 
template<typename BufInType , ipsdk::eInstructionSet::domain IS>
void storeValuesToAccumulate (const ipsdk::processor::ProcessingInfo &info)
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessingAlgorithm
virtual const FunctionSelectorgetFunctionSelector () const=0
 
virtual const InstructionSetsIdentifiergetForcedInstructionSets () const=0
 
virtual void getDataTypeIdColl (DataTypeIdColl &dataTypeIdColl) const=0
 
virtual void initDataParserColl (DataParserColl &dataParserColl)=0
 
virtual void clearDataParserColl ()=0
 
virtual core::ExecResult preProcess ()
 
virtual core::ExecResult postProcess ()
 
virtual void getNoParseInfo (ipUInt64 &nbDataByElement, ipUInt64 &nbMaxInitData, ipUInt64 &nbMaxFinalData) const
 
- Protected Member Functions inherited from ipsdk::processor::BaseSyncProcessor
virtual core::ExecResult mainProcess ()=0
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 
- Protected Member Functions inherited from ipsdk::core::BaseComplexAction
virtual ExecResult initProcess ()
 
virtual ExecResult endProcess ()
 
ExecResult execInitProcess ()
 
ExecResult execEndProcess ()
 
- Protected Member Functions inherited from ipsdk::core::BaseAction
bool isSynchronismForced () const
 
BoolResult initBase (const BasePriority &defaultPriority=NormalPriority())
 
virtual BoolResult globalCleanDerived ()
 
virtual BoolResult cleanOnErrorDerived (const eCleanReason &cleanReason)
 
virtual ExecResultDerived runDerived ()=0
 
virtual void requestCancellationdDerived ()
 
void notifyCompletion (const ExecResult &bCompletionResult)
 
ExecResultDerived toExecResultDerived (const ExecResult &execResult) const
 
virtual BoolResult syncInputDataDerived (const Guid &processingSocketGuid)
 
virtual BoolResult syncOutputDataDerived (const Guid &processingSocketGuid)
 
virtual void clearInputData ()
 
virtual void clearIntermediateData ()
 
virtual void clearOutputData ()
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 
virtual BoolResult read (BaseIArchive &ar)
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 

Protected Attributes

MutexCollPtr _pRowsMutexColl
 
ipReal64 _rhoStep
 
ipUInt64 _nbRhoClasses
 
ipReal64 _thetaMin
 
ipReal64 _thetaMax
 
ipUInt64 _nbThetaClasses
 
ipReal64 _thetaStep
 
ipReal64 _intensityThreshold
 
std::vector< ipReal32_cos
 
std::vector< ipReal32_sin
 
std::vector< std::vector< ipInt32 > > _pixelsAboveThresholdX
 
std::vector< std::vector< ipReal32 > > _pixelsAboveThresholdIntensity
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InGxYStrip2d_pInGxYStrip2d
 
boost::shared_ptr< ipsdk::imaproc::attr::InGyYStrip2d_pInGyYStrip2d
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptHoughLinesGradientImgParams_pInOptHoughLinesGradientImgParams
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptHoughLinesOrientationTolerance_pInOptHoughLinesOrientationTolerance
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealImg_pOutRealImg
 
Parsed data attributes
boost::shared_ptr< LineStripParser > _pInGxYStrip2dBuf
 Data preparator associated to attribute InGxYStrip2d.
 
boost::shared_ptr< LineStripParser > _pInGyYStrip2dBuf
 Data preparator associated to attribute InGyYStrip2d.
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 
- Protected Attributes inherited from ipsdk::core::BaseAction
 eCR_Failure
 
 eCR_Exception
 
 eCR_Cancellation
 
 eERD_Success
 
 eERD_Failure
 
 eERD_Canceled
 
 eERD_Running
 
- Protected Attributes inherited from ipsdk::SerializationObjectWithGuid
Guid _guid
 

Additional Inherited Members

- Public Types inherited from ipsdk::processor::BaseProcessingAlgorithm
typedef DataTypeIdentifierColl DataTypeIdColl
 
typedef AlgorithmFunctionIdentifier FunctionId
 
typedef AlgorithmFunctionSelector FunctionSelector
 
typedef BoolResult(BaseProcessingAlgorithm::* FunctionType) (const ProcessingInfo &info)
 

Detailed Description

Level 3 algorithm: detection of 2D lines in images of gradient using Hough algorithm.

See Computation of accumulator matrix for extension of Hough lines detection for a complete algorithm description.

Author
H. Delestre
Date
2017/09/25

Algorithm associated library :

IPSDKIPLFeatureDetection

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InGxYStrip2d [Input] image y strip 2d attribute containing gradient computed along x-axis X
ipsdk::imaproc::attr::InGyYStrip2d [Input] image y strip 2d attribute containing gradient computed alongy-axis X
ipsdk::imaproc::attr::InOptHoughLinesGradientImgParams [Input Optional] Parameters for Hough lines detection algorithm using 2 input gradient images X
ipsdk::imaproc::attr::InOptHoughLinesOrientationTolerance [Input Optional] Tolerance for orientation around estimated gradient direction X
ipsdk::imaproc::attr::OutRealImg [Output] image for processing operation (data contained in image buffer are reals) X

Global attributes rule :

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

Data type algorithm function selector informations :

Processing function selection for this algorithm is based on following attribute data types :

For More informations about algorithm function selection see AlgorithmFunctionSelection

Algorithm parsed data informations :

Algorithm parsed data is based on following attributes :

For More informations about algorithm parsed data see AlgorithmParsedData

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::fd::HoughLinesGradient2dImgLvl3::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

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