IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IntensityBasedRegistration2dTrainingStepLvl1.h
1 // IntensityBasedRegistration2dTrainingStepLvl1.h:
3 // -----------------------------------------------
4 //
14 
15 #ifndef __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRAININGSTEPLVL1_H__
16 #define __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRAININGSTEPLVL1_H__
17 
21 
22 // Attributes headers
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Input/2d/InOriginImg2d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InCoords2dColl.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptRegistrationTracking2dGrid.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/InOptRegistrationTraining2dConfig.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutRegistrationTracking2dData.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutRegistrationTraining2dData.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/Doubles.h>
31 
32 namespace ipsdk {
33 namespace imaproc {
34 namespace registration {
35 
38 
39 // declare processor class
40 IPSDK_DECLARE_LVL1_PROCESSOR(ASYNC1, IPSDKIPLRegistration, IntensityBasedRegistration2dTrainingStep,
42  (((ipsdk)(imaproc)(attr))(InOriginImg2d))
43  (((ipsdk)(imaproc)(attr))(InCoords2dColl))
44  (((ipsdk)(imaproc)(attr))(InOptRegistrationTracking2dGrid))
45  (((ipsdk)(imaproc)(attr))(InOptRegistrationTraining2dConfig))
46  (((ipsdk)(imaproc)(attr))(OutRegistrationTracking2dData)(allocate))
47  (((ipsdk)(imaproc)(attr))(OutRegistrationTraining2dData)(allocate)))
48 
49 // methods
50 public:
51 
52 protected:
56 
59  ipsdk::core::ExecResult postProcess();
60 
62  void clearIntermediateData();
63 
64 // attributes
65 protected:
67  std::vector<math::Matrix> _byStagePerturbations;
68 
70  ipUInt32 _nbFilteredInputPoints;
71 
73  attr::Coords2dCollPtr _pCoords2dColl;
74 
76  attr::DoublesPtr _pImgValues;
77 };
78 
81 
82 } // end of namespace registration
83 } // end of namespace imaproc
84 } // end of namespace ipsdk
85 
86 #endif // __IPSDKIPLREGISTRATION_INTENSITYBASEDREGISTRATION2DTRAININGSTEPLVL1_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.
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
uint32_t ipUInt32
boost::shared_ptr< ipsdk::imaproc::attr::Coords2dColl > Coords2dCollPtr
shared pointer to ipsdk::imaproc::attr::Coords2dColl
Definition: Coords2dColl.h:134