GPU accelerated image processing for everyone
Apply MorpholibJ’s Extended Minima to an image to produce an image where minima regions are set to 255 and background to 0.
The tolerance parameter specifies how deep intensity valley between minima can be to fuse them while minima detection. This operation uses connectivity = 6 (a.k.a. diamond).
Availability: Available in Fiji by activating the update sites clij, clij2 and clijx-assistant-extensions. This function is part of clijx-assistant-morpholibj_-0.6.0.1.jar.
Ext.CLIJx_morphoLibJExtendedMinima(Image input, Image binary_destination, Number tolerance_threshold);
// 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); binary_destination = clijx.create(input); float tolerance_threshold = 1.0;
// Execute operation on GPU clijx.morphoLibJExtendedMinima(input, binary_destination, tolerance_threshold);
// show result binary_destinationImagePlus = clijx.pull(binary_destination); binary_destinationImagePlus.show(); // cleanup memory on GPU clijx.release(input); clijx.release(binary_destination);
% init CLIJ and GPU clijx = init_clatlabx(); % get input parameters input = clijx.pushMat(input_matrix); binary_destination = clijx.create(input); tolerance_threshold = 1.0;
% Execute operation on GPU clijx.morphoLibJExtendedMinima(input, binary_destination, tolerance_threshold);
% show result binary_destination = clijx.pullMat(binary_destination) % cleanup memory on GPU clijx.release(input); clijx.release(binary_destination);