IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GaussGrad3dPreProcessorConfig.h
1 // GaussGrad3dPreProcessorConfig.h:
3 // --------------------------------
4 //
15 
16 #ifndef __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD3DPREPROCESSORCONFIG_H__
17 #define __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD3DPREPROCESSORCONFIG_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::shape::analysis::GaussGrad3dPreProcessorConfig::_gradComponent': class 'ipsdk::imaproc::shape::analysis::GaussGrad3dPreProcessorConfig::eGradComponent' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::shape::analysis::GaussGrad3dPreProcessorConfig'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
25 #include <IPSDKBaseShapeAnalysis/Measure/Info/Config/BaseIntensity3dPreProcessorConfig.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  (eGC_Z)
51  )
52 
53 public:
59 
60 // methods
61 public:
64  void init(const eGradComponent& gradComponent,
65  const ipReal32 inStdDev,
66  const attr::GaussianCoverageConstPtr& pInOptGradientGaussianCoverage = attr::GaussianCoverageConstPtr(),
67  const image::eImageBufferType& outImageBufferType = image::eImageBufferType::eIBT_None);
68 
69 protected:
71  bool compareDerived(const BaseIntensityPreProcessorConfig& other) const;
72 
75  BoolResult createProcessorDerived(const image::ImageConstPtr& pInImg,
76  processor::ProcessorPtr& pProcessor);
77 
79  image::ImagePtr extractOutputImageDerived(processor::BaseProcessor& processor);
80 
81 // attributes
82 protected:
84  eGradComponent _gradComponent;
85 
88  ipReal32 _inStdDev;
89  attr::GaussianCoverageConstPtr _pInOptGradientGaussianCoverage;
91 
93  image::eImageBufferType _outImageBufferType;
94 };
95 
98 
99 } // end of namespace analysis
100 } // end of namespace shape
101 } // end of namespace imaproc
102 } // end of namespace ipsdk
103 
104 #pragma warning (pop)
105 
106 #endif // __IPSDKIPLSHAPEANALYSIS_GAUSSGRAD3DPREPROCESSORCONFIG_H__
boost::shared_ptr< BaseImage > ImagePtr
Definition of import/export macro for library.
Configuration object allowing computation of a component of gaussian gradient as pre processing of sh...
Definition: GaussGrad3dPreProcessorConfig.h:37
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)
eGradComponent
Definition: GaussGrad3dPreProcessorConfig.h:48
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