IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LUTTransform3dImgLvl1.h
1 // LUTTransform3dImgLvl1.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM3DIMGLVL1_H__
16 #define __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM3DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InImg3d.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, LUTTransform3dImg,
36  ipsdk::imaproc::matchSize(_pInImg3d, _pOutImg) &&
37  ipsdk::imaproc::is2d(_pInPIIntensityLUT) &&
38 
39  //ipsdk::processor::If(ipsdk::imaproc::isGrey(_pInPIIntensityLUT),
40  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
41  // ipsdk::processor::none(),
42  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_T)),
43  // ipsdk::processor::If(ipsdk::imaproc::isSingle(_pInPIIntensityLUT),
44  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_C),
45  // ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_CT))),
46 
47  ((ipsdk::imaproc::is2d(_pInPIIntensityLUT) && ipsdk::imaproc::isGrey(_pInPIIntensityLUT) && ipsdk::imaproc::isSingle(_pInPIIntensityLUT)) ||
48  ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_CT)),
49  //(ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_C) || ipsdk::imaproc::isGrey(_pInPIIntensityLUT)) &&
50  //(ipsdk::imaproc::matchImagePlans(_pInPIIntensityLUT, _pInImg3d, eImagePlansMatchPolicy::eIPMP_T) || ipsdk::imaproc::isSingle(_pInPIIntensityLUT)),
51  (((ipsdk)(imaproc)(attr))(InImg3d))
52  (((ipsdk)(imaproc)(attr))(InPIIntensityLUT))
53  (((ipsdk)(imaproc)(attr))(OutImg)(ipsdk::imaproc::duplicateInOut)(_pInImg3d)))
54 
55 // methods
56 public:
57 
58 // attributes
59 protected:
60 
61 };
62 
65 
66 } // end of namespace itrans
67 } // end of namespace imaproc
68 } // end of namespace ipsdk
69 
70 #endif // __IPSDKIPLINTENSITYTRANSFORM_LUTTRANSFORM3DIMGLVL1_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.