CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

meanClosestSpotDistance

Determines the distance between pairs of closest spots in two binary images.

Takes two binary images A and B with marked spots and determines for each spot in image A the closest spot in image B. Afterwards, it saves the average shortest distances from image A to image B as ‘mean_closest_spot_distance_A_B’ and from image B to image A as ‘mean_closest_spot_distance_B_A’ to the results table. The distance between B and A is only determined if the bidirectional checkbox is checked.

Category: Measurements

Usage in ImageJ macro

Ext.CLIJ2_meanClosestSpotDistance(Image spotsA, Image spotsB, Boolean bidirectional);

Usage in object oriented programming languages

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

// get input parameters
ClearCLBuffer spotsA = clij2.push(spotsAImagePlus);
ClearCLBuffer spotsB = clij2.push(spotsBImagePlus);
boolean bidirectional = true;
// Execute operation on GPU
double[] resultMeanClosestSpotDistance = clij2.meanClosestSpotDistance(spotsA, spotsB, bidirectional);
// show result
System.out.println(resultMeanClosestSpotDistance);

// cleanup memory on GPU
clij2.release(spotsA);
clij2.release(spotsB);
Matlab
% init CLIJ and GPU
clij2 = init_clatlab();

% get input parameters
spotsA = clij2.pushMat(spotsA_matrix);
spotsB = clij2.pushMat(spotsB_matrix);
bidirectional = true;
% Execute operation on GPU
double[] resultMeanClosestSpotDistance = clij2.meanClosestSpotDistance(spotsA, spotsB, bidirectional);
% show result
System.out.println(resultMeanClosestSpotDistance);

% cleanup memory on GPU
clij2.release(spotsA);
clij2.release(spotsB);
Icy JavaScript
// init CLIJ and GPU
importClass(net.haesleinhuepf.clicy.CLICY);
importClass(Packages.icy.main.Icy);

clij2 = CLICY.getInstance();

// get input parameters
spotsA_sequence = getSequence();
spotsA = clij2.pushSequence(spotsA_sequence);
spotsB_sequence = getSequence();
spotsB = clij2.pushSequence(spotsB_sequence);
bidirectional = true;
// Execute operation on GPU
double[] resultMeanClosestSpotDistance = clij2.meanClosestSpotDistance(spotsA, spotsB, bidirectional);
// show result
System.out.println(resultMeanClosestSpotDistance);

// cleanup memory on GPU
clij2.release(spotsA);
clij2.release(spotsB);

Back to CLIJ2 reference Back to CLIJ2 documentation

Imprint