IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LinearMirorBorderYStrip2d.h
1 // LinearMirorBorderYStrip2d.h:
3 // ----------------------
4 //
16 
17 #ifndef __IPSDKIMAGEPROCESSING_LINEARMIRORBORDERYSTRIP2D_H__
18 #define __IPSDKIMAGEPROCESSING_LINEARMIRORBORDERYSTRIP2D_H__
19 
20 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineYStrip2dWithKernel/Border/BaseBorderYStrip2d.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 LineYStrip2dWithKernelParserInfo<T>& info,
54  const ipUInt64 stripRowIdx,
55  T* pRowData);
56 
61  void prepareFinalBorderColumns(const LineYStrip2dWithKernelParserInfo<T>& info,
62  const ipUInt64 stripRowIdx,
63  T* pRowData);
64 
69  void prepareInitialBorderRow(const LineYStrip2dWithKernelParserInfo<T>& info,
70  const ipUInt64 stripRowIdx,
71  T* pRowData);
72 
77  void prepareMainBorderRow(const LineYStrip2dWithKernelParserInfo<T>& info,
78  const ipUInt64 stripRowIdx,
79  T*& pRowData);
80 
85  void prepareFinalBorderRow(const LineYStrip2dWithKernelParserInfo<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 LineYStrip2dWithKernelParserInfo<T>& info,
93  const ipUInt64 stripColIdx,
94  const ipUInt64 stripRowIdx) 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_LINEARMIRORBORDERYSTRIP2D_H__
existing data using a given direction
Definition: Border2dPolicyTypes.h:45
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
image::eBorder2dType getBorderType() const
retrieve border type
Definition: LinearMirorBorderYStrip2d.h:111
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
ipReal64 _theta
angle (in radian) associated to border extension operation
Definition: LinearMirorBorderYStrip2d.h:100
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
ipReal64 _tanTheta
tangent of angle used to process border extension operation
Definition: LinearMirorBorderYStrip2d.h:103
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
ipReal64 getTheta() const
access to angle (in radian) associated to border extension operation
Definition: LinearMirorBorderYStrip2d.h:118
eBorder2dType
Enumerate describing image data preparator 2d border type.
Definition: Border2dPolicyTypes.h:35
Object allowing to extend borders linearly mirroring existing data using a given direction during a k...
Definition: LinearMirorBorderYStrip2d.h:29
Base class for objects allowing to prepare y strip 2d borders during a kernel algorithm processing...
Definition: BaseBorderYStrip2d.h:40
Information structure for y strip 2d with kernel data parsing.
Definition: BaseBorderYStrip2d.h:34