IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GaussGrad2dPreProcessorConfig.h
1 // GaussGrad2dPreProcessorConfig.h:
3 // --------------------------------
4 //
15 
16 #ifndef __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD2DPREPROCESSORCONFIG_H__
17 #define __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD2DPREPROCESSORCONFIG_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::shape::analysis::GaussGrad2dPreProcessorConfig::_gradComponent': class 'ipsdk::imaproc::shape::analysis::GaussGrad2dPreProcessorConfig::eGradComponent' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::shape::analysis::GaussGrad2dPreProcessorConfig'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
25 #include <IPSDKBaseShapeAnalysis/Measure/Info/Config/BaseIntensity2dPreProcessorConfig.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/GaussianCoverage.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 namespace shape {
32 namespace analysis {
33 
36 
38 {
39  // declare serial class
41 
42 // predefined public types
43 public:
47 
48  (eGC_X)
49  (eGC_Y)
50  )
51 
52 public:
58 
59 // methods
60 public:
63  void init(const eGradComponent& gradComponent,
64  const ipReal32 inStdDev,
65  const attr::GaussianCoverageConstPtr& pInOptGradientGaussianCoverage = attr::GaussianCoverageConstPtr(),
66  const image::eImageBufferType& outImageBufferType = image::eImageBufferType::eIBT_None);
67 
68 protected:
70  bool compareDerived(const BaseIntensityPreProcessorConfig& other) const;
71 
74  BoolResult createProcessorDerived(const image::ImageConstPtr& pInImg,
75  processor::ProcessorPtr& pProcessor);
76 
78  image::ImagePtr extractOutputImageDerived(processor::BaseProcessor& processor);
79 
80 // attributes
81 protected:
83  eGradComponent _gradComponent;
84 
87  ipReal32 _inStdDev;
88  attr::GaussianCoverageConstPtr _pInOptGradientGaussianCoverage;
90 
92  image::eImageBufferType _outImageBufferType;
93 };
94 
97 
98 } // end of namespace analysis
99 } // end of namespace shape
100 } // end of namespace imaproc
101 } // end of namespace ipsdk
102 
103 #pragma warning (pop)
104 
105 #endif // __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD2DPREPROCESSORCONFIG_H__
eGradComponent
Definition: GaussGrad2dPreProcessorConfig.h:48
Configuration object allowing computation of a component of gaussian gradient as pre processing of sh...
Definition: GaussGrad2dPreProcessorConfig.h:37
boost::shared_ptr< BaseImage > ImagePtr
Definition of import/export macro for library.
boost::shared_ptr< const ipsdk::imaproc::attr::GaussianCoverage > GaussianCoverageConstPtr
shared pointer to const ipsdk::imaproc::attr::GaussianCoverage
Definition: GaussianCoverage.h:134
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
boost::shared_ptr< const BaseImage > ImageConstPtr
boost::shared_ptr< BaseProcessor > ProcessorPtr
#define IPSDKIPLSHAPEANALYSIS_API
Import/Export macro for library IPSDKIPLShapeAnalysis.
Definition: IPSDKIPLShapeAnalysisExports.h:25
#define IPSDK_ENUM(enumTypeStr, enumSeq)
float ipReal32
eImageBufferType