IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LocalExtrema2dImgLvl2.h
1 // LocalExtrema2dImgLvl2.h:
3 // ------------------------
4 //
14 
15 #ifndef __IPSDKIPLADVANCEDMORPHOLOGY_LOCALEXTREMA2DIMGLVL2_H__
16 #define __IPSDKIPLADVANCEDMORPHOLOGY_LOCALEXTREMA2DIMGLVL2_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/2d/InSubImg2d.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InLocalExtremumType.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutBinImg.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutNbModifiedPixels.h>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 namespace advmorpho {
30 
33 
34 // declare processor class
35 IPSDK_DECLARE_LVL2_PROCESSOR(REP_ASYNC1, IPSDKIPLAdvancedMorphology, LocalExtrema2dImg,
36  ipsdk::imaproc::matchSize(_pInSubImg2d, _pOutBinImg) &&
37  ipsdk::imaproc::noInSitu(_pInSubImg2d, _pOutBinImg),
38  (((ipsdk)(imaproc)(attr))(InSubImg2d))
39  (((ipsdk)(imaproc)(attr))(InLocalExtremumType))
40  (((ipsdk)(imaproc)(attr))(OutBinImg)))
41 
42 // methods
43 public:
44 
45 protected:
48  ipUInt64 computeNbModifiedPixels();
49 
50 // attributes
51 protected:
52  // declaration of dispatch results collection
53  IPSDK_DECLARE_DYNAMIC_RESULT_COLL(attr::OutNbModifiedPixels, NbModifiedPixelsColl);
54 
57  ipUInt64 _nbPrevModifiedPixels;
58 };
59 
62 
63 } // end of namespace advmorpho
64 } // end of namespace imaproc
65 } // end of namespace ipsdk
66 
67 #endif // __IPSDKIPLADVANCEDMORPHOLOGY_LOCALEXTREMA2DIMGLVL2_H__
Definition of import/export macro for library.
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
uint64_t ipUInt64
#define IPSDK_DECLARE_DYNAMIC_RESULT_COLL(AttributeType, CollType)