IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
VSNR2dImgLvl1.h
1 // VSNR2dImgLvl1.h:
3 // ----------------
4 //
14 
15 #ifndef __IPSDKIPLFILTERING_VSNR2DIMGLVL1_H__
16 #define __IPSDKIPLFILTERING_VSNR2DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg1.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg2.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1RealImg.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk2RealImg.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk3RealImg.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk4RealImg.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk5RealImg.h>
31 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk6RealImg.h>
32 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk7RealImg.h>
33 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk8RealImg.h>
34 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk9RealImg.h>
35 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk10RealImg.h>
36 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk11RealImg.h>
37 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk12RealImg.h>
38 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk13RealImg.h>
39 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk14RealImg.h>
40 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk15RealImg.h>
41 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk16RealImg.h>
42 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk17RealImg.h>
43 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk18RealImg.h>
44 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk19RealImg.h>
45 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk20RealImg.h>
46 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk21RealImg.h>
47 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk22RealImg.h>
48 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/Optional/InOptImg1.h>
49 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/Optional/OutOptWk1Img.h>
50 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InFactor.h>
51 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InNbIter.h>
52 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptGaborParams.h>
53 
54 namespace ipsdk {
55 namespace imaproc {
56 namespace filter {
57 
60 
61 // declare processor class
62 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC2, IPSDKIPLFiltering, VSNR2dImg,
63  ipsdk::imaproc::matchSize(_pInImg, _pOutImg1) &&
64  ipsdk::imaproc::matchSize(_pInImg, _pOutImg2) &&
65  ipsdk::imaproc::matchSize(_pInImg, _pOutWk1RealImg) &&
66  ipsdk::imaproc::matchSize(_pInImg, _pOutWk2RealImg) &&
67  ipsdk::imaproc::matchSize(_pInImg, _pOutWk3RealImg) &&
68  ipsdk::imaproc::matchSize(_pInImg, _pOutWk4RealImg) &&
69  ipsdk::imaproc::matchSize(_pInImg, _pOutWk5RealImg) &&
70  ipsdk::imaproc::matchSize(_pInImg, _pOutWk6RealImg) &&
71  ipsdk::imaproc::matchSize(_pInImg, _pOutWk7RealImg) &&
72  ipsdk::imaproc::matchSize(_pInImg, _pOutWk8RealImg) &&
73  ipsdk::imaproc::matchSize(_pInImg, _pOutWk9RealImg) &&
74  ipsdk::imaproc::matchSize(_pInImg, _pOutWk10RealImg) &&
75  ipsdk::imaproc::matchSize(_pInImg, _pOutWk11RealImg) &&
76  ipsdk::imaproc::matchSize(_pInImg, _pOutWk12RealImg) &&
77  ipsdk::imaproc::matchSize(_pInImg, _pOutWk13RealImg) &&
78  ipsdk::imaproc::matchSize(_pInImg, _pOutWk14RealImg) &&
79  ipsdk::imaproc::matchSize(_pInImg, _pOutWk15RealImg) &&
80  ipsdk::imaproc::matchSize(_pInImg, _pOutWk16RealImg) &&
81  ipsdk::imaproc::matchSize(_pInImg, _pOutWk17RealImg) &&
82  ipsdk::imaproc::matchSize(_pInImg, _pOutWk18RealImg) &&
83  ipsdk::imaproc::matchSize(_pInImg, _pOutWk19RealImg) &&
84  ipsdk::imaproc::matchSize(_pInImg, _pOutWk20RealImg) &&
85  ipsdk::imaproc::matchSize(_pInImg, _pOutWk21RealImg) &&
86  ipsdk::imaproc::matchSize(_pInImg, _pOutWk22RealImg) &&
87  ipsdk::processor::ifIsSet(_pInOptImg1, ipsdk::imaproc::matchSize(_pInImg, _pInOptImg1)),
88  (((ipsdk)(imaproc)(attr))(InImg))
89  (((ipsdk)(imaproc)(attr))(InOptImg1))
90  (((ipsdk)(imaproc)(attr))(InNbIter))
91  (((ipsdk)(imaproc)(attr))(InOptGaborParams))
92  (((ipsdk)(imaproc)(attr))(InFactor))
93  (((ipsdk)(imaproc)(attr))(OutOptWk1Img))
94  (((ipsdk)(imaproc)(attr))(OutWk1RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
95  (((ipsdk)(imaproc)(attr))(OutWk2RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
96  (((ipsdk)(imaproc)(attr))(OutWk3RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
97  (((ipsdk)(imaproc)(attr))(OutWk4RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
98  (((ipsdk)(imaproc)(attr))(OutWk5RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
99  (((ipsdk)(imaproc)(attr))(OutWk6RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
100  (((ipsdk)(imaproc)(attr))(OutWk7RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
101  (((ipsdk)(imaproc)(attr))(OutWk8RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
102  (((ipsdk)(imaproc)(attr))(OutWk9RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
103  (((ipsdk)(imaproc)(attr))(OutWk10RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
104  (((ipsdk)(imaproc)(attr))(OutWk11RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
105  (((ipsdk)(imaproc)(attr))(OutWk12RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
106  (((ipsdk)(imaproc)(attr))(OutWk13RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
107  (((ipsdk)(imaproc)(attr))(OutWk14RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
108  (((ipsdk)(imaproc)(attr))(OutWk15RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
109  (((ipsdk)(imaproc)(attr))(OutWk16RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
110  (((ipsdk)(imaproc)(attr))(OutWk17RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
111  (((ipsdk)(imaproc)(attr))(OutWk18RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
112  (((ipsdk)(imaproc)(attr))(OutWk19RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
113  (((ipsdk)(imaproc)(attr))(OutWk20RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
114  (((ipsdk)(imaproc)(attr))(OutWk21RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
115  (((ipsdk)(imaproc)(attr))(OutWk22RealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
116  (((ipsdk)(imaproc)(attr))(OutImg1)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
117  (((ipsdk)(imaproc)(attr))(OutImg2)(ipsdk::imaproc::duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32)))
118 
119 // methods
120 public:
121 
122 protected:
123  processor::RetrievalResult provideProcessor(const boost::shared_ptr<core::BaseAction>& pProcessor,
124  const core::BasePriority& priority,
125  core::ActionProviderPtr& pProvider);
126 
127  processor::RetrievalResult computeGabor(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
128 
129 // attributes
130 protected:
132  ipsdk::image::ImageConstPtr _pNoiseImg;
133 };
134 
137 
138 } // end of namespace filter
139 } // end of namespace imaproc
140 } // end of namespace ipsdk
141 
142 #endif // __IPSDKIPLFILTERING_VSNR2DIMGLVL1_H__
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
processor::OutputInitializerPtr duplicateInOut(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType > &pInputAttribute, const eImageInitializerStoragePolicy &storagePolicy=eImageInitializerStoragePolicy::eIISP_Inherit)
boost::enable_if_c< AttributeType::g_bOptional, RulePtr >::type ifIsSet(const boost::shared_ptr< AttributeType > &pAttribute, const RulePtr &pRuleTrue)
boost::shared_ptr< const BaseImage > ImageConstPtr
boost::shared_ptr< BaseActionProvider > ActionProviderPtr
Definition of import/export macro for library.