IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
HistogramMaskMsr2dLvl1.h
1 // HistogramMaskMsr2dLvl1.h:
3 // ---------------------
4 //
15 
16 #ifndef __IPSDKIPLGLOBALMEASURE_HISTOGRAMMASKMSR2DLVL1_H__
17 #define __IPSDKIPLGLOBALMEASURE_HISTOGRAMMASKMSR2DLVL1_H__
18 
22 
23 // Attributes headers
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptHistoMsrParams.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutPIHistogram.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InMaskImg.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOutHistogram.h>
29 
30 namespace ipsdk {
31 namespace imaproc {
32 namespace glbmsr {
33 
36 
37 // declare processor class
38 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLGlobalMeasure, HistogramMaskMsr2d,
39  ipsdk::imaproc::matchImagePlans(_pOutPIHistogram, _pInImg, eImagePlansMatchPolicy::eIPMP_ZCT) &&
40  ipsdk::imaproc::matchSize(_pInImg, _pInMaskImg) &&
41  (ipsdk::processor::If(ipsdk::processor::isSet(_pInOptHistoMsrParams),
42  ipsdk::imaproc::matchImageRange<ipsdk::imaproc::attr::HistoMsrParams::Min>(_pInImg, _pInOptHistoMsrParams) &&
43  ipsdk::imaproc::matchImageRange<ipsdk::imaproc::attr::HistoMsrParams::Max>(_pInImg, _pInOptHistoMsrParams) &&
44  ipsdk::processor::isGreater<ipsdk::imaproc::attr::HistoMsrParams::BinWidth>(_pInOptHistoMsrParams, 0),
46  (((ipsdk)(imaproc)(attr))(InImg))
47  (((ipsdk)(imaproc)(attr))(InMaskImg))
48  (((ipsdk)(imaproc)(attr))(InOptHistoMsrParams))
49  (((ipsdk)(imaproc)(attr))(OutPIHistogram)(ipsdk::imaproc::fromImage)(_pInImg)))
50 
51 // methods
52 public:
53 
54 protected:
55 
56 // attributes
57 protected:
58 
59 };
60 
63 
64 } // end of namespace glbmsr
65 } // end of namespace imaproc
66 } // end of namespace ipsdk
67 
68 #endif // __IPSDKIPLGLOBALMEASURE_HISTOGRAMMASKMSR2DLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
IPSDKBASEPROCESSING_API RulePtr none()
processor::OutputInitializerPtr fromImage(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const ImageAttributeConstWeakPtr &pInputImageAttribute, const eFromImagePlanIndexedPolicy &fromImagePlanIndexedPolicy)
boost::enable_if_c< AttributeType::g_bOptional, RulePtr >::type isSet(const boost::shared_ptr< AttributeType > &pAttribute)
Definition of import/export macro for library.
IPSDKBASEPROCESSING_API RulePtr If(const RulePtr &pPredicate, const RulePtr &pRuleTrue)