IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LocalHistogramModule3dImgLvl1.h
1 // LocalHistogramModule3dImgLvl1.h:
3 // --------------------------------
4 //
14 
15 #ifndef __IPSDKIPLSTATS_LOCALHISTOGRAMMODULE3DIMGLVL1_H__
16 #define __IPSDKIPLSTATS_LOCALHISTOGRAMMODULE3DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InImg3d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutRealImg.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InHalfKnlSizeX.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InHalfKnlSizeY.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InHalfKnlSizeZ.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptNbClasses.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/Range.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 
34 namespace glbmsr {
35  class StatsMsrLvl1;
36 }
37 
38 namespace stats {
39 
42 
43 // declare processor class
44 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC2, IPSDKIPLStats, LocalHistogramModule3dImg,
45  ipsdk::imaproc::matchSize(_pInImg3d, _pOutRealImg),
46  (((ipsdk)(imaproc)(attr))(InImg3d))
47  (((ipsdk)(imaproc)(attr))(InHalfKnlSizeX))
48  (((ipsdk)(imaproc)(attr))(InHalfKnlSizeY))
49  (((ipsdk)(imaproc)(attr))(InHalfKnlSizeZ))
50  (((ipsdk)(imaproc)(attr))(InOptNbClasses))
51  (((ipsdk)(imaproc)(attr))(OutRealImg)(ipsdk::imaproc::duplicateInOut)(_pInImg3d)(image::eImageBufferType::eIBT_Real32)))
52 
53 // methods
54 public:
55 
56 protected:
58  processor::RetrievalResult retrieveLastProvider(const core::BasePriority& priority,
59  core::ActionProviderPtr& pProvider);
60 
61 // attributes
62 protected:
64  boost::shared_ptr<glbmsr::StatsMsrLvl1> _pStatsMsrLvl1;
65 
66 };
67 
70 
71 } // end of namespace stats
72 } // end of namespace imaproc
73 } // end of namespace ipsdk
74 
75 #endif // __IPSDKIPLSTATS_LOCALHISTOGRAMMODULE3DIMGLVL1_H__
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
processor::OutputInitializerPtr duplicateInOut(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType > &pInputAttribute, const eImageInitializerStoragePolicy &storagePolicy=eImageInitializerStoragePolicy::eIISP_Inherit)
Definition of import/export macro for library.
boost::shared_ptr< BaseActionProvider > ActionProviderPtr