Image Utilities (IU)
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Friends Groups Pages
iucore.h
1 #pragma once
2 
3 #include "iudefs.h"
4 #include "iucore/iucoreapi.h"
5 
7 namespace iu {
8 
22 {
23 public:
28  cudaEventCreate(&start_);
29  cudaEventCreate(&stop_);
30  }
31 
32  ~IuCudaTimer() {
33  cudaEventDestroy(start_);
34  cudaEventDestroy(stop_);
35  }
36 
40  void start() {
41  cudaEventRecord(start_, 0);
42  }
43 
48  float elapsed() {
49  cudaEventRecord(stop_);
50  cudaEventSynchronize(stop_);
51  float t = 0;
52  cudaEventElapsedTime(&t, start_, stop_);
53  return t;
54  }
55 
56 private:
57  cudaEvent_t start_;
58  cudaEvent_t stop_;
59 };
60 
61 
62 /* ***************************************************************************
63  COPY
64  * ***************************************************************************/
69 
76 // copy host -> host;
81 IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C1* src, LinearHostMemory_8u_C1* dst);
82 IUCORE_DLLAPI void copy(const LinearHostMemory_16u_C1* src, LinearHostMemory_16u_C1* dst);
83 IUCORE_DLLAPI void copy(const LinearHostMemory_32f_C1* src, LinearHostMemory_32f_C1* dst);
84 IUCORE_DLLAPI void copy(const LinearHostMemory_64f_C1* src, LinearHostMemory_64f_C1* dst);
85 
86 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 2>* src, LinearHostMemory<float, 2>* dst);
87 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 3>* src, LinearHostMemory<float, 3>* dst);
88 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 4>* src, LinearHostMemory<float, 4>* dst);
89 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 5>* src, LinearHostMemory<float, 5>* dst);
90 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 2>* src, LinearHostMemory<float2, 2>* dst);
91 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 3>* src, LinearHostMemory<float2, 3>* dst);
92 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 4>* src, LinearHostMemory<float2, 4>* dst);
93 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 5>* src, LinearHostMemory<float2, 5>* dst);
94 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 2>* src, LinearHostMemory<float3, 2>* dst);
95 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 3>* src, LinearHostMemory<float3, 3>* dst);
96 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 4>* src, LinearHostMemory<float3, 4>* dst);
97 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 5>* src, LinearHostMemory<float3, 5>* dst);
98 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 2>* src, LinearHostMemory<float4, 2>* dst);
99 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 3>* src, LinearHostMemory<float4, 3>* dst);
100 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 4>* src, LinearHostMemory<float4, 4>* dst);
101 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 5>* src, LinearHostMemory<float4, 5>* dst);
102 
103 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 2>* src, LinearHostMemory<double, 2>* dst);
104 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 3>* src, LinearHostMemory<double, 3>* dst);
105 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 4>* src, LinearHostMemory<double, 4>* dst);
106 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 5>* src, LinearHostMemory<double, 5>* dst);
107 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 2>* src, LinearHostMemory<double2, 2>* dst);
108 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 3>* src, LinearHostMemory<double2, 3>* dst);
109 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 4>* src, LinearHostMemory<double2, 4>* dst);
110 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 5>* src, LinearHostMemory<double2, 5>* dst);
111 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 2>* src, LinearHostMemory<double3, 2>* dst);
112 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 3>* src, LinearHostMemory<double3, 3>* dst);
113 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 4>* src, LinearHostMemory<double3, 4>* dst);
114 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 5>* src, LinearHostMemory<double3, 5>* dst);
115 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 2>* src, LinearHostMemory<double4, 2>* dst);
116 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 3>* src, LinearHostMemory<double4, 3>* dst);
117 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 4>* src, LinearHostMemory<double4, 4>* dst);
118 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 5>* src, LinearHostMemory<double4, 5>* dst);
119 
120 // copy device -> device;
125 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C1* src, LinearDeviceMemory_8u_C1* dst);
126 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C2* src, LinearDeviceMemory_8u_C2* dst);
127 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C3* src, LinearDeviceMemory_8u_C3* dst);
128 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C4* src, LinearDeviceMemory_8u_C4* dst);
129 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C1* src, LinearDeviceMemory_16u_C1* dst);
130 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C2* src, LinearDeviceMemory_16u_C2* dst);
131 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C3* src, LinearDeviceMemory_16u_C3* dst);
132 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C4* src, LinearDeviceMemory_16u_C4* dst);
133 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C1* src, LinearDeviceMemory_32s_C1* dst);
134 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C2* src, LinearDeviceMemory_32s_C2* dst);
135 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C3* src, LinearDeviceMemory_32s_C3* dst);
136 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C4* src, LinearDeviceMemory_32s_C4* dst);
137 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C1* src, LinearDeviceMemory_32u_C1* dst);
138 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C2* src, LinearDeviceMemory_32u_C2* dst);
139 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C4* src, LinearDeviceMemory_32u_C4* dst);
140 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C1* src, LinearDeviceMemory_32f_C1* dst);
141 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C2* src, LinearDeviceMemory_32f_C2* dst);
142 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C3* src, LinearDeviceMemory_32f_C3* dst);
143 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C4* src, LinearDeviceMemory_32f_C4* dst);
144 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C1* src, LinearDeviceMemory_64f_C1* dst);
145 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C2* src, LinearDeviceMemory_64f_C2* dst);
146 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C3* src, LinearDeviceMemory_64f_C3* dst);
147 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C4* src, LinearDeviceMemory_64f_C4* dst);
148 
149 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 2>* src, LinearDeviceMemory<float, 2>* dst);
150 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 3>* src, LinearDeviceMemory<float, 3>* dst);
151 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 4>* src, LinearDeviceMemory<float, 4>* dst);
152 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 5>* src, LinearDeviceMemory<float, 5>* dst);
153 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 2>* src, LinearDeviceMemory<float2, 2>* dst);
154 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 3>* src, LinearDeviceMemory<float2, 3>* dst);
155 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 4>* src, LinearDeviceMemory<float2, 4>* dst);
156 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 5>* src, LinearDeviceMemory<float2, 5>* dst);
157 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 2>* src, LinearDeviceMemory<float3, 2>* dst);
158 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 3>* src, LinearDeviceMemory<float3, 3>* dst);
159 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 4>* src, LinearDeviceMemory<float3, 4>* dst);
160 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 5>* src, LinearDeviceMemory<float3, 5>* dst);
161 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 2>* src, LinearDeviceMemory<float4, 2>* dst);
162 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 3>* src, LinearDeviceMemory<float4, 3>* dst);
163 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 4>* src, LinearDeviceMemory<float4, 4>* dst);
164 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 5>* src, LinearDeviceMemory<float4, 5>* dst);
165 
166 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 2>* src, LinearDeviceMemory<double, 2>* dst);
167 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 3>* src, LinearDeviceMemory<double, 3>* dst);
168 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 4>* src, LinearDeviceMemory<double, 4>* dst);
169 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 5>* src, LinearDeviceMemory<double, 5>* dst);
170 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 2>* src, LinearDeviceMemory<double2, 2>* dst);
171 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 3>* src, LinearDeviceMemory<double2, 3>* dst);
172 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 4>* src, LinearDeviceMemory<double2, 4>* dst);
173 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 5>* src, LinearDeviceMemory<double2, 5>* dst);
174 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 2>* src, LinearDeviceMemory<double3, 2>* dst);
175 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 3>* src, LinearDeviceMemory<double3, 3>* dst);
176 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 4>* src, LinearDeviceMemory<double3, 4>* dst);
177 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 5>* src, LinearDeviceMemory<double3, 5>* dst);
178 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 2>* src, LinearDeviceMemory<double4, 2>* dst);
179 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 3>* src, LinearDeviceMemory<double4, 3>* dst);
180 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 4>* src, LinearDeviceMemory<double4, 4>* dst);
181 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 5>* src, LinearDeviceMemory<double4, 5>* dst);
182 
183 // copy host -> device;
188 IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C1* src, LinearDeviceMemory_8u_C1* dst);
189 IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C2* src, LinearDeviceMemory_8u_C2* dst);
190 IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C3* src, LinearDeviceMemory_8u_C3* dst);
191 IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C4* src, LinearDeviceMemory_8u_C4* dst);
192 IUCORE_DLLAPI void copy(const LinearHostMemory_16u_C1* src, LinearDeviceMemory_16u_C1* dst);
193 IUCORE_DLLAPI void copy(const LinearHostMemory_16u_C2* src, LinearDeviceMemory_16u_C2* dst);
194 IUCORE_DLLAPI void copy(const LinearHostMemory_16u_C3* src, LinearDeviceMemory_16u_C3* dst);
195 IUCORE_DLLAPI void copy(const LinearHostMemory_16u_C4* src, LinearDeviceMemory_16u_C4* dst);
196 IUCORE_DLLAPI void copy(const LinearHostMemory_32s_C1* src, LinearDeviceMemory_32s_C1* dst);
197 IUCORE_DLLAPI void copy(const LinearHostMemory_32s_C2* src, LinearDeviceMemory_32s_C2* dst);
198 IUCORE_DLLAPI void copy(const LinearHostMemory_32s_C3* src, LinearDeviceMemory_32s_C3* dst);
199 IUCORE_DLLAPI void copy(const LinearHostMemory_32s_C4* src, LinearDeviceMemory_32s_C4* dst);
200 IUCORE_DLLAPI void copy(const LinearHostMemory_32u_C1* src, LinearDeviceMemory_32u_C1* dst);
201 IUCORE_DLLAPI void copy(const LinearHostMemory_32u_C2* src, LinearDeviceMemory_32u_C2* dst);
202 IUCORE_DLLAPI void copy(const LinearHostMemory_32u_C4* src, LinearDeviceMemory_32u_C4* dst);
203 IUCORE_DLLAPI void copy(const LinearHostMemory_32f_C1* src, LinearDeviceMemory_32f_C1* dst);
204 IUCORE_DLLAPI void copy(const LinearHostMemory_32f_C2* src, LinearDeviceMemory_32f_C2* dst);
205 IUCORE_DLLAPI void copy(const LinearHostMemory_32f_C3* src, LinearDeviceMemory_32f_C3* dst);
206 IUCORE_DLLAPI void copy(const LinearHostMemory_32f_C4* src, LinearDeviceMemory_32f_C4* dst);
207 IUCORE_DLLAPI void copy(const LinearHostMemory_64f_C1* src, LinearDeviceMemory_64f_C1* dst);
208 IUCORE_DLLAPI void copy(const LinearHostMemory_64f_C2* src, LinearDeviceMemory_64f_C2* dst);
209 IUCORE_DLLAPI void copy(const LinearHostMemory_64f_C3* src, LinearDeviceMemory_64f_C3* dst);
210 IUCORE_DLLAPI void copy(const LinearHostMemory_64f_C4* src, LinearDeviceMemory_64f_C4* dst);
211 
212 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 2>* src, LinearDeviceMemory<float, 2>* dst);
213 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 3>* src, LinearDeviceMemory<float, 3>* dst);
214 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 4>* src, LinearDeviceMemory<float, 4>* dst);
215 IUCORE_DLLAPI void copy(const LinearHostMemory<float, 5>* src, LinearDeviceMemory<float, 5>* dst);
216 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 2>* src, LinearDeviceMemory<float2, 2>* dst);
217 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 3>* src, LinearDeviceMemory<float2, 3>* dst);
218 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 4>* src, LinearDeviceMemory<float2, 4>* dst);
219 IUCORE_DLLAPI void copy(const LinearHostMemory<float2, 5>* src, LinearDeviceMemory<float2, 5>* dst);
220 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 2>* src, LinearDeviceMemory<float3, 2>* dst);
221 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 3>* src, LinearDeviceMemory<float3, 3>* dst);
222 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 4>* src, LinearDeviceMemory<float3, 4>* dst);
223 IUCORE_DLLAPI void copy(const LinearHostMemory<float3, 5>* src, LinearDeviceMemory<float3, 5>* dst);
224 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 2>* src, LinearDeviceMemory<float4, 2>* dst);
225 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 3>* src, LinearDeviceMemory<float4, 3>* dst);
226 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 4>* src, LinearDeviceMemory<float4, 4>* dst);
227 IUCORE_DLLAPI void copy(const LinearHostMemory<float4, 5>* src, LinearDeviceMemory<float4, 5>* dst);
228 
229 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 2>* src, LinearDeviceMemory<double, 2>* dst);
230 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 3>* src, LinearDeviceMemory<double, 3>* dst);
231 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 4>* src, LinearDeviceMemory<double, 4>* dst);
232 IUCORE_DLLAPI void copy(const LinearHostMemory<double, 5>* src, LinearDeviceMemory<double, 5>* dst);
233 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 2>* src, LinearDeviceMemory<double2, 2>* dst);
234 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 3>* src, LinearDeviceMemory<double2, 3>* dst);
235 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 4>* src, LinearDeviceMemory<double2, 4>* dst);
236 IUCORE_DLLAPI void copy(const LinearHostMemory<double2, 5>* src, LinearDeviceMemory<double2, 5>* dst);
237 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 2>* src, LinearDeviceMemory<double3, 2>* dst);
238 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 3>* src, LinearDeviceMemory<double3, 3>* dst);
239 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 4>* src, LinearDeviceMemory<double3, 4>* dst);
240 IUCORE_DLLAPI void copy(const LinearHostMemory<double3, 5>* src, LinearDeviceMemory<double3, 5>* dst);
241 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 2>* src, LinearDeviceMemory<double4, 2>* dst);
242 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 3>* src, LinearDeviceMemory<double4, 3>* dst);
243 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 4>* src, LinearDeviceMemory<double4, 4>* dst);
244 IUCORE_DLLAPI void copy(const LinearHostMemory<double4, 5>* src, LinearDeviceMemory<double4, 5>* dst);
245 
246 
247 // copy device -> host;
252 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C1* src, LinearHostMemory_8u_C1* dst);
253 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C2* src, LinearHostMemory_8u_C2* dst);
254 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C3* src, LinearHostMemory_8u_C3* dst);
255 IUCORE_DLLAPI void copy(const LinearDeviceMemory_8u_C4* src, LinearHostMemory_8u_C4* dst);
256 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C1* src, LinearHostMemory_16u_C1* dst);
257 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C2* src, LinearHostMemory_16u_C2* dst);
258 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C3* src, LinearHostMemory_16u_C3* dst);
259 IUCORE_DLLAPI void copy(const LinearDeviceMemory_16u_C4* src, LinearHostMemory_16u_C4* dst);
260 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C1* src, LinearHostMemory_32s_C1* dst);
261 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C2* src, LinearHostMemory_32s_C2* dst);
262 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C3* src, LinearHostMemory_32s_C3* dst);
263 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32s_C4* src, LinearHostMemory_32s_C4* dst);
264 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C1* src, LinearHostMemory_32u_C1* dst);
265 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C2* src, LinearHostMemory_32u_C2* dst);
266 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32u_C4* src, LinearHostMemory_32u_C4* dst);
267 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C1* src, LinearHostMemory_32f_C1* dst);
268 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C2* src, LinearHostMemory_32f_C2* dst);
269 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C3* src, LinearHostMemory_32f_C3* dst);
270 IUCORE_DLLAPI void copy(const LinearDeviceMemory_32f_C4* src, LinearHostMemory_32f_C4* dst);
271 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C1* src, LinearHostMemory_64f_C1* dst);
272 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C2* src, LinearHostMemory_64f_C2* dst);
273 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C3* src, LinearHostMemory_64f_C3* dst);
274 IUCORE_DLLAPI void copy(const LinearDeviceMemory_64f_C4* src, LinearHostMemory_64f_C4* dst);
275 
276 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 2>* src, LinearHostMemory<float, 2>* dst);
277 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 3>* src, LinearHostMemory<float, 3>* dst);
278 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 4>* src, LinearHostMemory<float, 4>* dst);
279 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float, 5>* src, LinearHostMemory<float, 5>* dst);
280 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 2>* src, LinearHostMemory<float2, 2>* dst);
281 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 3>* src, LinearHostMemory<float2, 3>* dst);
282 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 4>* src, LinearHostMemory<float2, 4>* dst);
283 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float2, 5>* src, LinearHostMemory<float2, 5>* dst);
284 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 2>* src, LinearHostMemory<float3, 2>* dst);
285 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 3>* src, LinearHostMemory<float3, 3>* dst);
286 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 4>* src, LinearHostMemory<float3, 4>* dst);
287 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float3, 5>* src, LinearHostMemory<float3, 5>* dst);
288 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 2>* src, LinearHostMemory<float4, 2>* dst);
289 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 3>* src, LinearHostMemory<float4, 3>* dst);
290 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 4>* src, LinearHostMemory<float4, 4>* dst);
291 IUCORE_DLLAPI void copy(const LinearDeviceMemory<float4, 5>* src, LinearHostMemory<float4, 5>* dst);
292 
293 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 2>* src, LinearHostMemory<double, 2>* dst);
294 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 3>* src, LinearHostMemory<double, 3>* dst);
295 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 4>* src, LinearHostMemory<double, 4>* dst);
296 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double, 5>* src, LinearHostMemory<double, 5>* dst);
297 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 2>* src, LinearHostMemory<double2, 2>* dst);
298 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 3>* src, LinearHostMemory<double2, 3>* dst);
299 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 4>* src, LinearHostMemory<double2, 4>* dst);
300 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double2, 5>* src, LinearHostMemory<double2, 5>* dst);
301 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 2>* src, LinearHostMemory<double3, 2>* dst);
302 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 3>* src, LinearHostMemory<double3, 3>* dst);
303 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 4>* src, LinearHostMemory<double3, 4>* dst);
304 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double3, 5>* src, LinearHostMemory<double3, 5>* dst);
305 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 2>* src, LinearHostMemory<double4, 2>* dst);
306 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 3>* src, LinearHostMemory<double4, 3>* dst);
307 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 4>* src, LinearHostMemory<double4, 4>* dst);
308 IUCORE_DLLAPI void copy(const LinearDeviceMemory<double4, 5>* src, LinearHostMemory<double4, 5>* dst);
309  // end of Copy1D
311 
313 
319 // 2D; copy host -> host;
324 IUCORE_DLLAPI void copy(const ImageCpu_8u_C1* src, ImageCpu_8u_C1* dst);
325 IUCORE_DLLAPI void copy(const ImageCpu_8u_C2* src, ImageCpu_8u_C2* dst);
326 IUCORE_DLLAPI void copy(const ImageCpu_8u_C3* src, ImageCpu_8u_C3* dst);
327 IUCORE_DLLAPI void copy(const ImageCpu_8u_C4* src, ImageCpu_8u_C4* dst);
328 IUCORE_DLLAPI void copy(const ImageCpu_32s_C1* src, ImageCpu_32s_C1* dst);
329 IUCORE_DLLAPI void copy(const ImageCpu_32f_C1* src, ImageCpu_32f_C1* dst);
330 IUCORE_DLLAPI void copy(const ImageCpu_32f_C2* src, ImageCpu_32f_C2* dst);
331 IUCORE_DLLAPI void copy(const ImageCpu_32f_C3* src, ImageCpu_32f_C3* dst);
332 IUCORE_DLLAPI void copy(const ImageCpu_32f_C4* src, ImageCpu_32f_C4* dst);
333 IUCORE_DLLAPI void copy(const ImageCpu_64f_C1* src, ImageCpu_64f_C1* dst);
334 IUCORE_DLLAPI void copy(const ImageCpu_64f_C2* src, ImageCpu_64f_C2* dst);
335 IUCORE_DLLAPI void copy(const ImageCpu_64f_C3* src, ImageCpu_64f_C3* dst);
336 IUCORE_DLLAPI void copy(const ImageCpu_64f_C4* src, ImageCpu_64f_C4* dst);
337 
338 // 2D; copy device -> device;
343 IUCORE_DLLAPI void copy(const ImageGpu_8u_C1* src, ImageGpu_8u_C1* dst);
344 IUCORE_DLLAPI void copy(const ImageGpu_8u_C2* src, ImageGpu_8u_C2* dst);
345 IUCORE_DLLAPI void copy(const ImageGpu_8u_C3* src, ImageGpu_8u_C3* dst);
346 IUCORE_DLLAPI void copy(const ImageGpu_8u_C4* src, ImageGpu_8u_C4* dst);
347 IUCORE_DLLAPI void copy(const ImageGpu_32s_C1* src, ImageGpu_32s_C1* dst);
348 IUCORE_DLLAPI void copy(const ImageGpu_32f_C1* src, ImageGpu_32f_C1* dst);
349 IUCORE_DLLAPI void copy(const ImageGpu_32f_C2* src, ImageGpu_32f_C2* dst);
350 IUCORE_DLLAPI void copy(const ImageGpu_32f_C3* src, ImageGpu_32f_C3* dst);
351 IUCORE_DLLAPI void copy(const ImageGpu_32f_C4* src, ImageGpu_32f_C4* dst);
352 IUCORE_DLLAPI void copy(const ImageGpu_64f_C1* src, ImageGpu_64f_C1* dst);
353 IUCORE_DLLAPI void copy(const ImageGpu_64f_C2* src, ImageGpu_64f_C2* dst);
354 IUCORE_DLLAPI void copy(const ImageGpu_64f_C3* src, ImageGpu_64f_C3* dst);
355 IUCORE_DLLAPI void copy(const ImageGpu_64f_C4* src, ImageGpu_64f_C4* dst);
356 
357 // 2D; copy host -> device;
362 IUCORE_DLLAPI void copy(const ImageCpu_8u_C1* src, ImageGpu_8u_C1* dst);
363 IUCORE_DLLAPI void copy(const ImageCpu_8u_C2* src, ImageGpu_8u_C2* dst);
364 IUCORE_DLLAPI void copy(const ImageCpu_8u_C3* src, ImageGpu_8u_C3* dst);
365 IUCORE_DLLAPI void copy(const ImageCpu_8u_C4* src, ImageGpu_8u_C4* dst);
366 IUCORE_DLLAPI void copy(const ImageCpu_32s_C1* src, ImageGpu_32s_C1* dst);
367 IUCORE_DLLAPI void copy(const ImageCpu_32s_C2* src, ImageGpu_32s_C2* dst);
368 IUCORE_DLLAPI void copy(const ImageCpu_32s_C4* src, ImageGpu_32s_C4* dst);
369 IUCORE_DLLAPI void copy(const ImageCpu_32u_C1* src, ImageGpu_32u_C1* dst);
370 IUCORE_DLLAPI void copy(const ImageCpu_32u_C2* src, ImageGpu_32u_C2* dst);
371 IUCORE_DLLAPI void copy(const ImageCpu_32u_C4* src, ImageGpu_32u_C4* dst);
372 IUCORE_DLLAPI void copy(const ImageCpu_32f_C1* src, ImageGpu_32f_C1* dst);
373 IUCORE_DLLAPI void copy(const ImageCpu_32f_C2* src, ImageGpu_32f_C2* dst);
374 IUCORE_DLLAPI void copy(const ImageCpu_32f_C3* src, ImageGpu_32f_C3* dst);
375 IUCORE_DLLAPI void copy(const ImageCpu_32f_C4* src, ImageGpu_32f_C4* dst);
376 IUCORE_DLLAPI void copy(const ImageCpu_64f_C1* src, ImageGpu_64f_C1* dst);
377 IUCORE_DLLAPI void copy(const ImageCpu_64f_C2* src, ImageGpu_64f_C2* dst);
378 IUCORE_DLLAPI void copy(const ImageCpu_64f_C3* src, ImageGpu_64f_C3* dst);
379 IUCORE_DLLAPI void copy(const ImageCpu_64f_C4* src, ImageGpu_64f_C4* dst);
380 
381 // 2D; copy device -> host;
386 IUCORE_DLLAPI void copy(const ImageGpu_8u_C1* src, ImageCpu_8u_C1* dst);
387 IUCORE_DLLAPI void copy(const ImageGpu_8u_C2* src, ImageCpu_8u_C2* dst);
388 IUCORE_DLLAPI void copy(const ImageGpu_8u_C3* src, ImageCpu_8u_C3* dst);
389 IUCORE_DLLAPI void copy(const ImageGpu_8u_C4* src, ImageCpu_8u_C4* dst);
390 IUCORE_DLLAPI void copy(const ImageGpu_32s_C1* src, ImageCpu_32s_C1* dst);
391 IUCORE_DLLAPI void copy(const ImageGpu_32s_C2* src, ImageCpu_32s_C2* dst);
392 IUCORE_DLLAPI void copy(const ImageGpu_32s_C4* src, ImageCpu_32s_C4* dst);
393 IUCORE_DLLAPI void copy(const ImageGpu_32u_C1* src, ImageCpu_32u_C1* dst);
394 IUCORE_DLLAPI void copy(const ImageGpu_32u_C2* src, ImageCpu_32u_C2* dst);
395 IUCORE_DLLAPI void copy(const ImageGpu_32u_C4* src, ImageCpu_32u_C4* dst);
396 IUCORE_DLLAPI void copy(const ImageGpu_32f_C1* src, ImageCpu_32f_C1* dst);
397 IUCORE_DLLAPI void copy(const ImageGpu_32f_C2* src, ImageCpu_32f_C2* dst);
398 IUCORE_DLLAPI void copy(const ImageGpu_32f_C3* src, ImageCpu_32f_C3* dst);
399 IUCORE_DLLAPI void copy(const ImageGpu_32f_C4* src, ImageCpu_32f_C4* dst);
400 IUCORE_DLLAPI void copy(const ImageGpu_64f_C1* src, ImageCpu_64f_C1* dst);
401 IUCORE_DLLAPI void copy(const ImageGpu_64f_C2* src, ImageCpu_64f_C2* dst);
402 IUCORE_DLLAPI void copy(const ImageGpu_64f_C3* src, ImageCpu_64f_C3* dst);
403 IUCORE_DLLAPI void copy(const ImageGpu_64f_C4* src, ImageCpu_64f_C4* dst);
404  // end of Copy2D
406 
408 
414 // 3D; copy host -> host;
419 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C1* src, VolumeCpu_8u_C1* dst);
420 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C2* src, VolumeCpu_8u_C2* dst);
421 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C4* src, VolumeCpu_8u_C4* dst);
422 IUCORE_DLLAPI void copy(const VolumeCpu_16u_C1* src, VolumeCpu_16u_C1* dst);
423 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C1* src, VolumeCpu_32f_C1* dst);
424 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C2* src, VolumeCpu_32f_C2* dst);
425 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C3* src, VolumeCpu_32f_C3* dst);
426 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C4* src, VolumeCpu_32f_C4* dst);
427 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C1* src, VolumeCpu_64f_C1* dst);
428 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C2* src, VolumeCpu_64f_C2* dst);
429 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C3* src, VolumeCpu_64f_C3* dst);
430 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C4* src, VolumeCpu_64f_C4* dst);
431 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C1* src, VolumeCpu_32u_C1* dst);
432 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C2* src, VolumeCpu_32u_C2* dst);
433 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C4* src, VolumeCpu_32u_C4* dst);
434 
435 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C1* src, VolumeCpu_32s_C1* dst);
436 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C2* src, VolumeCpu_32s_C2* dst);
437 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C4* src, VolumeCpu_32s_C4* dst);
438 
439 
440 // 3D; copy device -> device;
445 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C1* src, VolumeGpu_8u_C1* dst);
446 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C2* src, VolumeGpu_8u_C2* dst);
447 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C4* src, VolumeGpu_8u_C4* dst);
448 IUCORE_DLLAPI void copy(const VolumeGpu_16u_C1* src, VolumeGpu_16u_C1* dst);
449 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C1* src, VolumeGpu_32f_C1* dst);
450 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C2* src, VolumeGpu_32f_C2* dst);
451 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C3* src, VolumeGpu_32f_C3* dst);
452 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C4* src, VolumeGpu_32f_C4* dst);
453 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C1* src, VolumeGpu_64f_C1* dst);
454 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C2* src, VolumeGpu_64f_C2* dst);
455 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C3* src, VolumeGpu_64f_C3* dst);
456 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C4* src, VolumeGpu_64f_C4* dst);
457 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C1* src, VolumeGpu_32u_C1* dst);
458 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C2* src, VolumeGpu_32u_C2* dst);
459 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C4* src, VolumeGpu_32u_C4* dst);
460 
461 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C1* src, VolumeGpu_32s_C1* dst);
462 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C2* src, VolumeGpu_32s_C2* dst);
463 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C4* src, VolumeGpu_32s_C4* dst);
464 
465 
466 // 3D; copy host -> device;
471 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C1* src, VolumeGpu_8u_C1* dst);
472 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C2* src, VolumeGpu_8u_C2* dst);
473 IUCORE_DLLAPI void copy(const VolumeCpu_8u_C4* src, VolumeGpu_8u_C4* dst);
474 IUCORE_DLLAPI void copy(const VolumeCpu_16u_C1* src, VolumeGpu_16u_C1* dst);
475 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C1* src, VolumeGpu_32f_C1* dst);
476 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C2* src, VolumeGpu_32f_C2* dst);
477 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C3* src, VolumeGpu_32f_C3* dst);
478 IUCORE_DLLAPI void copy(const VolumeCpu_32f_C4* src, VolumeGpu_32f_C4* dst);
479 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C1* src, VolumeGpu_64f_C1* dst);
480 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C2* src, VolumeGpu_64f_C2* dst);
481 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C3* src, VolumeGpu_64f_C3* dst);
482 IUCORE_DLLAPI void copy(const VolumeCpu_64f_C4* src, VolumeGpu_64f_C4* dst);
483 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C1* src, VolumeGpu_32u_C1* dst);
484 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C2* src, VolumeGpu_32u_C2* dst);
485 IUCORE_DLLAPI void copy(const VolumeCpu_32u_C4* src, VolumeGpu_32u_C4* dst);
486 
487 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C1* src, VolumeGpu_32s_C1* dst);
488 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C2* src, VolumeGpu_32s_C2* dst);
489 IUCORE_DLLAPI void copy(const VolumeCpu_32s_C4* src, VolumeGpu_32s_C4* dst);
490 
491 // 3D; copy device -> host;
496 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C1* src, VolumeCpu_8u_C1* dst);
497 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C2* src, VolumeCpu_8u_C2* dst);
498 IUCORE_DLLAPI void copy(const VolumeGpu_8u_C4* src, VolumeCpu_8u_C4* dst);
499 IUCORE_DLLAPI void copy(const VolumeGpu_16u_C1* src, VolumeCpu_16u_C1* dst);
500 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C1* src, VolumeCpu_32f_C1* dst);
501 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C2* src, VolumeCpu_32f_C2* dst);
502 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C3* src, VolumeCpu_32f_C3* dst);
503 IUCORE_DLLAPI void copy(const VolumeGpu_32f_C4* src, VolumeCpu_32f_C4* dst);
504 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C1* src, VolumeCpu_64f_C1* dst);
505 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C2* src, VolumeCpu_64f_C2* dst);
506 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C3* src, VolumeCpu_64f_C3* dst);
507 IUCORE_DLLAPI void copy(const VolumeGpu_64f_C4* src, VolumeCpu_64f_C4* dst);
508 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C1* src, VolumeCpu_32u_C1* dst);
509 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C2* src, VolumeCpu_32u_C2* dst);
510 IUCORE_DLLAPI void copy(const VolumeGpu_32u_C4* src, VolumeCpu_32u_C4* dst);
511 
512 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C1* src, VolumeCpu_32s_C1* dst);
513 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C2* src, VolumeCpu_32s_C2* dst);
514 IUCORE_DLLAPI void copy(const VolumeGpu_32s_C4* src, VolumeCpu_32s_C4* dst);
515 
516 
517 // convert to linear (contiguous) memory
518 IUCORE_DLLAPI void copy(const ImageCpu_8u_C1* src, LinearHostMemory_8u_C1* dst);
519 IUCORE_DLLAPI void copy(const ImageCpu_16u_C1* src, LinearHostMemory_16u_C1* dst);
520 IUCORE_DLLAPI void copy(const ImageCpu_32f_C1* src, LinearHostMemory_32f_C1* dst);
521 
522 IUCORE_DLLAPI void copy(const ImageGpu_32f_C1* src, LinearDeviceMemory_32f_C1* dst);
523  // end of Copy3D // end of Copy
526 
527 
529 
539 IUCORE_DLLAPI void convert(const ImageGpu_32f_C3* src, ImageGpu_32f_C4* dst);
540 
545 IUCORE_DLLAPI void convert(const ImageGpu_32f_C4* src, ImageGpu_32f_C3* dst);
546 
553 IUCORE_DLLAPI void convert_32f8u_C1(const iu::ImageCpu_32f_C1* src, iu::ImageCpu_8u_C1* dst,
554  float mul_constant=255.0f, float add_constant=0.0f);
555 
562 IUCORE_DLLAPI void convert_32f8u_C1(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_8u_C1* dst,
563  float mul_constant=255.0f, unsigned char add_constant=0);
564 
571 IUCORE_DLLAPI void convert_32f8u_C4(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_8u_C4* dst,
572  float mul_constant=255.0f, unsigned char add_constant=0);
573 
580 IUCORE_DLLAPI void convert_8u32f_C1(const iu::ImageGpu_8u_C1* src, iu::ImageGpu_32f_C1* dst,
581  float mul_constant=1/255.0f, float add_constant=0.0f);
582 
589 IUCORE_DLLAPI void convert_32u32f_C1(const iu::ImageGpu_32u_C1* src, iu::ImageGpu_32f_C1* dst,
590  float mul_constant, float add_constant=0.0f);
591 
592 
599 IUCORE_DLLAPI void convert_32u32f_C1(const iu::ImageCpu_32u_C1* src, iu::ImageCpu_32f_C1* dst,
600  float mul_constant, float add_constant=0.0f);
601 
608 
609 
616 IUCORE_DLLAPI void convert_8u32f_C3C4(const iu::ImageGpu_8u_C3* src, iu::ImageGpu_32f_C4* dst,
617  float mul_constant=1/255.0f, float add_constant=0.0f);
618 
619 
626 IUCORE_DLLAPI void convert_16u32f_C1(const iu::ImageCpu_16u_C1* src, iu::ImageCpu_32f_C1 *dst,
627  float mul_constant, float add_constant);
628 
629 
635 IUCORE_DLLAPI void convert_RgbHsv(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst, bool normalize=false);
636 
642 IUCORE_DLLAPI void convert_HsvRgb(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst, bool denormalize=false);
643 
649 IUCORE_DLLAPI void convert_RgbLab(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst, bool isNormalized=true);
650 
651 
656 IUCORE_DLLAPI void convert_LabRgb(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst);
657 
658  // end of Conversions
660 
661 //IUCORE_DLLAPI double summation(iu::ImageGpu_32f_C1* src);
662 
663 
664 /* ***************************************************************************
665  Filters
666  * ***************************************************************************/
667 
669 /* ***************************************************************************
670  Denoising
671  * ***************************************************************************/
683 IUCORE_DLLAPI void filterMedian3x3(const ImageGpu_32f_C1* src, ImageGpu_32f_C1* dst );
684 
692 IUCORE_DLLAPI void filterGauss(const ImageGpu_32f_C1* src, ImageGpu_32f_C1* dst,
693  float sigma, int kernel_size=0, ImageGpu_32f_C1* temp=NULL);
694 IUCORE_DLLAPI void filterGauss(const VolumeGpu_32f_C1* src, VolumeGpu_32f_C1* dst,
695  float sigma, int kernel_size=0);
696 IUCORE_DLLAPI void filterGauss(const ImageGpu_32f_C4* src, ImageGpu_32f_C4* dst,
697  float sigma, int kernel_size=0);
698 
699 
700 
701 /* ***************************************************************************
702  edge calculation
703  * ***************************************************************************/
704 
709 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C2* dst );
710 
718 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C1* dst ,
719  float alpha, float beta, float minval);
720 
721 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C2* dst ,
722  float alpha, float beta, float minval);
723 
724 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C4* dst,
725  float alpha, float beta, float minval);
726 
727 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C1* dst, float alpha, float beta, float minval);
728 
729 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C2* dst,
730  float alpha, float beta, float minval);
731 
732 IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst,
733  float alpha, float beta, float minval);
734 
735 
736 
738 /* ***************************************************************************
739  other filters
740  * ***************************************************************************/
741 
742 IUCORE_DLLAPI void cubicBSplinePrefilter(iu::ImageGpu_32f_C1* srcdst); // end of Filters
744 
751 /* ***************************************************************************
752  Geometric Transformations
753  * ***************************************************************************/
754 
756 /* ***************************************************************************
757  Image resize
758  * ***************************************************************************/
759 
769 IUCORE_DLLAPI void reduce(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C1* dst,
770  IuInterpolationType interpolation = IU_INTERPOLATE_LINEAR,
771  bool gauss_prefilter = true);
772 
781 IUCORE_DLLAPI void prolongate(const iu::ImageGpu_32f_C1* src, iu::ImageGpu_32f_C1* dst,
782  IuInterpolationType interpolation = IU_INTERPOLATE_NEAREST);
783 IUCORE_DLLAPI void prolongate(const iu::ImageGpu_32f_C2* src, iu::ImageGpu_32f_C2* dst,
784  IuInterpolationType interpolation = IU_INTERPOLATE_NEAREST);
785 IUCORE_DLLAPI void prolongate(const iu::ImageGpu_32f_C4* src, iu::ImageGpu_32f_C4* dst,
786  IuInterpolationType interpolation = IU_INTERPOLATE_NEAREST);
787 
798 IUCORE_DLLAPI void remap(iu::ImageGpu_8u_C1* src,
799  iu::ImageGpu_32f_C1* dx_map, iu::ImageGpu_32f_C1* dy_map,
800  iu::ImageGpu_8u_C1* dst,
801  IuInterpolationType interpolation = IU_INTERPOLATE_LINEAR);
802 IUCORE_DLLAPI void remap(iu::ImageGpu_32f_C1* src,
803  iu::ImageGpu_32f_C1* dx_map, iu::ImageGpu_32f_C1* dy_map,
804  iu::ImageGpu_32f_C1* dst,
805  IuInterpolationType interpolation = IU_INTERPOLATE_LINEAR);
806 //IUCORE_DLLAPI IuStatus remap(iu::ImageGpu_32f_C2* src,
807 // iu::ImageGpu_32f_C1* dx_map, iu::ImageGpu_32f_C1* dy_map,
808 // iu::ImageGpu_32f_C2* dst,
809 // IuInterpolationType interpolation = IU_INTERPOLATE_LINEAR);
810 IUCORE_DLLAPI void remap(iu::ImageGpu_32f_C4* src,
811  iu::ImageGpu_32f_C1* dx_map, iu::ImageGpu_32f_C1* dy_map,
812  iu::ImageGpu_32f_C4* dst,
813  IuInterpolationType interpolation = IU_INTERPOLATE_LINEAR);
814 
815 IUCORE_DLLAPI void remapAffine(iu::ImageGpu_32f_C1* src,
816  float a1, float a2, float a3, float a4, float b1, float b2,
817  iu::ImageGpu_32f_C1* dst);
818 
819  // end of Image Transformations
821  // end of Core module
823 } // namespace iu
824 
IUCORE_DLLAPI void reduce(const iu::ImageGpu_32f_C1 *src, iu::ImageGpu_32f_C1 *dst, IuInterpolationType interpolation=IU_INTERPOLATE_LINEAR, bool gauss_prefilter=true)
Scaling the image src down to the size of dst.
IUCORE_DLLAPI void convert_RgbHsv(const iu::ImageGpu_32f_C4 *src, iu::ImageGpu_32f_C4 *dst, bool normalize=false)
IUCORE_DLLAPI void convert_32u32f_C1(const iu::ImageGpu_32u_C1 *src, iu::ImageGpu_32f_C1 *dst, float mul_constant, float add_constant=0.0f)
IUCORE_DLLAPI void copy(const LinearHostMemory_8u_C1 *src, LinearHostMemory_8u_C1 *dst)
IuCudaTimer()
IuCudaTimer constructor.
Definition: iucore.h:27
The IuCudaTimer class can be used to do high-precision GPU timing measurements.
Definition: iucore.h:21
float elapsed()
stop timing
Definition: iucore.h:48
IUCORE_DLLAPI void convert_32f8u_C4(const iu::ImageGpu_32f_C4 *src, iu::ImageGpu_8u_C4 *dst, float mul_constant=255.0f, unsigned char add_constant=0)
IUCORE_DLLAPI void convert_32f8u_C1(const iu::ImageCpu_32f_C1 *src, iu::ImageCpu_8u_C1 *dst, float mul_constant=255.0f, float add_constant=0.0f)
IUCORE_DLLAPI void remap(iu::ImageGpu_8u_C1 *src, iu::ImageGpu_32f_C1 *dx_map, iu::ImageGpu_32f_C1 *dy_map, iu::ImageGpu_8u_C1 *dst, IuInterpolationType interpolation=IU_INTERPOLATE_LINEAR)
Remapping the image src with the given disparity fields dx, dy.
IUCORE_DLLAPI void convert_16u32f_C1(const iu::ImageCpu_16u_C1 *src, iu::ImageCpu_32f_C1 *dst, float mul_constant, float add_constant)
IUCORE_DLLAPI void filterMedian3x3(const ImageGpu_32f_C1 *src, ImageGpu_32f_C1 *dst)
Filters a device image using a 3x3 median filter.
IUCORE_DLLAPI void filterEdge(const iu::ImageGpu_32f_C1 *src, iu::ImageGpu_32f_C2 *dst)
IUCORE_DLLAPI void convert(const ImageGpu_32f_C3 *src, ImageGpu_32f_C4 *dst)
IUCORE_DLLAPI void prolongate(const iu::ImageGpu_32f_C1 *src, iu::ImageGpu_32f_C1 *dst, IuInterpolationType interpolation=IU_INTERPOLATE_NEAREST)
Scaling the image src up to the size of dst.
IUCORE_DLLAPI void convert_LabRgb(const iu::ImageGpu_32f_C4 *src, iu::ImageGpu_32f_C4 *dst)
void start()
start timing
Definition: iucore.h:40
IUCORE_DLLAPI void convert_HsvRgb(const iu::ImageGpu_32f_C4 *src, iu::ImageGpu_32f_C4 *dst, bool denormalize=false)
IUCORE_DLLAPI void filterGauss(const ImageGpu_32f_C1 *src, ImageGpu_32f_C1 *dst, float sigma, int kernel_size=0, ImageGpu_32f_C1 *temp=NULL)
Filters a device image using a Gaussian filter.
IUCORE_DLLAPI void convert_8u32f_C1(const iu::ImageGpu_8u_C1 *src, iu::ImageGpu_32f_C1 *dst, float mul_constant=1/255.0f, float add_constant=0.0f)
IUCORE_DLLAPI void convert_8u32f_C3C4(const iu::ImageGpu_8u_C3 *src, iu::ImageGpu_32f_C4 *dst, float mul_constant=1/255.0f, float add_constant=0.0f)
Linear device memory class.
Definition: lineardevicememory.h:18
IUCORE_DLLAPI void convert_RgbLab(const iu::ImageGpu_32f_C4 *src, iu::ImageGpu_32f_C4 *dst, bool isNormalized=true)
Device 2D image class (pitched memory).
Definition: image_gpu.h:34
Host 2D image class (pitched memory).
Definition: image_cpu.h:27
IUCORE_DLLAPI void convert_32s32f_C1_lin(iu::LinearDeviceMemory_32s_C1 *src, iu::LinearDeviceMemory_32f_C1 *dst)