IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LUTTransform2dImgLvl1.h
1 // LUTTransform2dImgLvl1.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM2DIMGLVL1_H__
16 #define __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM2DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InPIIntensityLUT.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 namespace itrans {
30 
33 
34 // declare processor class
35 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLIntensityTransform, LUTTransform2dImg,
36  ipsdk::imaproc::matchSize(_pInImg, _pOutImg) &&
37  //ipsdk::processor::If(ipsdk::imaproc::is2d(_pInPIIntensityLUT),
38  // ipsdk::processor::If(ipsdk::imaproc::isGrey(_pInPIIntensityLUT),
39  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
40  // ipsdk::processor::none(),
41  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_T)),
42  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
43  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_C),
44  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_CT))),
45  // ipsdk::processor::If(ipsdk::imaproc::isGrey(_pInPIIntensityLUT),
46  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
47  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_Z),
48  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_ZT)),
49  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
50  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_ZC),
51  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_ZCT)))),
52 
53  ((ipsdk::imaproc::is2d(_pInPIIntensityLUT) && ipsdk::imaproc::isGrey(_pInPIIntensityLUT) && ipsdk::imaproc::isSingle(_pInPIIntensityLUT)) ||
54  ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_ZCT)),
55 // (ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_Z) || ipsdk::imaproc::is2d(_pInPIIntensityLUT)) &&
56 // (ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_C) || ipsdk::imaproc::isGrey(_pInPIIntensityLUT)) &&
57 // (ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg, eImagePlansMatchPolicy::eIPMP_T) || ipsdk::imaproc::isSingle(_pInPIIntensityLUT)),
58  (((ipsdk)(imaproc)(attr))(InImg))
59  (((ipsdk)(imaproc)(attr))(InPIIntensityLUT))
60  (((ipsdk)(imaproc)(attr))(OutImg)(ipsdk::imaproc::duplicateInOut)(_pInImg)))
61 
62 // methods
63 public:
64 
65 // attributes
66 protected:
67 
68 };
69 
72 
73 } // end of namespace itrans
74 } // end of namespace imaproc
75 } // end of namespace ipsdk
76 
77 #endif // __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM2DIMGLVL1_H__
#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.