GPU accelerated image processing for everyone
By Robert Haase, based on work by Bradley Lowekamp and the SimpleITK and ITK teams
Apply SimpleITKs Otsu Multiple Thresholds to an image.
See also: https://simpleitk.org/doxygen/latest/html/classitk_1_1simple_1_1OtsuMultipleThresholdsImageFilter.html
Category: Segmentation
Availability: Available in Fiji by activating the update sites clij, clij2 and clijx-assistant-extensions. This function is part of clijx-assistant-simpleitk_-0.6.0.1.jar.
Ext.CLIJx_simpleITKOtsuMultipleThresholds(Image input, Image destination, Number number_of_thresholds);
// 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 number_of_thresholds = 1.0;
// Execute operation on GPU clijx.simpleITKOtsuMultipleThresholds(input, destination, number_of_thresholds);
// 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); number_of_thresholds = 1.0;
% Execute operation on GPU clijx.simpleITKOtsuMultipleThresholds(input, destination, number_of_thresholds);
% show result destination = clijx.pullMat(destination) % cleanup memory on GPU clijx.release(input); clijx.release(destination);
This plugin is licensed BSD3, see:
https://github.com/clij/clijx-assistant-simpleitk/blob/master/license.txt
The underlying SimpleITK librariy is Apache 2 licensed:
https://github.com/SimpleITK/SimpleITK/blob/master/LICENSE