IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Bilateral3dImgLvl3.h
1 // Bilateral3dImgLvl3.h:
3 // ---------------------
4 //
14 
15 #ifndef __IPSDKIPLFILTERING_BILATERAL3DIMGLVL3_H__
16 #define __IPSDKIPLFILTERING_BILATERAL3DIMGLVL3_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InTabulatedRangeExponentials.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InTabulatedSpaceExponentials.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/ZStrip3dWithKernel/InKnlZStrip3d.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/ZStrip3d/OutZStrip3d.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InRangeSigma.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InScaleFactor.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InSpaceSigma.h>
29 
30 namespace ipsdk {
31 namespace imaproc {
32 namespace filter {
33 
36 
37 // declare processing algorithm
38 IPSDK_DECLARE_PROCESSING_ALGORITHM(IPSDKIPLFiltering, Bilateral3dImg,
39  ipsdk::imaproc::matchSize(_pInKnlZStrip3d, _pOutZStrip3d),
40  (((ipsdk)(imaproc)(attr))(InKnlZStrip3d))
41  (((ipsdk)(imaproc)(attr))(InRangeSigma))
42  (((ipsdk)(imaproc)(attr))(InSpaceSigma))
43  (((ipsdk)(imaproc)(attr))(InTabulatedRangeExponentials))
44  (((ipsdk)(imaproc)(attr))(InTabulatedSpaceExponentials))
45  (((ipsdk)(imaproc)(attr))(InScaleFactor))
46  (((ipsdk)(imaproc)(attr))(OutZStrip3d)))
47 
48  // implementation of image processing data identifier retrieval method
49  // for function selector usage
50  IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(((STRIP)(InKnlZStrip3d))
51  ((STRIP)(OutZStrip3d)));
52 
53  // declaration of parsed data during processing
54  IPSDK_DECLARE_ALGORITHM_PARSED_DATA(((LINESTRIP)(InKnlZStrip3d))
55  ((LINESTRIP)(OutZStrip3d)));
56 
57 // methods
58 public:
59 
60 protected:
64 
66  template <typename BufInType, typename BufOutType,
67  ipsdk::eInstructionSet::domain IS>
68  ipsdk::BoolResult genericProcessFunction(const ipsdk::processor::ProcessingInfo& info);
69 
70 // attributes
71 protected:
73  typedef boost::scoped_array<const void*> BufColl;
74 
76  BufColl _pBufColl;
77 };
78 
81 
82 } // end of namespace filter
83 } // end of namespace imaproc
84 } // end of namespace ipsdk
85 
86 #endif // __IPSDKIPLFILTERING_BILATERAL3DIMGLVL3_H__
ipsdk::core::ExecResult preProcess()
method called before processing
#define IPSDK_DECLARE_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)
#define IPSDK_DECLARE_ALGORITHM_PARSED_DATA(dataSeq)
#define IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)
Definition of import/export macro for library.