IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IntensityBasedRegistration2dTrackingStepLvl1.h
1 // IntensityBasedRegistration2dTrackingStepLvl1.h:
3 // -----------------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRACKINGSTEPLVL1_H__
16 #define __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRACKINGSTEPLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/2d/InTargetImg2d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InRegistrationTraining2dData.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Enumerate/InOptRegMotionModel2d.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Value/InOptNbIterByStage.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOutRegistrationTracking2dData.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutRegistrationMotionTransform2d.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/Doubles.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/Coords2dColl.h>
32 
33 namespace ipsdk {
34 namespace imaproc {
35 namespace registration {
36 
39 
40 // declare processor class
41 IPSDK_DECLARE_LVL1_PROCESSOR(REP_ASYNC1, IPSDKIPLRegistration, IntensityBasedRegistration2dTrackingStep,
43  (((ipsdk)(imaproc)(attr))(InTargetImg2d))
44  (((ipsdk)(imaproc)(attr))(InRegistrationTraining2dData))
45  (((ipsdk)(imaproc)(attr))(InOptRegMotionModel2d))
46  (((ipsdk)(imaproc)(attr))(InOptNbIterByStage))
47  (((ipsdk)(imaproc)(attr))(InOutRegistrationTracking2dData))
48  (((ipsdk)(imaproc)(attr))(OutRegistrationMotionTransform2d)(allocate)))
49 
50 // methods
51 public:
52 
53 protected:
57 
60  ipsdk::core::ExecResult postProcess();
61 
63  void clearIntermediateData();
64 
65 // attributes
66 protected:
69  BoolVector _activePointFlags;
70 
72  attr::Coords2dCollPtr _pCoords2dColl;
73 
75  attr::DoublesPtr _pImgValues;
76 
78  math::Matrix3d _globalTransform;
79 };
80 
83 
84 } // end of namespace registration
85 } // end of namespace imaproc
86 } // end of namespace ipsdk
87 
88 #endif // __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRACKINGSTEPLVL1_H__
#define IPSDK_DECLARE_LVL1_PROCESSOR(ProcType, libraryName, algoName, RuleString, attributeSeq)
IPSDKBASEPROCESSING_API RulePtr none()
ipsdk::core::ExecResult preProcess()
method called before processing
boost::shared_ptr< ipsdk::imaproc::attr::Doubles > DoublesPtr
shared pointer to ipsdk::imaproc::Doubles
Definition: Doubles.h:124
Definition of import/export macro for library.
std::vector< ipBool > BoolVector
boost::numeric::ublas::bounded_matrix< ipReal64, 3, 3 > Matrix3d
IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(IPSDKIPLFiltering, Convolution2dImg, ipsdk::imaproc::matchSize(_pInSubGpuImg, _pOutImg),(((ipsdk)(imaproc)(attr))(InSubGpuImg))(((ipsdk)(imaproc)(attr))(InKnlXY))(((ipsdk)(imaproc)(attr))(InNormalize))(((ipsdk)(imaproc)(attr))(InConvolBorder2d))(((ipsdk)(imaproc)(attr))(OutImg))) IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR((InSubGpuImg)(OutImg)) public void clearIntermediateData()
method called before processing
boost::shared_ptr< ipsdk::imaproc::attr::Coords2dColl > Coords2dCollPtr
shared pointer to ipsdk::imaproc::attr::Coords2dColl
Definition: Coords2dColl.h:134