IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GreyReconstruction3dImgLvl2.h
1 // GreyReconstruction3dImgLvl2.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKIPLADVANCEDMORPHOLOGY_GREYRECONSTRUCTION3DIMGLVL2_H__
16 #define __IPSDKIPLADVANCEDMORPHOLOGY_GREYRECONSTRUCTION3DIMGLVL2_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/3d/InSubImg3d.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InLocalExtremumType.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/InOut/InOutImg.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_ASYNC2, IPSDKIPLAdvancedMorphology, GreyReconstruction3dImg,
36  ((ipsdk::imaproc::matchSizeAndType(_pInSubImg3d, _pInOutImg)) &&
37  (ipsdk::imaproc::noInSitu(_pInSubImg3d, _pInOutImg))),
38  (((ipsdk)(imaproc)(attr))(InSubImg3d))
39  (((ipsdk)(imaproc)(attr))(InLocalExtremumType))
40  (((ipsdk)(imaproc)(attr))(InOutImg)))
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_GREYRECONSTRUCTION3DIMGLVL2_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)