IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Zoom2dImgLvl2.h
1 // Zoom2dImgLvl2.h:
3 // --------------
4 //
14 
15 #ifndef __IPSDKIPLGEOMETRICTRANSFORM_ZOOM2DIMGLVL2_H__
16 #define __IPSDKIPLGEOMETRICTRANSFORM_ZOOM2DIMGLVL2_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/2d/InSubImg2d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InScaleFactor2d.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InZoomInterpolationMethod.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 namespace gtrans {
31 
34 
35 // declare processor class
36 IPSDK_DECLARE_LVL2_PROCESSOR(ASYNC1, IPSDKIPLGeometricTransform, Zoom2dImg,
37  ipsdk::imaproc::noInSitu(_pInSubImg2d, _pOutImg) &&
38  ipsdk::imaproc::customImageProperty(_pOutImg, matchZoom2d(_pInSubImg2d, _pInScaleFactor2d)),
39  (((ipsdk)(imaproc)(attr))(InSubImg2d))
40  (((ipsdk)(imaproc)(attr))(InZoomInterpolationMethod))
41  (((ipsdk)(imaproc)(attr))(InScaleFactor2d))
42  (((ipsdk)(imaproc)(attr))(OutImg)))
43 
44 // methods
45 public:
46 
47 protected:
48  template <class AlgoLvl3>
49  processor::RetrievalResult retrieveProviderLvl3Templated(
50  const core::BasePriority& priority,
51  core::ActionProviderPtr& pProvider,
52  ipUInt32 hHalfKnlSize);
53 
54 // attributes
55 protected:
56 
57 };
58 
61 
62 } // end of namespace gtrans
63 } // end of namespace imaproc
64 } // end of namespace ipsdk
65 
66 #endif // __IPSDKIPLGEOMETRICTRANSFORM_ZOOM2DIMGLVL2_H__
ProcessingResult< eRetrievalResultType > RetrievalResult
#define IPSDK_DECLARE_LVL2_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
Definition of import/export macro for library.
IPSDKIPLGEOMETRICTRANSFORM_API CustomCheckedImagePropertyPtr matchZoom2d(const ImageAttributeConstPtr &pInputAttribute, const boost::shared_ptr< const attr::InOptScaleFactor2d > &pScaleAttribute, const boost::shared_ptr< const attr::InOptOutputImg2dSize > &pSizeAttribute)
boost::shared_ptr< BaseActionProvider > ActionProviderPtr
Utility functions for Zoom attribute rules management.
uint32_t ipUInt32