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 
32 AFAPI array approx1(const array &in, const array &pos,
33  const interpType method = AF_INTERP_LINEAR, const float offGrid = 0.0f);
34 
48 AFAPI array approx2(const array &in, const array &pos0, const array &pos1,
49  const interpType method = AF_INTERP_LINEAR, const float offGrid = 0.0f);
50 
61 AFAPI array fftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
62 
74 AFAPI array fft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
75 
88 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);
89 
102 AFAPI array fft(const array& in, const dim_t odim0=0);
103 
117 AFAPI array fft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
118 
133 AFAPI array fft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
134 
145 AFAPI array dft(const array& in, const double norm_factor, const dim4 outDims);
146 
159 AFAPI array dft(const array& in, const dim4 outDims);
160 
172 AFAPI array dft(const array& in);
173 
184 AFAPI array ifftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
185 
197 AFAPI array ifft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
198 
211 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);
212 
225 AFAPI array ifft(const array& in, const dim_t odim0=0);
226 
240 AFAPI array ifft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
241 
256 AFAPI array ifft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
257 
268 AFAPI array idft(const array& in, const double norm_factor, const dim4 outDims);
269 
282 AFAPI array idft(const array& in, const dim4 outDims);
283 
295 AFAPI array idft(const array& in);
296 
319 AFAPI array convolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
320 
338 AFAPI array convolve(const array& col_filter, const array& row_filter, const array& signal, const convMode mode=AF_CONV_DEFAULT);
339 
355 AFAPI array convolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
356 
372 AFAPI array convolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
373 
389 AFAPI array convolve3(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
390 
401 AFAPI array fftConvolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
402 
413 AFAPI array fftConvolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
414 
425 AFAPI array fftConvolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
426 
437 AFAPI array fftConvolve3(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
438 
448 AFAPI array fir(const array &b, const array &x);
449 
462 AFAPI array iir(const array &b, const array &a, const array &x);
463 
464 }
465 #endif
466 
467 #ifdef __cplusplus
468 extern "C" {
469 #endif
470 
485 AFAPI af_err af_approx1(af_array *out, const af_array in, const af_array pos,
486  const af_interp_type method, const float offGrid);
487 
503 AFAPI af_err af_approx2(af_array *out, const af_array in, const af_array pos0, const af_array pos1,
504  const af_interp_type method, const float offGrid);
505 
518 AFAPI af_err af_fft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
519 
533 AFAPI af_err af_fft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
534 
549 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);
550 
563 AFAPI af_err af_ifft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
564 
578 AFAPI af_err af_ifft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
579 
594 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);
595 
611 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);
612 
628 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);
629 
645 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);
646 
663 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);
664 
677 AFAPI af_err af_fft_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
678 
691 AFAPI af_err af_fft_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
692 
705 AFAPI af_err af_fft_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
706 
716 AFAPI af_err af_fir(af_array *y, const af_array b, const af_array x);
717 
730 AFAPI af_err af_iir(af_array *y, const af_array b, const af_array a, const af_array x);
731 #ifdef __cplusplus
732 }
733 #endif
AFAPI array fftConvolve2(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on two dimensional data.
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 data.
Linear Interpolation.
Definition: defines.h:176
Definition: algorithm.h:14
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 offGrid)
C Interface for data interpolation on two dimensional data.
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 data.
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 data.
AFAPI array fftConvolve3(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on three dimensional data.
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 data.
Output of the convolution is the same size as input.
Definition: defines.h:210
AFAPI array fftConvolve1(const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
C++ Interface for convolution on one dimensional data.
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 FFT-based convolution on two dimensional data.
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 FFT-based convolution on one dimensional data.
AFAPI array iir(const array &b, const array &a, const array &x)
C++ Interface for infinite impulse response filter.
AFAPI array fft(const array &in, const dim_t odim0=0)
C++ Interface for fast fourier transform on one dimensional data.
AFAPI array approx1(const array &in, const array &pos, const interpType method=AF_INTERP_LINEAR, const float offGrid=0.0f)
C++ Interface for data interpolation on one dimensional data.
af_interp_type
Definition: defines.h:174
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 data.
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 data.
af_conv_domain
Definition: defines.h:218
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 data.
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 data.
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 data.
af_err
Definition: defines.h:58
AFAPI array ifft(const array &in, const dim_t odim0=0)
C++ Interface for inverse fast fourier transform on one dimensional data.
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 data.
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 data.
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 data.
af_conv_mode
Definition: defines.h:205
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 data.
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 data.
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 data.
long long dim_t
Definition: defines.h:50
ArrayFire automatically picks the right convolution algorithm.
Definition: defines.h:219
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 data.
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 data.
af_conv_domain convDomain
Definition: defines.h:299
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 data.
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 data.
#define AFAPI
Definition: defines.h:31
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 data.
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 data.
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 data.
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 data.
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.
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:105
AFAPI array fftNorm(const array &in, const double norm_factor, const dim_t odim0=0)
C++ Interface for fast fourier transform on one dimensional data.
AFAPI af_err af_approx1(af_array *out, const af_array in, const af_array pos, const af_interp_type method, const float offGrid)
C Interface for data interpolation on one dimensional data.
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 FFT-based convolution on three dimensional data.
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 data.
AFAPI af_err af_fir(af_array *y, const af_array b, const af_array x)
C++ Interface for finite impulse response filter.
void * af_array
Definition: defines.h:172
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 data.
AFAPI array approx2(const array &in, const array &pos0, const array &pos1, const interpType method=AF_INTERP_LINEAR, const float offGrid=0.0f)
C++ Interface for data interpolation on two dimensional data.
AFAPI array filter(const array &image, const array &kernel)
Image Filtering.
af_interp_type interpType
Definition: defines.h:291
af_conv_mode convMode
Definition: defines.h:298
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 data.