- Main Page
- Tutorials
- Functions
- Release Notes
- Examples

Functions
Documentation grouped according to category:
[detail level 1 2 3 4]

►ArrayFire Functions by Category |
►Computer Vision | A list of computer vision algorithms
►Feature descriptors | ORB feature descriptor
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
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
array::device<T> | Get the device pointer from the array
deviceInfo | Get device information
deviceMemInfo | Memory manager related functions
free | Free device 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
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
►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
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
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
►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
►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
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
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 | Get device information
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
gaussiankernel | Creates a Gaussian Kernel
ge | Check if input is greater than or equal to another
getDevice | Get the current device ID
getDeviceCount | Gets the number of compute devices on the system
getSeed | Get the seed for random number generator
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
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
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
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 | Maximum of two inputs
max | Find the maximum values and their locations
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() | This operator returns a reference of the original array at a given coordinate
operator() | This operator returns a reference of the original array at a given coordinate
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
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
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
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