IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ParaboloidImgFit2dLvl3.h
1 // ParaboloidImgFit2dLvl3.h:
3 // -------------------------
4 //
14 
15 #ifndef __IPSDKIPLGLOBALMEASURE_PARABOLOIDIMGFIT2DLVL3_H__
16 #define __IPSDKIPLGLOBALMEASURE_PARABOLOIDIMGFIT2DLVL3_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/DataItem/OutMatrixSums.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InYStrip2d.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InOptMaskYStrip2d.h>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 namespace glbmsr {
29 
32 
33 // declare processing algorithm
34 IPSDK_DECLARE_PROCESSING_ALGORITHM(IPSDKIPLGlobalMeasure, ParaboloidImgFit2d,
36  (((ipsdk)(imaproc)(attr))(InYStrip2d))
37  (((ipsdk)(imaproc)(attr))(InOptMaskYStrip2d))
38  (((ipsdk)(imaproc)(attr))(OutMatrixSums)))
39 
40  // implementation of image processing data identifier retrieval method
41  // for function selector usage
42  IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(((STRIP)(InYStrip2d)));
43 
44  // declaration of parsed data during processing
45  IPSDK_DECLARE_ALGORITHM_PARSED_DATA(((LINESTRIP)(InYStrip2d))
46  ((LINESTRIP)(InOptMaskYStrip2d)));
47 
48 // methods
49 public:
50 
51  enum MatrixSumsIx {
52  MSI_SumIX2, MSI_SumIY2, MSI_SumIXY, MSI_SumIX, MSI_SumIY, MSI_SumI,
53  MSI_SumX4, MSI_SumX2Y2, MSI_SumX3Y, MSI_SumX3, MSI_SumX2Y, MSI_SumX2,
54  MSI_SumY4, MSI_SumXY3, MSI_SumXY2, MSI_SumY3, MSI_SumY2, MSI_SumXY,
55  MSI_SumX, MSI_SumY, MSI_NbPixels, MSI_Size
56  };
57 
58 protected:
59 
61  template <typename BufInType,
62  ipsdk::eInstructionSet::domain IS>
63  ipsdk::BoolResult genericProcessFunction(const ipsdk::processor::ProcessingInfo& info);
64 
65  template <typename BufInType,
66  ipsdk::eInstructionSet::domain IS>
67  ipsdk::BoolResult genericProcessFunctionWithMask(const ipsdk::processor::ProcessingInfo& info);
68 
69  template <typename BufInType,
70  ipsdk::eInstructionSet::domain IS>
71  ipsdk::BoolResult genericProcessFunctionNoMask(const ipsdk::processor::ProcessingInfo& info);
72 
73 // attributes
74 protected:
75  boost::scoped_array<ipReal64> _x;
76 };
77 
80 
81 } // end of namespace glbmsr
82 } // end of namespace imaproc
83 } // end of namespace ipsdk
84 
85 #endif // __IPSDKIPLGLOBALMEASURE_PARABOLOIDIMGFIT2DLVL3_H__
IPSDKBASEPROCESSING_API RulePtr none()
#define IPSDK_DECLARE_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)
#define IPSDK_DECLARE_ALGORITHM_PARSED_DATA(dataSeq)
Definition of import/export macro for library.
#define IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)