Gabriel graph implementation for ImageJ/Fiji.
The algorithm goes through each pair of points and looks for the shortest distance between two points that does not contain any other point within the circle whose diameter is defined by the two points being queried. It is built to run in parallel as per the implementation of Albert Cardona’s ImageJ Tutorials
Call up the plugin using Plugins › BIOP › Gabriel Graph….
The plugin expects an open image with a multipoint selection.
If selected, it will create a new results table with each point, its computed neighbor and the distance between them.
If selected, it will overlay the Gabriel Graph onto the image.
Making use of the GenericDialog class, the plugin is macro-recordable.
run("Gabriel Graph...", "results overlay parallel");
Running from a Plugin
What you need to run this in a plugin is
And then call the static method
ResultsTable results = GabrielGraph.getGabrielGraph(final ImagePlus imp, final boolean is_show_overlay, final boolean is_parallel);
It makes little sense not to use parallel processing, the only issue might be that the order of the points will be different on multiple runs, as this will depend on how Java will manage the threads.