$darkmode
A high-performance general-purpose compute library
signal.h
Go to the documentation of this file.
1 /*******************************************************
2  * Copyright (c) 2014, ArrayFire
3  * All rights reserved.
4  *
5  * This file is distributed under 3-clause BSD license.
6  * The complete license agreement can be obtained at:
7  * http://arrayfire.com/licenses/BSD-3-Clause
8  ********************************************************/
9 
10 #pragma once
11 #include <af/defines.h>
12 
13 #ifdef __cplusplus
14 
15 namespace af
16 {
17 class array;
18 class dim4;
19 
35 AFAPI array approx1(const array &in, const array &pos,
36  const interpType method = AF_INTERP_LINEAR, const float off_grid = 0.0f);
37 
54 AFAPI array approx2(const array &in, const array &pos0, const array &pos1,
55  const interpType method = AF_INTERP_LINEAR, const float off_grid = 0.0f);
56 
57 
58 #if AF_API_VERSION >= 37
59 
90 AFAPI array approx1(const array &in,
91  const array &pos, const int interp_dim,
92  const double idx_start, const double idx_step,
93  const interpType method = AF_INTERP_LINEAR, const float off_grid = 0.0f);
94 
122 AFAPI array approx2(const array &in,
123  const array &pos0, const int interp_dim0, const double idx_start_dim0, const double idx_step_dim0,
124  const array &pos1, const int interp_dim1, const double idx_start_dim1, const double idx_step_dim1,
125  const interpType method = AF_INTERP_LINEAR, const float off_grid = 0.0f);
126 #endif
127 
138 AFAPI array fftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
139 
151 AFAPI array fft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
152 
165 AFAPI array fft3Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
166 
167 #if AF_API_VERSION >= 31
168 
178 AFAPI void fftInPlace(array& in, const double norm_factor = 1.0);
179 #endif
180 
181 #if AF_API_VERSION >= 31
182 
192 AFAPI void fft2InPlace(array& in, const double norm_factor = 1.0);
193 #endif
194 
195 #if AF_API_VERSION >= 31
196 
206 AFAPI void fft3InPlace(array& in, const double norm_factor = 1.0);
207 #endif
208 
221 AFAPI array fft(const array& in, const dim_t odim0=0);
222 
236 AFAPI array fft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
237 
252 AFAPI array fft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
253 
264 AFAPI array dft(const array& in, const double norm_factor, const dim4 outDims);
265 
278 AFAPI array dft(const array& in, const dim4 outDims);
279 
291 AFAPI array dft(const array& in);
292 
303 AFAPI array ifftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
304 
316 AFAPI array ifft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
317 
330 AFAPI array ifft3Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
331 
332 #if AF_API_VERSION >= 31
333 
343 AFAPI void ifftInPlace(array& in, const double norm_factor = 1.0);
344 #endif
345 
346 #if AF_API_VERSION >= 31
347 
357 AFAPI void ifft2InPlace(array& in, const double norm_factor = 1.0);
358 #endif
359 
360 #if AF_API_VERSION >= 31
361 
371 AFAPI void ifft3InPlace(array& in, const double norm_factor = 1.0);
372 #endif
373 
386 AFAPI array ifft(const array& in, const dim_t odim0=0);
387 
401 AFAPI array ifft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
402 
417 AFAPI array ifft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
418 
429 AFAPI array idft(const array& in, const double norm_factor, const dim4 outDims);
430 
443 AFAPI array idft(const array& in, const dim4 outDims);
444 
456 AFAPI array idft(const array& in);
457 
458 #if AF_API_VERSION >= 31
459 
471 template<int rank>
472 array fftR2C(const array &in,
473  const dim4& dims,
474  const double norm_factor = 1.0);
475 #endif
476 
477 #if AF_API_VERSION >= 31
478 
489 template<int rank>
490 array fftR2C(const array &in,
491  const double norm_factor = 1.0);
492 #endif
493 
494 #if AF_API_VERSION >= 31
495 
507 template<int rank>
508 array fftC2R(const array &in, bool is_odd = false,
509  const double norm_factor = 1.0);
510 #endif
511 
534 AFAPI array convolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
535 
553 AFAPI array convolve(const array& col_filter, const array& row_filter, const array& signal, const convMode mode=AF_CONV_DEFAULT);
554 
570 AFAPI array convolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
571 
587 AFAPI array convolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
588 
616 AFAPI array convolve2NN(const array& signal, const array& filter,
617  const dim4 stride, const dim4 padding, const dim4 dilation);
618 
634 AFAPI array convolve3(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
635 
646 AFAPI array fftConvolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
647 
658 AFAPI array fftConvolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
659 
670 AFAPI array fftConvolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
671 
682 AFAPI array fftConvolve3(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
683 
693 AFAPI array fir(const array &b, const array &x);
694 
707 AFAPI array iir(const array &b, const array &a, const array &x);
708 
723 AFAPI array medfilt(const array& in, const dim_t wind_length = 3, const dim_t wind_width = 3, const borderType edge_pad = AF_PAD_ZERO);
724 
725 #if AF_API_VERSION >= 34
726 
739 AFAPI array medfilt1(const array& in, const dim_t wind_width = 3, const borderType edge_pad = AF_PAD_ZERO);
740 #endif
741 
742 #if AF_API_VERSION >= 34
743 
757 AFAPI array medfilt2(const array& in, const dim_t wind_length = 3, const dim_t wind_width = 3, const borderType edge_pad = AF_PAD_ZERO);
758 #endif
759 
760 #if AF_API_VERSION >= 35
761 
769 AFAPI void setFFTPlanCacheSize(size_t cacheSize);
770 #endif
771 
772 }
773 #endif
774 
775 #ifdef __cplusplus
776 extern "C" {
777 #endif
778 
800 AFAPI af_err af_approx1(af_array *out, const af_array in, const af_array pos,
801  const af_interp_type method, const float off_grid);
802 
803 #if AF_API_VERSION >= 37
804 
832 AFAPI af_err af_approx1_v2(af_array *out, const af_array in, const af_array pos,
833  const af_interp_type method, const float off_grid);
834 #endif
835 
859 AFAPI af_err af_approx2(af_array *out, const af_array in,
860  const af_array pos0, const af_array pos1,
861  const af_interp_type method, const float off_grid);
862 
863 #if AF_API_VERSION >= 37
864 
895  const af_array pos0, const af_array pos1,
896  const af_interp_type method, const float off_grid);
897 #endif
898 
899 
900 #if AF_API_VERSION >= 37
901 
941  const af_array pos, const int interp_dim,
942  const double idx_start, const double idx_step,
943  const af_interp_type method,
944  const float off_grid);
945 
979  const af_array pos, const int interp_dim,
980  const double idx_start,
981  const double idx_step,
982  const af_interp_type method,
983  const float off_grid);
984 
1021  const af_array pos0, const int interp_dim0,
1022  const double idx_start_dim0,
1023  const double idx_step_dim0,
1024  const af_array pos1, const int interp_dim1,
1025  const double idx_start_dim1,
1026  const double idx_step_dim1,
1027  const af_interp_type method,
1028  const float off_grid);
1029 
1068  const af_array pos0, const int interp_dim0,
1069  const double idx_start_dim0,
1070  const double idx_step_dim0,
1071  const af_array pos1, const int interp_dim1,
1072  const double idx_start_dim1,
1073  const double idx_step_dim1,
1074  const af_interp_type method,
1075  const float off_grid);
1076 #endif
1077 
1090 AFAPI af_err af_fft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
1091 
1092 #if AF_API_VERSION >= 31
1093 
1105 AFAPI af_err af_fft_inplace(af_array in, const double norm_factor);
1106 #endif
1107 
1121 AFAPI af_err af_fft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
1122 
1123 #if AF_API_VERSION >= 31
1124 
1136 AFAPI af_err af_fft2_inplace(af_array in, const double norm_factor);
1137 #endif
1138 
1153 AFAPI af_err af_fft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2);
1154 
1155 #if AF_API_VERSION >= 31
1156 
1168 AFAPI af_err af_fft3_inplace(af_array in, const double norm_factor);
1169 #endif
1170 
1183 AFAPI af_err af_ifft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
1184 
1185 #if AF_API_VERSION >= 31
1186 
1198 AFAPI af_err af_ifft_inplace(af_array in, const double norm_factor);
1199 #endif
1200 
1214 AFAPI af_err af_ifft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
1215 
1216 #if AF_API_VERSION >= 31
1217 
1229 AFAPI af_err af_ifft2_inplace(af_array in, const double norm_factor);
1230 #endif
1231 
1246 AFAPI af_err af_ifft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2);
1247 
1248 #if AF_API_VERSION >= 31
1249 
1261 AFAPI af_err af_ifft3_inplace(af_array in, const double norm_factor);
1262 #endif
1263 
1264 #if AF_API_VERSION >= 31
1265 
1279 AFAPI af_err af_fft_r2c (af_array *out, const af_array in, const double norm_factor, const dim_t pad0);
1280 #endif
1281 
1282 #if AF_API_VERSION >= 31
1283 
1298 AFAPI af_err af_fft2_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1);
1299 #endif
1300 
1301 #if AF_API_VERSION >= 31
1302 
1318 AFAPI af_err af_fft3_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1, const dim_t pad2);
1319 #endif
1320 
1321 #if AF_API_VERSION >= 31
1322 
1337 AFAPI af_err af_fft_c2r (af_array *out, const af_array in, const double norm_factor, const bool is_odd);
1338 #endif
1339 
1340 #if AF_API_VERSION >= 31
1341 
1355 AFAPI af_err af_fft2_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd);
1356 #endif
1357 
1358 #if AF_API_VERSION >= 31
1359 
1373 AFAPI af_err af_fft3_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd);
1374 #endif
1375 
1391 AFAPI af_err af_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
1392 
1408 AFAPI af_err af_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
1409 
1440 AFAPI af_err af_convolve2_nn(af_array *out, const af_array signal, const af_array filter,
1441  const unsigned stride_dims, const dim_t *strides,
1442  const unsigned padding_dims, const dim_t *paddings,
1443  const unsigned dilation_dims, const dim_t *dilations);
1444 
1460 AFAPI af_err af_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
1461 
1478 AFAPI af_err af_convolve2_sep(af_array *out, const af_array col_filter, const af_array row_filter, const af_array signal, const af_conv_mode mode);
1479 
1492 AFAPI af_err af_fft_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
1493 
1506 AFAPI af_err af_fft_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
1507 
1520 AFAPI af_err af_fft_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
1521 
1531 AFAPI af_err af_fir(af_array *y, const af_array b, const af_array x);
1532 
1545 AFAPI af_err af_iir(af_array *y, const af_array b, const af_array a, const af_array x);
1546 
1561  AFAPI af_err af_medfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad);
1562 
1563 #if AF_API_VERSION >= 34
1564 
1577  AFAPI af_err af_medfilt1(af_array *out, const af_array in, const dim_t wind_width, const af_border_type edge_pad);
1578 #endif
1579 
1580 #if AF_API_VERSION >= 34
1581 
1595  AFAPI af_err af_medfilt2(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad);
1596 #endif
1597 
1598 
1599 #if AF_API_VERSION >= 34
1600 
1610 AFAPI af_err af_set_fft_plan_cache_size(size_t cache_size);
1611 #endif
1612 
1613 #ifdef __cplusplus
1614 }
1615 #endif
AFAPI af_err af_fft_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode)
C Interface for convolution on 1D signals using FFT.
AFAPI af_err af_approx1_v2(af_array *out, const af_array in, const af_array pos, const af_interp_type method, const float off_grid)
C Interface for the version of af_approx1 that accepts a preallocated output array.
AFAPI af_err af_fft_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd)
C Interface for complex to real fast fourier transform for one dimensional signals.
array fftC2R(const array &in, bool is_odd=false, const double norm_factor=1.0)
C++ Interface for complex to real fast fourier transform.
AFAPI af_err af_approx2_v2(af_array *out, const af_array in, const af_array pos0, const af_array pos1, const af_interp_type method, const float off_grid)
C Interface for the version of af_approx2 that accepts a preallocated output array.
AFAPI array fftConvolve(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for FFT-based convolution any(one through three) dimensional signals.
AFAPI void fft2InPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on two dimensional signals.
Linear Interpolation.
Definition: defines.h:244
Definition: algorithm.h:14
AFAPI af_err af_ifft_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on one dimensional signals.
AFAPI array medfilt1(const array &in, const dim_t wind_width=3, const borderType edge_pad=AF_PAD_ZERO)
C++ Interface for median filter.
AFAPI void fft3InPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on three dimensional signals.
af_border_type
Definition: defines.h:266
AFAPI af_err af_set_fft_plan_cache_size(size_t cache_size)
C Interface for setting plan cache size.
AFAPI array convolve(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO)
C++ Interface for convolution any(one through three) dimensional signals.
AFAPI array fft2(const array &in, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for fast fourier transform on two dimensional signals.
AFAPI af_err af_ifft2_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on two dimensional signals.
AFAPI af_err af_fft2_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd)
C Interface for complex to real fast fourier transform for two dimensional signals.
AFAPI array fft3Norm(const array &in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0)
C++ Interface for fast fourier transform on three dimensional signals.
AFAPI void ifft3InPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on three dimensional signals.
Output of the convolution is the same size as input.
Definition: defines.h:305
AFAPI af_err af_convolve2_sep(af_array *out, const af_array col_filter, const af_array row_filter, const af_array signal, const af_conv_mode mode)
C Interface for separable convolution on two dimensional signals.
AFAPI void setFFTPlanCacheSize(size_t cacheSize)
C++ Interface for setting plan cache size.
AFAPI af_err af_ifft3_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on three dimensional signals.
AFAPI array fftConvolve2(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on 2D signals using FFT.
AFAPI af_err af_fft_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode)
C Interface for convolution on 3D signals using FFT.
AFAPI af_err af_medfilt(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad)
C Interface for median filter.
AFAPI af_err af_approx1(af_array *out, const af_array in, const af_array pos, const af_interp_type method, const float off_grid)
C Interface for signals interpolation on one dimensional signals.
AFAPI array fftConvolve3(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on 3D signals using FFT.
AFAPI af_err af_medfilt1(af_array *out, const af_array in, const dim_t wind_width, const af_border_type edge_pad)
C Interface for 1D median filter.
AFAPI af_err af_approx1_uniform_v2(af_array *out, const af_array in, const af_array pos, const int interp_dim, const double idx_start, const double idx_step, const af_interp_type method, const float off_grid)
C Interface for the version of af_approx1_uniform that accepts a preallocated output array...
AFAPI array iir(const array &b, const array &a, const array &x)
C++ Interface for infinite impulse response filter.
AFAPI af_err af_medfilt2(af_array *out, const af_array in, const dim_t wind_length, const dim_t wind_width, const af_border_type edge_pad)
C Interface for median filter.
AFAPI array fft(const array &in, const dim_t odim0=0)
C++ Interface for fast fourier transform on one dimensional signals.
af_interp_type
Definition: defines.h:242
AFAPI array convolve2NN(const array &signal, const array &filter, const dim4 stride, const dim4 padding, const dim4 dilation)
C++ Interface for 2D convolution.
AFAPI array convolve3(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO)
C++ Interface for convolution on three dimensional signals.
array fftR2C(const array &in, const dim4 &dims, const double norm_factor=1.0)
C++ Interface for real to complex fast fourier transform for one dimensional signals.
AFAPI af_err af_fft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2)
C Interface for fast fourier transform on three dimensional signals.
af_conv_domain
Definition: defines.h:313
AFAPI af_err af_fft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0)
C Interface for fast fourier transform on one dimensional signals.
AFAPI af_err af_approx2(af_array *out, const af_array in, const af_array pos0, const af_array pos1, const af_interp_type method, const float off_grid)
C Interface for signals interpolation on two dimensional signals.
AFAPI array fir(const array &b, const array &x)
C++ Interface for finite impulse response filter.
AFAPI array convolve2(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO)
C++ Interface for convolution on two dimensional signals.
AFAPI array dft(const array &in, const double norm_factor, const dim4 outDims)
C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional signals.
af_err
Definition: defines.h:71
AFAPI af_err af_fft2_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1)
C Interface for real to complex fast fourier transform for two dimensional signals.
AFAPI array ifft(const array &in, const dim_t odim0=0)
C++ Interface for inverse fast fourier transform on one dimensional signals.
AFAPI array ifft3Norm(const array &in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0)
C++ Interface for inverse fast fourier transform on three dimensional signals.
AFAPI af_err af_fft3_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on three dimensional signals.
AFAPI array ifftNorm(const array &in, const double norm_factor, const dim_t odim0=0)
C++ Interface for inverse fast fourier transform on one dimensional signals.
AFAPI array convolve1(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO)
C++ Interface for convolution on one dimensional signals.
af_conv_mode
Definition: defines.h:300
AFAPI array fft3(const array &in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0)
C++ Interface for fast fourier transform on three dimensional signals.
AFAPI array approx2(const array &in, const array &pos0, const array &pos1, const interpType method=AF_INTERP_LINEAR, const float off_grid=0.0f)
C++ Interface for data interpolation on two-dimensional signals.
AFAPI array idft(const array &in, const double norm_factor, const dim4 outDims)
C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional signals.
AFAPI void ifft2InPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on two dimensional signals.
Out of bound values are 0.
Definition: defines.h:270
AFAPI af_err af_fft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1)
C Interface for fast fourier transform on two dimensional signals.
long long dim_t
Definition: defines.h:56
ArrayFire automatically picks the right convolution algorithm.
Definition: defines.h:314
AFAPI af_err af_fft_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode)
C Interface for convolution on 2D signals using FFT.
AFAPI af_err af_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain)
C Interface for convolution on two dimensional signals.
AFAPI void ifftInPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on one dimensional signals.
AFAPI af_err af_ifft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0)
C Interface for inverse fast fourier transform on one dimensional signals.
af_conv_domain convDomain
Definition: defines.h:563
AFAPI array fft2Norm(const array &in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for fast fourier transform on two dimensional signals.
AFAPI af_err af_ifft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2)
C Interface for inverse fast fourier transform on three dimensional signals.
#define AFAPI
Definition: defines.h:38
AFAPI array ifft2Norm(const array &in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for inverse fast fourier transform on two dimensional signals.
af_border_type borderType
Definition: defines.h:556
AFAPI af_err af_ifft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1)
C Interface for inverse fast fourier transform on two dimensional signals.
AFAPI af_err af_fft_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on one dimensional signals.
AFAPI af_err af_fft3_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd)
C Interface for complex to real fast fourier transform for three dimensional signals.
AFAPI af_err af_fft_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0)
C Interface for real to complex fast fourier transform for one dimensional signals.
AFAPI array ifft2(const array &in, const dim_t odim0=0, const dim_t odim1=0)
C++ Interface for inverse fast fourier transform on two dimensional signals.
AFAPI af_err af_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain)
C Interface for convolution on three dimensional signals.
AFAPI af_err af_iir(af_array *y, const af_array b, const af_array a, const af_array x)
C Interface for infinite impulse response filter.
AFAPI af_err af_convolve2_nn(af_array *out, const af_array signal, const af_array filter, const unsigned stride_dims, const dim_t *strides, const unsigned padding_dims, const dim_t *paddings, const unsigned dilation_dims, const dim_t *dilations)
C Interface for 2D convolution.
static af::array array(af::dim4 idims, cl_mem buf, af::dtype type, bool retain=false)
Create an af::array object from an OpenCL cl_mem buffer
Definition: opencl.h:330
AFAPI af_err af_fft2_inplace(af_array in, const double norm_factor)
C Interface for fast fourier transform on two dimensional signals.
AFAPI array medfilt(const array &in, const dim_t wind_length=3, const dim_t wind_width=3, const borderType edge_pad=AF_PAD_ZERO)
C++ Interface for median filter.
AFAPI array fftNorm(const array &in, const double norm_factor, const dim_t odim0=0)
C++ Interface for fast fourier transform on one dimensional signals.
AFAPI af_err af_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain)
C Interface for convolution on one dimensional signals.
AFAPI af_err af_fir(af_array *y, const af_array b, const af_array x)
C Interface for finite impulse response filter.
AFAPI array medfilt2(const array &in, const dim_t wind_length=3, const dim_t wind_width=3, const borderType edge_pad=AF_PAD_ZERO)
C++ Interface for median filter.
void * af_array
Definition: defines.h:240
AFAPI array ifft3(const array &in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0)
C++ Interface for inverse fast fourier transform on three dimensional signals.
AFAPI af_err af_approx1_uniform(af_array *out, const af_array in, const af_array pos, const int interp_dim, const double idx_start, const double idx_step, const af_interp_type method, const float off_grid)
C Interface for signals interpolation on one dimensional signals along specified dimension.
AFAPI af_err af_approx2_uniform_v2(af_array *out, const af_array in, const af_array pos0, const int interp_dim0, const double idx_start_dim0, const double idx_step_dim0, const af_array pos1, const int interp_dim1, const double idx_start_dim1, const double idx_step_dim1, const af_interp_type method, const float off_grid)
C Interface for the version of af_approx2_uniform that accepts a preallocated output array...
AFAPI array filter(const array &image, const array &kernel)
Image Filtering.
AFAPI array approx1(const array &in, const array &pos, const interpType method=AF_INTERP_LINEAR, const float off_grid=0.0f)
C++ Interface for data interpolation on one-dimensional signals.
AFAPI array fftConvolve1(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on 1D signals using FFT.
AFAPI void fftInPlace(array &in, const double norm_factor=1.0)
C++ Interface for fast fourier transform on one dimensional signals.
af_interp_type interpType
Definition: defines.h:555
AFAPI af_err af_approx2_uniform(af_array *out, const af_array in, const af_array pos0, const int interp_dim0, const double idx_start_dim0, const double idx_step_dim0, const af_array pos1, const int interp_dim1, const double idx_start_dim1, const double idx_step_dim1, const af_interp_type method, const float off_grid)
C Interface for signals interpolation on two dimensional signals along specified dimensions.
af_conv_mode convMode
Definition: defines.h:562
AFAPI af_err af_fft3_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1, const dim_t pad2)
C Interface for real to complex fast fourier transform for three dimensional signals.