IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GenericSeededDistanceMap3dImgLvl2.h
1 // GenericSeededDistanceMap3dImgLvl2.h:
3 // ------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLADVANCEDMORPHOLOGY_GENERICSEEDEDDISTANCEMAP3DIMGLVL2_H__
16 #define __IPSDKIPLADVANCEDMORPHOLOGY_GENERICSEEDEDDISTANCEMAP3DIMGLVL2_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InDistWeight3d.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/3d/InSubBinImg3d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/3d/InSubBinSeedImg3d.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutDistImg.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptMaxDistance.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutNbModifiedPixels.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 namespace advmorpho {
32 
35 
36 // declare processor class
37 IPSDK_DECLARE_LVL2_PROCESSOR(REP_ASYNC1, IPSDKIPLAdvancedMorphology, GenericSeededDistanceMap3dImg,
39  (((ipsdk)(imaproc)(attr))(InSubBinImg3d))
40  (((ipsdk)(imaproc)(attr))(InSubBinSeedImg3d))
41  (((ipsdk)(imaproc)(attr))(InDistWeight3d))
42  (((ipsdk)(imaproc)(attr))(InOptMaxDistance))
43  (((ipsdk)(imaproc)(attr))(OutDistImg)))
44 
45 // methods
46 public:
47 
48 protected:
51  ipUInt64 computeNbModifiedPixels();
52 
53 // attributes
54 protected:
55  // declaration of dispatch results collection
56  IPSDK_DECLARE_DYNAMIC_RESULT_COLL(attr::OutNbModifiedPixels, OutNbModifiedPixelsColl);
57 
60  ipUInt64 _nbPrevModifiedPixels;
61 
63  bool _bEndingPassProcessed;
64 };
65 
68 
69 } // end of namespace advmorpho
70 } // end of namespace imaproc
71 } // end of namespace ipsdk
72 
73 #endif // __IPSDKIPLADVANCEDMORPHOLOGY_GENERICSEEDEDDISTANCEMAP3DIMGLVL2_H__
Definition of import/export macro for library.
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
uint64_t ipUInt64
IPSDKBASEPROCESSING_API RulePtr none()
#define IPSDK_DECLARE_DYNAMIC_RESULT_COLL(AttributeType, CollType)