IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GreySignedFeatures2dRegistrationImgLvl1.h
1 // GreySignedFeatures2dRegistrationImgLvl1.h:
3 // ------------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLREGISTRATION_GREYSIGNEDFEATURES2DREGISTRATIONIMGLVL1_H__
16 #define __IPSDKIPLREGISTRATION_GREYSIGNEDFEATURES2DREGISTRATIONIMGLVL1_H__
17 
22 
23 // Attributes headers
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg1.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/InImg2.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk1Img.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk2Img.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk3Img.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Working/OutWk4Img.h>
31 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptNbFeatures.h>
32 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptCorrelationThreshold2d.h>
33 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InOptRegMotionModel2d.h>
34 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptRegistrationEstimationConfig.h>
35 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InOptInterpolationPolicy.h>
36 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/Optional/OutOptMaskImg.h>
37 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutPIRegistrationMotionTransform2d.h>
38 
39 namespace ipsdk {
40 namespace imaproc {
41 namespace registration {
42 
45 
46 // declare processor class
47 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLRegistration, GreySignedFeatures2dRegistrationImg,
48  ipsdk::imaproc::matchSize(_pInImg1, _pInImg2, _pOutImg) &&
49  ipsdk::imaproc::matchSize(_pInImg1, _pOutWk1Img, _pOutWk2Img) &&
50  ipsdk::imaproc::matchSize(_pInImg1, _pOutWk3Img, _pOutWk4Img) &&
51  ipsdk::imaproc::matchImagePlans(_pOutPIRegistrationMotionTransform2d, _pInImg1, eImagePlansMatchPolicy::eIPMP_ZCT) &&
52  ipsdk::processor::ifIsSet(_pOutOptMaskImg,
53  ipsdk::imaproc::match2dMask(_pOutImg, _pOutOptMaskImg)),
54  (((ipsdk)(imaproc)(attr))(InImg1))
55  (((ipsdk)(imaproc)(attr))(InImg2))
56  (((ipsdk)(imaproc)(attr))(InOptNbFeatures))
57  (((ipsdk)(imaproc)(attr))(InOptRegMotionModel2d))
58  (((ipsdk)(imaproc)(attr))(InOptCorrelationThreshold2d))
59  (((ipsdk)(imaproc)(attr))(InOptRegistrationEstimationConfig))
60  (((ipsdk)(imaproc)(attr))(InOptInterpolationPolicy))
61  (((ipsdk)(imaproc)(attr))(OutWk1Img)(promoteBinary)(_pInImg1)(_pInImg2)(ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned))
62  (((ipsdk)(imaproc)(attr))(OutWk2Img)(promoteBinary)(_pInImg1)(_pInImg2)(ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned))
63  (((ipsdk)(imaproc)(attr))(OutWk3Img)(promoteBinary)(_pInImg1)(_pInImg2)(ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned))
64  (((ipsdk)(imaproc)(attr))(OutWk4Img)(promoteBinary)(_pInImg1)(_pInImg2)(ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned))
65  (((ipsdk)(imaproc)(attr))(OutPIRegistrationMotionTransform2d)(ipsdk::imaproc::fromImage)(_pInImg1))
66  (((ipsdk)(imaproc)(attr))(OutImg)(ipsdk::imaproc::duplicateInOut)(_pInImg1))
67  (((ipsdk)(imaproc)(attr))(OutOptMaskImg)))
68 
69 // methods
70 public:
71 
72 protected:
73 
74 // attributes
75 protected:
76 
77 };
78 
81 
82 } // end of namespace registration
83 } // end of namespace imaproc
84 } // end of namespace ipsdk
85 
86 #endif // __IPSDKIPLREGISTRATION_GREYSIGNEDFEATURES2DREGISTRATIONIMGLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
ePBT_UpperSigned
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)
Definition of import/export macro for library.
processor::OutputInitializerPtr fromImage(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const ImageAttributeConstWeakPtr &pInputImageAttribute, const eFromImagePlanIndexedPolicy &fromImagePlanIndexedPolicy)
processor::OutputInitializerPtr promoteBinary(const boost::weak_ptr< OutputAttributeType > &pOutputAttribute, const boost::weak_ptr< InputAttributeType1 > &pInputAttribute1, const boost::weak_ptr< InputAttributeType2 > &pInputAttribute2, const ePromoteBinaryType &promoteBinaryType, const bool bAllowReInterpretation=false)