IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MultiscaleVesselEnhancement2dImgLvl1.h
1 // MultiscaleVesselEnhancement2dImgLvl1.h:
3 // ---------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT2DIMGLVL1_H__
16 #define __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT2DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InMVEParams.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg.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 
31 namespace ipsdk {
32 namespace imaproc {
33 namespace filter {
34 
37 
38 // declare processor class
39 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLFiltering, MultiscaleVesselEnhancement2dImg,
40  matchSize(_pInImg, _pOutRealImg) &&
41  matchSize(_pInImg, _pOutWk1RealImg) &&
42  matchSizeAndType(_pOutWk1RealImg, _pOutWk2RealImg) &&
43  matchSizeAndType(_pOutWk1RealImg, _pOutWk3RealImg) &&
44  ipsdk::processor::ifIsSet(_pOutOptClassImg,
45  matchSize(_pInImg, _pOutOptClassImg)),
46  (((ipsdk)(imaproc)(attr))(InImg))
47  (((ipsdk)(imaproc)(attr))(InMVEParams))
48  (((ipsdk)(imaproc)(attr))(OutWk1RealImg)(duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
49  (((ipsdk)(imaproc)(attr))(OutWk2RealImg)(duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
50  (((ipsdk)(imaproc)(attr))(OutWk3RealImg)(duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32))
51  (((ipsdk)(imaproc)(attr))(OutOptClassImg))
52  (((ipsdk)(imaproc)(attr))(OutRealImg)(duplicateInOut)(_pInImg)(ipsdk::image::eImageBufferType::eIBT_Real32)))
53 
54 // methods
55 public:
56 
57 protected:
58 
59 // attributes
60 protected:
61 
62 };
63 
66 
67 } // end of namespace filter
68 } // end of namespace imaproc
69 } // end of namespace ipsdk
70 
71 #endif // __IPSDKIPLFILTERING_MULTISCALEVESSELENHANCEMENT2DIMGLVL1_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.