IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
DicIntegration2dImgLvl2.h
1 // DicIntegration2dImgLvl2.h:
3 // --------------------------
4 //
15 
16 #ifndef __IPSDKIPLFILTERING_DICINTEGRATION2DIMGLVL2_H__
17 #define __IPSDKIPLFILTERING_DICINTEGRATION2DIMGLVL2_H__
18 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutRealImg.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1RealImg.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/2d/InSubImg2d.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InStdDev.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InTheta.h>
28 
29 #include <IPSDKBaseData/Pattern/Kernel/KernelXY.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 namespace filter {
34 
37 
38 // declare processor class
39 IPSDK_DECLARE_LVL2_PROCESSOR(REP_ASYNC1, IPSDKIPLFiltering, DicIntegration2dImg,
40  ipsdk::imaproc::matchSize(_pInSubImg2d, _pOutWk1RealImg) &&
41  ipsdk::imaproc::matchSize(_pInSubImg2d, _pOutRealImg),
42  (((ipsdk)(imaproc)(attr))(InSubImg2d))
43  (((ipsdk)(imaproc)(attr))(InStdDev))
44  (((ipsdk)(imaproc)(attr))(InTheta))
45  (((ipsdk)(imaproc)(attr))(OutWk1RealImg))
46  (((ipsdk)(imaproc)(attr))(OutRealImg)))
47 
48 // methods
49 public:
50 
51 protected:
55 
56  processor::RetrievalResult provideProcessor(const boost::shared_ptr<core::BaseAction>& pProcessor,
57  const core::BasePriority& priority,
58  core::ActionProviderPtr& pProvider);
59 
60  processor::RetrievalResult convolution(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
61  processor::RetrievalResult subtract(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
62  processor::RetrievalResult dicIntegrationPropagation(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
63 
64 // attributes
65 protected:
67  typedef processor::RetrievalResult(DicIntegration2dImgLvl2::* FunctionType)(const core::BasePriority&, core::ActionProviderPtr&);
68  std::vector <FunctionType> _vFctCalls;
69 
73  ipsdk::image::ImagePtr _pOutImg;
74 
76  KernelXYPtr _pKernel;
77 
78 };
79 
82 
83 } // end of namespace filter
84 } // end of namespace imaproc
85 } // end of namespace ipsdk
86 
87 #endif // __IPSDKIPLFILTERING_DICINTEGRATION2DIMGLVL2_H__
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
boost::shared_ptr< BaseImage > ImagePtr
ipsdk::core::ExecResult preProcess()
method called before processing
boost::shared_ptr< KernelXY > KernelXYPtr
boost::shared_ptr< const BaseImage > ImageConstPtr
boost::shared_ptr< BaseActionProvider > ActionProviderPtr
Definition of import/export macro for library.