IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
HarrisCorner3dImgLvl1.h
1 // HarrisCorner3dImgLvl1.h:
3 // ------------------------
4 //
14 
15 #ifndef __IPSDKIPLFEATUREDETECTION_HARRISCORNER3DIMGLVL1_H__
16 #define __IPSDKIPLFEATUREDETECTION_HARRISCORNER3DIMGLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/3d/InImg3d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptGradStdDev.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptGradientGaussianCoverage.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptCornerDetectionParams3d.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InGradStdDev.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1Img.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk2Img.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk3Img.h>
31 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk4Img.h>
32 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk5Img.h>
33 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk6Img.h>
34 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
35 
36 namespace ipsdk {
37 namespace imaproc {
38 namespace fd {
39 
42 
43 // declare processor class
44 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLFeatureDetection, HarrisCorner3dImg,
45  matchSize(_pInImg3d, _pOutImg) &&
46  matchSizeAndType(_pOutImg, _pOutWk1Img) &&
47  matchSizeAndType(_pOutWk1Img, _pOutWk2Img, _pOutWk3Img,
48  _pOutWk4Img, _pOutWk5Img, _pOutWk6Img),
49  (((ipsdk)(imaproc)(attr))(InImg3d))
50  (((ipsdk)(imaproc)(attr))(InOptGradStdDev))
51  (((ipsdk)(imaproc)(attr))(InOptGradientGaussianCoverage))
52  (((ipsdk)(imaproc)(attr))(InOptCornerDetectionParams3d))
53  (((ipsdk)(imaproc)(attr))(OutWk1Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
54  (((ipsdk)(imaproc)(attr))(OutWk2Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
55  (((ipsdk)(imaproc)(attr))(OutWk3Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
56  (((ipsdk)(imaproc)(attr))(OutWk4Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
57  (((ipsdk)(imaproc)(attr))(OutWk5Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
58  (((ipsdk)(imaproc)(attr))(OutWk6Img)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned))
59  (((ipsdk)(imaproc)(attr))(OutImg)(promoteUnary)(_pInImg3d)(ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)))
60 
61 // methods
62 public:
63 
64 protected:
65 
66 // attributes
67 protected:
68 
69 };
70 
73 
74 } // end of namespace fd
75 } // end of namespace imaproc
76 } // end of namespace ipsdk
77 
78 #endif // __IPSDKIPLFEATUREDETECTION_HARRISCORNER3DIMGLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
processor::OutputInitializerPtr promoteUnary(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType > &pInputAttribute, const ePromoteUnaryType &promoteUnaryType)
ePUT_UpperSigned
Definition of import/export macro for library.
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)