IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MultiscaleVesselEnhancement3dImgLvl1.h
1 // MultiscaleVesselEnhancement3dImgLvl1.h:
3 // ---------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT3DIMGLVL1_H__
16 #define __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT3DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InMVEParams.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InImg3d.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Optional/OutOptClassImg.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutRealImg.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1RealImg.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk2RealImg.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk3RealImg.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk4RealImg.h>
31 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk5RealImg.h>
32 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk6RealImg.h>
33 
34 namespace ipsdk {
35 namespace imaproc {
36 namespace filter {
37 
40 
41 // declare processor class
42 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLFiltering, MultiscaleVesselEnhancement3dImg,
43  matchSize(_pInImg3d, _pOutRealImg) &&
44  matchSize(_pInImg3d, _pOutWk1RealImg) &&
45  matchSizeAndType(_pOutWk1RealImg, _pOutWk2RealImg) &&
46  matchSizeAndType(_pOutWk1RealImg, _pOutWk3RealImg) &&
47  matchSizeAndType(_pOutWk1RealImg, _pOutWk4RealImg) &&
48  matchSizeAndType(_pOutWk1RealImg, _pOutWk5RealImg) &&
49  matchSizeAndType(_pOutWk1RealImg, _pOutWk6RealImg) &&
50  ipsdk::processor::ifIsSet(_pOutOptClassImg,
51  matchSize(_pInImg3d, _pOutOptClassImg)),
52  (((ipsdk)(imaproc)(attr))(InImg3d))
53  (((ipsdk)(imaproc)(attr))(InMVEParams))
54  (((ipsdk)(imaproc)(attr))(OutWk1RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
55  (((ipsdk)(imaproc)(attr))(OutWk2RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
56  (((ipsdk)(imaproc)(attr))(OutWk3RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
57  (((ipsdk)(imaproc)(attr))(OutWk4RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
58  (((ipsdk)(imaproc)(attr))(OutWk5RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
59  (((ipsdk)(imaproc)(attr))(OutWk6RealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32))
60  (((ipsdk)(imaproc)(attr))(OutOptClassImg))
61  (((ipsdk)(imaproc)(attr))(OutRealImg)(duplicateInOut)(_pInImg3d)(ipsdk::image::eImageBufferType::eIBT_Real32)))
62 
63 // methods
64 public:
65 
66 protected:
67 
68 // attributes
69 protected:
70 
71 };
72 
75 
76 } // end of namespace filter
77 } // end of namespace imaproc
78 } // end of namespace ipsdk
79 
80 #endif // __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT3DIMGLVL1_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)
boost::enable_if_c< AttributeType::g_bOptional, RulePtr >::type ifIsSet(const boost::shared_ptr< AttributeType > &pAttribute, const RulePtr &pRuleTrue)
IPSDKIMAGEPROCESSING_API processor::RulePtr matchSizeAndType(const ImageAttributeConstWeakPtr &pAttribute1, const ImageAttributeConstWeakPtr &pAttribute2)
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafCollType::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_LeafColl > >::type >::type, RulePtr >::type matchSize(const boost::shared_ptr< AttributeType > &pAttribute, const ipUInt32 targetSize)
Definition of import/export macro for library.