CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

nonLocalMeans

By Robert Haase, based on work by Loic A. Royer

Applies a non-local means filter using a box neighborhood with a Gaussian weight specified with sigma to the input image.

Categories: Filter, Background

Usage in ImageJ macro

Ext.CLIJx_nonLocalMeans(Image input, Image destination, Number radiusX, Number radiusY, Number radiusZ, Number sigma);

Usage in object oriented programming languages

Java
// init CLIJ and GPU
import net.haesleinhuepf.clijx.CLIJx;
import net.haesleinhuepf.clij.clearcl.ClearCLBuffer;
CLIJx clijx = CLIJx.getInstance();

// get input parameters
ClearCLBuffer input = clijx.push(inputImagePlus);
destination = clijx.create(input);
int radiusX = 10;
int radiusY = 20;
int radiusZ = 30;
float sigma = 1.0;
// Execute operation on GPU
clijx.nonLocalMeans(input, destination, radiusX, radiusY, radiusZ, sigma);
// show result
destinationImagePlus = clijx.pull(destination);
destinationImagePlus.show();

// cleanup memory on GPU
clijx.release(input);
clijx.release(destination);
Matlab
% init CLIJ and GPU
clijx = init_clatlabx();

% get input parameters
input = clijx.pushMat(input_matrix);
destination = clijx.create(input);
radiusX = 10;
radiusY = 20;
radiusZ = 30;
sigma = 1.0;
% Execute operation on GPU
clijx.nonLocalMeans(input, destination, radiusX, radiusY, radiusZ, sigma);
% show result
destination = clijx.pullMat(destination)

% cleanup memory on GPU
clijx.release(input);
clijx.release(destination);

Back to CLIJ2 reference Back to CLIJ2 documentation

Imprint