►ArrayFire Functions by Category | |
►Computer Vision | A list of computer vision algorithms |
►Feature descriptors | ORB feature descriptor |
gloh | SIFT feature detector and GLOH descriptor extractor |
orb | ORB Feature descriptor |
sift | SIFT feature detector and descriptor extractor |
►Feature detectors | FAST feature detector |
DoG | Difference of Gaussians |
fast | FAST feature detector |
harris | Harris corner detector |
susan | SUSAN corner detector |
►Feature matchers | Feature matchers |
hammingMatcher | Hamming Matcher |
nearestNeighbour | Nearest Neighbour |
►Template matching | |
matchTemplate | Template Matching |
►Functions to create and modify Arrays | Array constructors, random number generation, transpose, indexing, etc |
►Assignment & Indexing operation on arrays | Access sub regions of an array object |
assign | Copy and write values in the locations specified by the sequences |
col/cols | Gets a reference of a col in a 2D af::array |
index | Lookup values on array based on sequences |
operator() | Gets a reference to a set of elements |
operator(star)= | Multiplies and assigns the value(s) of val to the elements of the af::array |
operator+= | Adds and assigns the value(s) of val to the elements of the af::array |
operator-= | Subtracts and assigns the value(s) of val to the elements of the af::array |
operator/= | Divides and assigns the value(s) of val to the elements of the af::array |
operator= | Assignes the value(s) of val to the elements of the af::array |
row/rows | Gets a reference of a row in a 2D af::array |
slice/slices | Gets a reference of a matrix in a 3D af::array |
util | Utility functions to create objects of type af_index_t |
Constructors of array class | Construct an array object |
►Functions to create arrays. | Constant, random, range, etc |
constant | Create a array from a scalar input value |
diag | Extract diagonal from a matrix when extract is set to true |
getSeed | Get the seed for random number generator |
identity | Create an identity array with diagonal values 1 |
iota | Create an sequence [0, dims.elements() - 1] and modify to specified dimensions dims and then tile it according to tile_dims |
lower | Create a lower triangular marix from input array |
randn | Create a random array sampled from a normal distribution |
randu | Create a random array sampled from uniform distribution |
range | Creates an array with [0, n] values along the seq_dim which is tiled across other dimensions |
setSeed | Set the seed for random number generator |
upper | Create a upper triangular marix from input array |
►Helper functions for arrays | Iszero, isInf, isNan, etc |
cast | Casting inputs from one type to another |
isNan | Check if values are Nan |
isinf | Check if values are infinite |
iszero | Check if values are zero |
►Managing devices in ArrayFire | Getting device pointer, allocating and freeing memory |
alloc | Allocate memory using the ArrayFire memory manager |
allocHost | Allocate memory on host |
array::device<T> | Get the device pointer from the array and lock the buffer in memory manager |
deviceInfo | Gets the information about device and platform as strings |
deviceMemInfo | Memory manager related functions |
free | Free device memory allocated by ArrayFire's memory manager |
freeHost | Free memory allocated on host internally by ArrayFire |
freePinned | Free pinned memory allocated by ArrayFire's memory manager |
getDevice | Get the current device ID |
getDeviceCount | Gets the number of compute devices on the system |
info | Display ArrayFire and device info |
infoString | Get af::info() as a string |
isDoubleAvailable | Check if double precision support is available for specified device |
pinned | Allocate pinned memory using ArrayFire's memory manager |
setDevice | Change current device to specified device |
sync | Blocks until all operations on device are finished |
Methods of array class | Get information about the array object |
►Move and Reorder array content | Reorder, transpose, flip, join, tile, etc |
flat | Flatten the input to a single dimension |
flip | Flip the input along sepcified dimension |
join | Join up to 4 arrays along specified dimension |
moddims | Modify the input dimensions without changing the data order |
reorder | Reorder the input by in the specified order |
replace | Replace elements of an array based on an conditional array |
select | Select elements from two arrays based on an conditional array |
shift | Circular shift slong specified dimensions |
tile | Tile the input array along specified dimensions |
transpose | Matrix Transpose |
►Functions to work with internal array layout | Functions to work with arrayfire's internal data structure |
createStridedArray | Create an array with specified strides and offset |
getOffset | Get Offset of the underlying data |
getStrides | Get strides of underlying data |
isLinear | Check if all elements in array are contiguous |
isOwner | Check if underlying data is owned by the current array |
►Image Processing | Image filtering, morphing and transformations |
►Colorspace conversions | RGB to gray, gray to RGB, RGB to HSV, etc |
colorspace | Colorspace conversion function |
gray2rgb | Grayscale to RGB colorspace converter |
hsv2rgb | HSV to RGB colorspace converter |
rgb2gray | RGB to Grayscale colorspace converter |
rgb2hsv | RGB to HSV colorspace converter |
rgb2ycbcr | RGB to YCbCr colorspace converter |
ycbcr2rgb | YCbCr to RGB colorspace converter |
►Connected Components & Labeling | Regions |
regions | Find blobs in given image |
►Filters | Bilateral, sobel, mean shift, median / min / max filters etc |
SAT | Summed Area Tables |
bilateral | Bilateral Filter |
maxfilt | Find maximum value from a window |
meanshift | Meanshift Filter |
medfilt | Median Filter |
minfilt | Find minimum value from a window |
sobel | Sobel Operators |
►Histograms | Image and data histograms |
histequal | Histogram equalization of input image |
histogram | Histogram of input data |
►Image transformations | Rotate, skew, etc |
resize | Resize an input image |
rotate | Rotate an input image |
scale | Scale an input image |
skew | Skew an input image |
transform | Transform an input image |
transformcoordinates | Transform input coordinates |
translate | Translate an input image |
►Morphological Operations | Erode, dilate, etc |
dilate | Dilation(morphological operator) for images |
dilate3d | Dilation(morphological operator) for volumes |
erode | Erosion(morphological operator) for images |
erode3d | Erosion(morphological operator) for volumes |
►Utility Functions | LoadImage, saveImage, gaussianKernel |
gaussiankernel | Creates a Gaussian Kernel |
►Wrapping and unwrapping image windows | Wrap, unwrap, etc |
unwrap | Generate an array with image windows as columns |
wrap | Wrap takes an unwrapped image (see unwrap()) and converts it back to an image |
►Input and Output functions | Functions to read and write data |
►Reading and writing arrays | Printing data to screen / files |
readArray | Load an array from a file |
saveArray | Save an array to a binary file |
►Reading and writing images | Reading and writing images |
deleteImageMem | Delete memory created by saveImageMem and af_save_image_memory function |
isImageIoAvailable | Returns true if ArrayFire was compiled with ImageIO (FreeImage) support |
loadImage | Load an image from disk to an array |
loadImageMem | Load an image from memory which is stored as a FreeImage stream (FIMEMORY) |
saveImage | Save an array to disk as an image |
saveImageMem | Save an array to memory as an image using FreeImage stream (FIMEMORY) |
►Interface Functions | Backend specific functions |
CUDA specific functions | Accessing ArrayFire's stream, and native device id with other CUDA code |
OpenCL specific functions | Accessing ArrayFire's context, queue, and share data with other OpenCL code |
►Linear Algebra | Matrix multiply, solve, decompositions |
►BLAS operations | Matrix multiply, dot product, etc |
dot | Calculate the dot product of a vector |
matmul | Matrix multiplication using array |
transpose | Matrix Transpose |
►LAPACK Helper functions | |
isLAPACKAvailable | Returns true is ArrayFire is compiled with LAPACK support |
►Linear solve and least squares | Solve, solveLU, etc |
solve | Solve a system of equations |
solveLU | Solve a system of equations |
►Matrix factorizations and decompositions | LU, QR, Cholesky etc |
cholesky | Perform Cholesky decomposition |
lu | Perform LU decomposition |
qr | Perform QR decomposition |
svd | Perform Singular Value Decomposition |
►Matrix operations | Inverse, det, rank, norm etc |
det | Find the determinant of the input matrix |
inverse | Invert a matrix |
norm | Find the norm of the input matrix |
rank | Find the rank of the input matrix |
►Mathematical functions | Functions from standard math library |
►Arithmetic operations | +, -, *, /, >>, << |
add | Addition of two inputs |
bitshiftl | Left shift an input |
bitshiftr | Right shift an input |
div | Divide one input by another |
mul | Multiply two inputs element wise |
sub | Subtract one input from another |
►Complex operations | Real, imag, conjugate etc |
complex | Create complex arrays |
conjg | Get complex conjugate |
imag | Get imaginary part of complex arrays |
real | Get real part of complex arrays |
►Exponential and logarithmic functions | Exp, log, expm1, log1p, etc |
cbrt | Cube root of input arrays |
erf | Error function value |
erfc | Complementary Error function value |
exp | Exponential of input |
expm1 | Exponential of input - 1 |
factorial | Factorial function |
lgamma | Logarithm of absolute values of Gamma function |
log | Natural logarithm |
log10 | Logarithm base 10 |
log1p | Natural logarithm of (1 + in) |
pow | Raise an array to a power |
root | Find root of an input |
sqrt | Square root of input arrays |
tgamma | Gamma function |
►Hyperbolic functions | Sinh, cosh, tanh, etc |
acosh | Acosh of input |
asinh | Asinh of input |
atanh | Atanh of input |
cosh | Cosh of input |
sinh | Sinh of input |
tanh | Tanh of input |
►Logical operations | &&, ||, |, &, <, >, <=, >=, ==, ! |
and | Logical and of two inputs |
bitand | Bitwise and operation of two inputs |
bitor | Bitwise or operation of two inputs |
bitxor | Bitwise xor operation of two inputs |
eq | Check if input two inputs are equal |
ge | Check if input is greater than or equal to another |
gt | Check if input is greater than another |
le | Check if input is less than or equal to another |
lt | Check if input is less than another |
neg | Negative of an input |
neq | Check if input two inputs are not equal |
not | Logical not of an input |
or | Logical or of two inputs |
►Numeric functions | Floor, round, min, max, etc |
abs | Absolute value |
arg | Phase of a number in the complex plane |
ceil | Round to integer greater than equal to current value |
floor | Round to integer less than equal to current value |
hypot | Hypotenuse of the two inputs |
max | Maximum of two inputs |
min | Minimum of two inputs |
mod | Compute \(x - n * y\) where n is quotient of \(x / y\) |
rem | Remainder operation |
round | Round to nearest integer |
sign | Check if input is negative |
trunc | Truncate to nearest integer |
►Trigonometric functions | Sin, cos, tan, etc |
acos | Arc cos of input |
asin | Arc sin of input |
atan/atan2 | Arc tan of input |
cos | Cos of input |
sin | Sin of input |
tan/tan2 | Tan of input |
►Signal Processing | Convolutions, FFTs, filters |
►Convolutions | 1D, 2D and 3D convolutions |
convolve | Convolution Integral for any dimensional data |
convolve1 | Convolution Integral for one dimensional data |
convolve2 | Convolution Integral for two dimensional data |
convolve3 | Convolution Integral for three dimensional data |
fftConvolve | Convolution using Fast Fourier Transform |
fftConvolve2 | 2D Convolution using Fast Fourier Transform |
fftConvolve3 | 3D Convolution using Fast Fourier Transform |
►Fast Fourier Transforms | 1D, 2D and 3D forward, inverse FFTs |
fft | Fast Fourier Transform |
fft2 | Fast Fourier Transform |
fft3 | Fast Fourier Transform |
fftC2R | Complex to Real Fast Fourier Transform |
fftR2C | Real to Complex Fast Fourier Transform |
ifft | Fast Fourier Transform |
ifft2 | Fast Fourier Transform |
ifft3 | Fast Fourier Transform |
►Filter | Fir, iir, etc |
fir | This function implements a Finite Impulse Filter |
iir | This function implements a Infinite Impulse Filter |
►Interpolation and approximation | 1D and 2D interpolation |
approx1 | Approx1 interpolates data along the first dimensions |
approx2 | Approx2 performs interpolation on data along the first and second dimensions |
►Statistics | A list of Statistics functions |
►Basic statistics functions | Mean, median, variance, etc |
corrcoef | Find the correlation coefficient of values in the input |
cov | Find the covariance of values in the input |
mean | Find the mean of values in the input |
median | Find the median of values in the input |
stdev | Find the standar deviation of values in the input |
var | Find the variance of values in the input |
►Unified API Functions | Functions to set current backend and utilities |
getActiveBackend | Get's the backend enum for the active backend |
getAvailableBackends | Returns an integer indicating the backends loaded successfully |
getBackendCount | Get the number of backends whose libraries were successfully loaded |
getBackendId | Get's the backend enum for an array |
getDeviceId | Get's the id of the device an array was created on |
setBackend | Set the current backend when using Unified backend |
►Vector Algorithms | Sum, min, max, sort, set operations, etc |
►Inclusive scan operations | Inclusive / cumulative sum, etc |
accum | Perform exclusive sum along specified dimension |
where | Locate the indices of non-zero elements |
►Numerical differentiation | Diff, gradient, etc |
diff1 | First order numerical difference along specified dimension |
diff2 | Second order numerical difference along specified dimension |
grad | Calculate the gradients of the input |
►Reduction operations | Sum, min, max, etc |
alltrue | Find if of all of the values in input are true |
anytrue | Find if of any of the values in input are true |
count | Count the number of non-zero elements in the input |
max | Find the maximum values and their locations |
min | Find the minimum values and their locations |
product | Find the product of values in the input |
sum | Find the sum of values in the input |
►Set operations | Unique, union, intersect |
setintersect | Find intersection of two inputs |
setunion | Find union of two inputs |
setunique | Find unique values from an input |
►Sort operations | Sort, sort by key, etc |
sort | Sort input arrays |
sortByKey | Sort input arrays based on keys |
sortIndex | Sort input arrays get the sorted indices |
►Complete List of ArrayFire Functions | |
DoG | Difference of Gaussians |
SAT | Summed Area Tables |
abs | Absolute value |
accum | Perform exclusive sum along specified dimension |
acos | Arc cos of input |
acosh | Acosh of input |
add | Addition of two inputs |
alloc | Allocate memory using the ArrayFire memory manager |
allocHost | Allocate memory on host |
alltrue | Find if of all of the values in input are true |
and | Logical and of two inputs |
anytrue | Find if of any of the values in input are true |
approx1 | Approx1 interpolates data along the first dimensions |
approx2 | Approx2 performs interpolation on data along the first and second dimensions |
arg | Phase of a number in the complex plane |
array::device<T> | Get the device pointer from the array and lock the buffer in memory manager |
asin | Arc sin of input |
asinh | Asinh of input |
assign | Copy and write values in the locations specified by the sequences |
atan/atan2 | Arc tan of input |
atanh | Atanh of input |
bilateral | Bilateral Filter |
bitand | Bitwise and operation of two inputs |
bitor | Bitwise or operation of two inputs |
bitshiftl | Left shift an input |
bitshiftr | Right shift an input |
bitxor | Bitwise xor operation of two inputs |
cast | Casting inputs from one type to another |
cbrt | Cube root of input arrays |
ceil | Round to integer greater than equal to current value |
cholesky | Perform Cholesky decomposition |
col/cols | Gets a reference of a col in a 2D af::array |
colorspace | Colorspace conversion function |
complex | Create complex arrays |
conjg | Get complex conjugate |
constant | Create a array from a scalar input value |
convolve | Convolution Integral for any dimensional data |
convolve1 | Convolution Integral for one dimensional data |
convolve2 | Convolution Integral for two dimensional data |
convolve3 | Convolution Integral for three dimensional data |
corrcoef | Find the correlation coefficient of values in the input |
cos | Cos of input |
cosh | Cosh of input |
count | Count the number of non-zero elements in the input |
cov | Find the covariance of values in the input |
deleteImageMem | Delete memory created by saveImageMem and af_save_image_memory function |
det | Find the determinant of the input matrix |
deviceInfo | Gets the information about device and platform as strings |
deviceMemInfo | Memory manager related functions |
diag | Extract diagonal from a matrix when extract is set to true |
diff1 | First order numerical difference along specified dimension |
diff2 | Second order numerical difference along specified dimension |
dilate | Dilation(morphological operator) for images |
dilate3d | Dilation(morphological operator) for volumes |
div | Divide one input by another |
dot | Calculate the dot product of a vector |
eq | Check if input two inputs are equal |
erf | Error function value |
erfc | Complementary Error function value |
erode | Erosion(morphological operator) for images |
erode3d | Erosion(morphological operator) for volumes |
exp | Exponential of input |
expm1 | Exponential of input - 1 |
factorial | Factorial function |
fast | FAST feature detector |
fft | Fast Fourier Transform |
fft2 | Fast Fourier Transform |
fft3 | Fast Fourier Transform |
fftC2R | Complex to Real Fast Fourier Transform |
fftConvolve | Convolution using Fast Fourier Transform |
fftConvolve2 | 2D Convolution using Fast Fourier Transform |
fftConvolve3 | 3D Convolution using Fast Fourier Transform |
fftR2C | Real to Complex Fast Fourier Transform |
fir | This function implements a Finite Impulse Filter |
flat | Flatten the input to a single dimension |
flip | Flip the input along sepcified dimension |
floor | Round to integer less than equal to current value |
free | Free device memory allocated by ArrayFire's memory manager |
freeHost | Free memory allocated on host internally by ArrayFire |
freePinned | Free pinned memory allocated by ArrayFire's memory manager |
gaussiankernel | Creates a Gaussian Kernel |
ge | Check if input is greater than or equal to another |
getActiveBackend | Get's the backend enum for the active backend |
getAvailableBackends | Returns an integer indicating the backends loaded successfully |
getBackendCount | Get the number of backends whose libraries were successfully loaded |
getBackendId | Get's the backend enum for an array |
getDevice | Get the current device ID |
getDeviceCount | Gets the number of compute devices on the system |
getDeviceId | Get's the id of the device an array was created on |
getSeed | Get the seed for random number generator |
gloh | SIFT feature detector and GLOH descriptor extractor |
grad | Calculate the gradients of the input |
gray2rgb | Grayscale to RGB colorspace converter |
gt | Check if input is greater than another |
hammingMatcher | Hamming Matcher |
harris | Harris corner detector |
histequal | Histogram equalization of input image |
histogram | Histogram of input data |
homography | Homography Estimation |
hsv2rgb | HSV to RGB colorspace converter |
hypot | Hypotenuse of the two inputs |
identity | Create an identity array with diagonal values 1 |
ifft | Fast Fourier Transform |
ifft2 | Fast Fourier Transform |
ifft3 | Fast Fourier Transform |
iir | This function implements a Infinite Impulse Filter |
imag | Get imaginary part of complex arrays |
index | Lookup values on array based on sequences |
info | Display ArrayFire and device info |
infoString | Get af::info() as a string |
inverse | Invert a matrix |
iota | Create an sequence [0, dims.elements() - 1] and modify to specified dimensions dims and then tile it according to tile_dims |
isDoubleAvailable | Check if double precision support is available for specified device |
isImageIoAvailable | Returns true if ArrayFire was compiled with ImageIO (FreeImage) support |
isLAPACKAvailable | Returns true is ArrayFire is compiled with LAPACK support |
isNan | Check if values are Nan |
isinf | Check if values are infinite |
iszero | Check if values are zero |
join | Join up to 4 arrays along specified dimension |
le | Check if input is less than or equal to another |
lgamma | Logarithm of absolute values of Gamma function |
loadImage | Load an image from disk to an array |
loadImageMem | Load an image from memory which is stored as a FreeImage stream (FIMEMORY) |
log | Natural logarithm |
log10 | Logarithm base 10 |
log1p | Natural logarithm of (1 + in) |
lower | Create a lower triangular marix from input array |
lt | Check if input is less than another |
lu | Perform LU decomposition |
matchTemplate | Template Matching |
matmul | Matrix multiplication using array |
max | Find the maximum values and their locations |
max | Maximum of two inputs |
maxfilt | Find maximum value from a window |
mean | Find the mean of values in the input |
meanshift | Meanshift Filter |
medfilt | Median Filter |
median | Find the median of values in the input |
min | Find the minimum values and their locations |
min | Minimum of two inputs |
minfilt | Find minimum value from a window |
mod | Compute \(x - n * y\) where n is quotient of \(x / y\) |
moddims | Modify the input dimensions without changing the data order |
mul | Multiply two inputs element wise |
nearestNeighbour | Nearest Neighbour |
neg | Negative of an input |
neq | Check if input two inputs are not equal |
norm | Find the norm of the input matrix |
not | Logical not of an input |
operator() | Gets a reference to a set of elements |
operator(star)= | Multiplies and assigns the value(s) of val to the elements of the af::array |
operator+= | Adds and assigns the value(s) of val to the elements of the af::array |
operator-= | Subtracts and assigns the value(s) of val to the elements of the af::array |
operator/= | Divides and assigns the value(s) of val to the elements of the af::array |
operator= | Assignes the value(s) of val to the elements of the af::array |
or | Logical or of two inputs |
orb | ORB Feature descriptor |
pinned | Allocate pinned memory using ArrayFire's memory manager |
pow | Raise an array to a power |
print | Print the array to screen |
product | Find the product of values in the input |
qr | Perform QR decomposition |
randn | Create a random array sampled from a normal distribution |
randu | Create a random array sampled from uniform distribution |
range | Creates an array with [0, n] values along the seq_dim which is tiled across other dimensions |
rank | Find the rank of the input matrix |
readArray | Load an array from a file |
real | Get real part of complex arrays |
regions | Find blobs in given image |
rem | Remainder operation |
reorder | Reorder the input by in the specified order |
replace | Replace elements of an array based on an conditional array |
resize | Resize an input image |
rgb2gray | RGB to Grayscale colorspace converter |
rgb2hsv | RGB to HSV colorspace converter |
rgb2ycbcr | RGB to YCbCr colorspace converter |
root | Find root of an input |
rotate | Rotate an input image |
round | Round to nearest integer |
row/rows | Gets a reference of a row in a 2D af::array |
saveArray | Save an array to a binary file |
saveImage | Save an array to disk as an image |
saveImageMem | Save an array to memory as an image using FreeImage stream (FIMEMORY) |
scale | Scale an input image |
select | Select elements from two arrays based on an conditional array |
setBackend | Set the current backend when using Unified backend |
setDevice | Change current device to specified device |
setSeed | Set the seed for random number generator |
setintersect | Find intersection of two inputs |
setunion | Find union of two inputs |
setunique | Find unique values from an input |
shift | Circular shift slong specified dimensions |
sift | SIFT feature detector and descriptor extractor |
sign | Check if input is negative |
sin | Sin of input |
sinh | Sinh of input |
skew | Skew an input image |
slice/slices | Gets a reference of a matrix in a 3D af::array |
sobel | Sobel Operators |
solve | Solve a system of equations |
solveLU | Solve a system of equations |
sort | Sort input arrays |
sortByKey | Sort input arrays based on keys |
sortIndex | Sort input arrays get the sorted indices |
sqrt | Square root of input arrays |
stdev | Find the standar deviation of values in the input |
sub | Subtract one input from another |
sum | Find the sum of values in the input |
susan | SUSAN corner detector |
svd | Perform Singular Value Decomposition |
sync | Blocks until all operations on device are finished |
tan/tan2 | Tan of input |
tanh | Tanh of input |
tgamma | Gamma function |
tile | Tile the input array along specified dimensions |
toString | Print the array to a string instead of the screen |
transform | Transform an input image |
transformcoordinates | Transform input coordinates |
translate | Translate an input image |
transpose | Matrix Transpose |
trunc | Truncate to nearest integer |
unwrap | Generate an array with image windows as columns |
upper | Create a upper triangular marix from input array |
util | Utility functions to create objects of type af_index_t |
var | Find the variance of values in the input |
where | Locate the indices of non-zero elements |
wrap | Wrap takes an unwrapped image (see unwrap()) and converts it back to an image |
ycbcr2rgb | YCbCr to RGB colorspace converter |
►Graphics | |
Rendering Functions | Rendering functions to draw images, plots etc |
Window Functions | Window creation, modification and destruction functions |