IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RemoveSmallShape3dImgLvl2.h
1 // RemoveSmallShape3dImgLvl2.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKIPLADVANCEDMORPHOLOGY_REMOVESMALLSHAPE3DIMGLVL2_H__
16 #define __IPSDKIPLADVANCEDMORPHOLOGY_REMOVESMALLSHAPE3DIMGLVL2_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/3d/InSubLabelImg3d.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InMinShapeSize.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutBinLabImg.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/StatsResult.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/HistogramData.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 namespace advmorpho {
31 
34 
35 // declare processor class
36 IPSDK_DECLARE_LVL2_PROCESSOR(REP_ASYNC1, IPSDKIPLAdvancedMorphology, RemoveSmallShape3dImg,
37  ipsdk::imaproc::matchSize(_pInSubLabelImg3d, _pOutBinLabImg),
38  (((ipsdk)(imaproc)(attr))(InSubLabelImg3d))
39  (((ipsdk)(imaproc)(attr))(InMinShapeSize))
40  (((ipsdk)(imaproc)(attr))(OutBinLabImg)))
41 
42 // methods
43 public:
44 
45 protected:
47  void clearIntermediateData();
48 
49  processor::RetrievalResult provideProcessor(const boost::shared_ptr<core::BaseAction>& pProcessor,
50  const core::BasePriority& priority,
51  core::ActionProviderPtr& pProvider);
52 
53  processor::RetrievalResult statsMsr(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
54  processor::RetrievalResult histogramMsr(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
55  processor::RetrievalResult lutTransform(const core::BasePriority& priority, core::ActionProviderPtr& pProvider);
56 
57 // attributes
58 protected:
60  attr::StatsResultPtr _pStatsPtr;
61  attr::HistogramDataPtr _pHistoPtr;
62 
63 };
64 
67 
68 } // end of namespace advmorpho
69 } // end of namespace imaproc
70 } // end of namespace ipsdk
71 
72 #endif // __IPSDKIPLADVANCEDMORPHOLOGY_REMOVESMALLSHAPE3DIMGLVL2_H__
Definition of import/export macro for library.
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
boost::shared_ptr< ipsdk::imaproc::attr::HistogramData > HistogramDataPtr
shared pointer to ipsdk::imaproc::HistogramData
Definition: HistogramData.h:231
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
boost::shared_ptr< ipsdk::imaproc::attr::StatsResult > StatsResultPtr
shared pointer to ipsdk::imaproc::attr::StatsResult
Definition: StatsResult.h:206