IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Convolution2dImgGpuLvl3.h
1 // Convolution2dImgGpuLvl3.h:
3 // --------------
4 //
14 
15 # ifndef __IPSDKIPLFILTERING_CONVOLUTION2DIMGGPULVL3_H__
16 # define __IPSDKIPLFILTERING_CONVOLUTION2DIMGGPULVL3_H__
17 
21 #include <IPSDKImageProcessing/Algorithm/Function/ImageBufferTypeIdentifier.h>
22 #include <IPSDKImage/Image/BaseImage.h>
23 
24 // Attributes headers
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/Gpu/InSubGpuImg.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Kernel/InKnlXY.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InNormalize.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/BorderPolicy/InConvolBorder2d.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 namespace filter {
34 
37 
38 // declare processor class
39 IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(IPSDKIPLFiltering, Convolution2dImg,
40  ipsdk::imaproc::matchSize(_pInSubGpuImg, _pOutImg),
41  (((ipsdk)(imaproc)(attr))(InSubGpuImg))
42  (((ipsdk)(imaproc)(attr))(InKnlXY))
43  (((ipsdk)(imaproc)(attr))(InNormalize))
44  (((ipsdk)(imaproc)(attr))(InConvolBorder2d))
45  (((ipsdk)(imaproc)(attr))(OutImg)))
46 
48 
49 // methods
50 public:
51 
55 
57  void clearIntermediateData();
58 
59 
60  template<typename TIn, typename TOut>
61  BoolResult genericKernelLauncher();
62 
63 // attributes
64 protected:
65 
66  std::vector<ipInt32> _vOffsetsX;
67  std::vector<ipInt32> _vOffsetsY;
68  std::vector<ipReal32> _vCoefs;
69 
70  // Integer used on gpu to determine the border policy
71  ipInt32 _borderPolicyValue;
72  ipReal32 _outOfImageValue;
73 };
74 
77 
78 } // end of namespace filter
79 } // end of namespace imaproc
80 } // end of namespace ipsdk
81 
82 # endif // __IPSDKIPLFILTERING_CONVOLUTION2DIMGGPULVL3_H__
#define IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)
ipsdk::core::ExecResult preProcess()
method called before processing
int32_t ipInt32
#define IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)
IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(IPSDKIPLFiltering, Convolution2dImg, ipsdk::imaproc::matchSize(_pInSubGpuImg, _pOutImg),(((ipsdk)(imaproc)(attr))(InSubGpuImg))(((ipsdk)(imaproc)(attr))(InKnlXY))(((ipsdk)(imaproc)(attr))(InNormalize))(((ipsdk)(imaproc)(attr))(InConvolBorder2d))(((ipsdk)(imaproc)(attr))(OutImg))) IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR((InSubGpuImg)(OutImg)) public void clearIntermediateData()
method called before processing
Definition of import/export macro for library.
float ipReal32