IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ConnectedComponent3dImgLvl2.h
1 // ConnectedComponent3dImgLvl2.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKIPLADVANCEDMORPHOLOGY_CONNECTEDCOMPONENT3DIMGLVL2_H__
16 #define __IPSDKIPLADVANCEDMORPHOLOGY_CONNECTEDCOMPONENT3DIMGLVL2_H__
17 
22 
23 // Attributes headers
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/3d/InSubBinLabImg3d.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Neighborhood/InNeighborhood3d.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Output/3d/OutSubLabelImg3d.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutLabelInfo.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutLabelConnectionTable.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutInterStripLabelConnections.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 namespace advmorpho {
34 
37 
38 // declare processor class
39 IPSDK_DECLARE_LVL2_PROCESSOR(ASYNC3, IPSDKIPLAdvancedMorphology, ConnectedComponent3dImg,
40  ipsdk::imaproc::matchSize(_pInSubBinLabImg3d, _pOutSubLabelImg3d),
41  (((ipsdk)(imaproc)(attr))(InSubBinLabImg3d))
42  (((ipsdk)(imaproc)(attr))(InNeighborhood3d))
43  (((ipsdk)(imaproc)(attr))(OutSubLabelImg3d))
44  (((ipsdk)(imaproc)(attr))(OutLabelInfo)))
45 
46 // methods
47 public:
48 
49 protected:
52  void notifyFirstProviderCompletion(const core::ActionProviderPtr& pProvider);
53 
56  processor::RetrievalResult retrieveLastProvider(const core::BasePriority& priority,
57  core::ActionProviderPtr& pProvider);
58 
60  void clearIntermediateData();
61 
62 // attributes
63 protected:
64  // declaration of dispatch results collection
65  IPSDK_DECLARE_DYNAMIC_RESULT_COLL(attr::OutLabelConnectionTable, StripConnections);
66 
67  // declaration of dispatch results collection
69 
71  processor::ElementsSplitInfoConstPtr _pElementsSplitInfo;
72 
74  boost::shared_ptr<attr::LabelConnectionTable> _pGlobalLabelConnectionTable;
75 };
76 
79 
80 } // end of namespace advmorpho
81 } // end of namespace imaproc
82 } // end of namespace ipsdk
83 
84 #endif // __IPSDKIPLADVANCEDMORPHOLOGY_CONNECTEDCOMPONENT3DIMGLVL2_H__
Definition of import/export macro for library.
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
[Output] Inter strip labels connections informations
Definition: OutInterStripLabelConnections.h:45
boost::shared_ptr< const ElementsSplitInfo > ElementsSplitInfoConstPtr
#define IPSDK_DECLARE_STATIC_RESULT_COLL(AttributeType, CollType)
boost::shared_ptr< BaseActionProvider > ActionProviderPtr
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
#define IPSDK_DECLARE_DYNAMIC_RESULT_COLL(AttributeType, CollType)