CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

voronoiOctagon

Takes a binary image and dilates the regions using a octagon shape until they touch.

The pixels where the regions touched are afterwards returned as binary image which corresponds to the Voronoi diagram.

voronoiOctagon often follows after

voronoiOctagon is often followed by

Usage in ImageJ macro

Ext.CLIJ2_voronoiOctagon(Image input, Image destination);

Usage in Java

clij2.voronoiOctagon(input, destination);
// init CLIJ and GPU
import net.haesleinhuepf.clij2.CLIJ2;
import net.haesleinhuepf.clij.clearcl.ClearCLBuffer;
CLIJ2 clij2 = CLIJ2.getInstance();

// get input parameters
ClearCLBuffer input = clij2.push(inputImagePlus);
destination = clij2.create(input);
// Execute operation on GPU
clij2.voronoiOctagon(input, destination);
//show result
destinationImagePlus = clij2.pull(destination);
destinationImagePlus.show();

// cleanup memory on GPU
clij2.release(input);
clij2.release(destination);

Usage in Matlab

clij2.voronoiOctagon(input, destination);
% init CLIJ and GPU
clij2 = init_clatlab();

% get input parameters
input = clij2.pushMat(input_matrix);
destination = clij2.create(input);
% Execute operation on GPU
clij2.voronoiOctagon(input, destination);
% show result
destination = clij2.pullMat(destination)

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

Usage in Icy

clij2.voronoiOctagon(input, destination);
// init CLIJ and GPU
importClass(net.haesleinhuepf.clicy.CLICY);
importClass(Packages.icy.main.Icy);

clij2 = CLICY.getInstance();

// get input parameters
input_sequence = getSequence();
input = clij2.pushSequence(input_sequence);
destination = clij2.create(input);
// Execute operation on GPU
clij2.voronoiOctagon(input, destination);
// show result
destination_sequence = clij2.pullSequence(destination)
Icy.addSequence(destination_sequence);
// cleanup memory on GPU
clij2.release(input);
clij2.release(destination);

Example notebooks

labelmap_voronoi
mean_of_touching_neighbors
voronoi

Example scripts

benchmarkVoronoi.ijm
division_visualisation.ijm
labelmap_voronoi.ijm
mean_of_touching_neighbors.ijm
voronoi.ijm
mesh_close_points.m

Back to CLIJ2 reference Back to CLIJ2 documentation

Imprint