ArrayFire Examples (Part 4 of 8) – Image Processing

ArrayFireArrayFire, CUDA Leave a Comment

This is the fourth in a series of posts looking at our current ArrayFire examples. The code can be compiled and run from arrayfire/examples/ when you download and install the ArrayFire library. Today we will discuss the examples found in the image_processing/ directory. In these examples, my machine has the following configuration: ArrayFire v1.9 (build XXXXXXX) by AccelerEyes (64-bit Windows) License: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CUDA toolkit 5.0, driver 306.94 GPU0 GeForce GT 650M, 2048 MB, Compute 3.0 (single,double) Display Device: GPU0 GeForce GT 650M Memory Usage: 1981 MB free (2048 MB total)… Image Demo The purpose of this example is to show how to do some common image manipulations. The method channel_split shows how easily multi-dimensional arrays can be subdivided: // Split a MxNx3 image into 3 separate channel …

Fast Computatio​n of Isotropic Gradients with Jacket’s Convolutions

ArrayFireBenchmarks, Case Studies, CUDA Leave a Comment

Researchers from the École Polytechnique de Montréal showed that Jacket is very efficient to rapidly calculate 2D or 3D isotropic gradients in MATLAB® code. From a mathematical point of view, the isotropic gradients are characterized by their very precise orientation compared to the standard 1D finite difference discretizations. Using convolution functions developed by AccelerEyes, the method becomes very simple to apply and provides a very fast evaluation of isotropic gradients of functions or images. This type of isotropic discretization currently has an application in computational fluid dynamics. They are useful for simulating immiscible multiphase flows using the Lattice Boltzmann Method (LBM), where the orientation of the various fluid interfaces has to be computed very frequently and precisely. In multiphase flow …