IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LinearContinueBorderXStrip2d.h
1 // LinearContinueBorderXStrip2d.h:
3 // -------------------------
4 //
16 
17 #ifndef __IPSDKIMAGEPROCESSING_LINEARCONTINUEBORDERXSTRIP2D_H__
18 #define __IPSDKIMAGEPROCESSING_LINEARCONTINUEBORDERXSTRIP2D_H__
19 
20 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineXStrip2dWithKernel/Border/BaseBorderXStrip2d.h>
21 
22 namespace ipsdk {
23 namespace imaproc {
24 
27 
28 template <typename T>
30 {
31 public:
37 
38 // methods
39 public:
41  image::eBorder2dType getBorderType() const;
42 
45  void setTheta(const ipReal64 theta);
46  ipReal64 getTheta() const;
48 
53  void prepareInitialBorderColumns(const LineXStrip2dWithKernelParserInfo<T>& info,
54  const ipUInt64 stripRowIdx,
55  T* pRowData);
56 
61  void prepareFinalBorderColumns(const LineXStrip2dWithKernelParserInfo<T>& info,
62  const ipUInt64 stripRowIdx,
63  T* pRowData);
64 
69  void prepareInitialBorderRow(const LineXStrip2dWithKernelParserInfo<T>& info,
70  const ipUInt64 stripRowIdx,
71  T* pRowData);
72 
77  void prepareMainBorderRow(const LineXStrip2dWithKernelParserInfo<T>& info,
78  const ipUInt64 stripRowIdx,
79  T*& pRowData);
80 
85  void prepareFinalBorderRow(const LineXStrip2dWithKernelParserInfo<T>& info,
86  const ipUInt64 stripRowIdx,
87  T* pRowData);
88 
89 protected:
90  // method allowing to retrieve pixel value associated to border
91  // pixel coordinates
92  T getPixelValue(const LineXStrip2dWithKernelParserInfo<T>& info,
93  const ipUInt64 stripColIdx,
94  const ipUInt64stripRowIdx) const;
95 
96 // attributes
97 protected:
101 
104 };
105 
108 
109 template <typename T>
112 {
114 }
115 
116 template <typename T>
117 inline ipReal64
119 {
120  return _theta;
121 }
122 
125 
126 } // end of namespace imaproc
127 } // end of namespace ipsdk
128 
129 #endif // __IPSDKIMAGEPROCESSING_LINEARCONTINUEBORDERXSTRIP2D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
ipReal64 getTheta() const
access to angle (in radian) associated to border extension operation
Definition: LinearContinueBorderXStrip2d.h:118
image::eBorder2dType getBorderType() const
retrieve border type
Definition: LinearContinueBorderXStrip2d.h:111
Base class for objects allowing to prepare x strip 2d borders during a kernel algorithm processing...
Definition: BaseBorderXStrip2d.h:40
Definition: Border2dPolicyTypes.h:43
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Object allowing to extend borders linearly continuing existing data using a given direction during a ...
Definition: LinearContinueBorderXStrip2d.h:29
Information structure for x strip 2d with kernel data parsing.
Definition: BaseBorderXStrip2d.h:34
eBorder2dType
Enumerate describing image data preparator 2d border type.
Definition: Border2dPolicyTypes.h:35
ipReal64 _tanTheta
tangent of angle used to process border extension operation
Definition: LinearContinueBorderXStrip2d.h:103
ipReal64 _theta
angle (in radian) associated to border extension operation
Definition: LinearContinueBorderXStrip2d.h:100