IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
WarpMotionTransform2d.h
1 // WarpMotionTransform2d.h:
3 // ------------------------
4 //
15 
16 #ifndef __IPSDKIPLATTRIBUTES_WARPMOTIONTRANSFORM2D_H__
17 #define __IPSDKIPLATTRIBUTES_WARPMOTIONTRANSFORM2D_H__
18 
22 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/RegistrationMotionTransform2d.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 namespace attr {
28 
34 
35 IPSDK_DECLARE_NODE_DATA(IPSDKIPLAttributes, WarpMotionTransform2d,
36  ((ENUMLEAF)(Type)(ipsdk::math::transform::eGeometricTransform2dType)(ipsdk::math::transform::eGeometricTransform2dType::eGT2DT_Rigid))
37  ((LEAF_COLL)(Params)(ipsdk::ipReal64)))
38 
39 public:
41  WarpMotionTransform2d(const ipsdk::math::transform::BaseGeometricTransform2d& tranform);
42 
45  bool isParamsSizeValid() const;
46 
48  typedef ipsdk::math::transform::GeometricTransform2dPtr GeometricTransformPtr;
49 
53  operator GeometricTransformPtr() const;
54 };
55 
58 
61 typedef boost::shared_ptr<ipsdk::imaproc::attr::WarpMotionTransform2d> WarpMotionTransform2dPtr;
62 
65 typedef boost::shared_ptr<const ipsdk::imaproc::attr::WarpMotionTransform2d> WarpMotionTransform2dConstPtr;
66 
69 
75 createWarpMotionTransform2d(const ipsdk::math::transform::eGeometricTransform2dType& type,
76  const std::vector<ipReal64>& params);
77 
82 
87 
93  const image::BaseImage& image);
94 
100 createCenteredRotation(const ipReal64 theta,
101  const ipUInt64 sizeX,
102  const ipUInt64 sizeY);
103 
106 
107 } // end of namespace attr
108 } // end of namespace imaproc
109 } // end of namespace ipsdk
110 
111 #endif // __IPSDKIPLATTRIBUTES_WARPMOTIONTRANSFORM2D_H__
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
uint64_t ipUInt64
boost::shared_ptr< ipsdk::imaproc::attr::WarpMotionTransform2d > WarpMotionTransform2dPtr
shared pointer to ipsdk::imaproc::attr::WarpMotionTransform2d
Definition: WarpMotionTransform2d.h:161
double ipReal64
boost::shared_ptr< const ipsdk::imaproc::attr::WarpMotionTransform2d > WarpMotionTransform2dConstPtr
shared pointer to const ipsdk::imaproc::attr::Pixels2d
Definition: WarpMotionTransform2d.h:165
IPSDKIPLATTRIBUTES_API WarpMotionTransform2dPtr createCenteredRotation(const ipReal64 theta, const ipUInt64 sizeX, const ipUInt64 sizeY)
method allowing to create a centered rotation given image size
IPSDKIPLATTRIBUTES_API WarpMotionTransform2dPtr createWarpMotionTransform2d(const RegistrationMotionTransform2dConstPtr &pTranform)
method allowing to create a warp motion transform 2d
Definition of import/export macro for library.
#define IPSDKIPLATTRIBUTES_API
Import/Export macro for library IPSDKIPLAttributes.
Definition: IPSDKIPLAttributesExports.h:25
boost::shared_ptr< const ipsdk::imaproc::attr::RegistrationMotionTransform2d > RegistrationMotionTransform2dConstPtr
shared pointer to const ipsdk::imaproc::attr::RegistrationMotionTransform2d
Definition: RegistrationMotionTransform2d.h:160