GPU accelerated image processing for everyone
Applies two Gaussian blurs, spot detection, Otsu-thresholding and Voronoi-labeling. The thresholded binary image is flooded using the Voronoi approach starting from the found local maxima. Noise-removal sigma for spot detection and thresholding can be configured separately.
Category: Labels
Availability: Available in Fiji by activating the update sites clij and clij2. This function is part of clijx_-0.30.1.22.jar.
Ext.CLIJx_voronoiOtsuLabeling(Image input, Image destination, Number spot_sigma, Number outline_sigma);
// 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); float spot_sigma = 1.0; float outline_sigma = 2.0;
// Execute operation on GPU clijx.voronoiOtsuLabeling(input, destination, spot_sigma, outline_sigma);
// show result destinationImagePlus = clijx.pull(destination); destinationImagePlus.show(); // cleanup memory on GPU clijx.release(input); clijx.release(destination);
% init CLIJ and GPU clijx = init_clatlabx(); % get input parameters input = clijx.pushMat(input_matrix); destination = clijx.create(input); spot_sigma = 1.0; outline_sigma = 2.0;
% Execute operation on GPU clijx.voronoiOtsuLabeling(input, destination, spot_sigma, outline_sigma);
% show result destination = clijx.pullMat(destination) % cleanup memory on GPU clijx.release(input); clijx.release(destination);
import pyclesperanto_prototype as cle cle.voronoi_otsu_labeling(input, destination, spot_sigma, outline_sigma)
Segmentation_3D.ipynb
voronoi_otsu_labeling.ipynb