This is an archive of the old MediaWiki-based ImageJ wiki. The current website can be found at

Gabriel Graph

Gabriel Graph (Fiji)
Author Olivier Burri
Maintainer Olivier Burri
File Gabriel_Graph-1.0.0.jar
Source on GitHub
Initial release August 2015
Latest version July 2017
Development status stable
Website BIOP Staff Page


Gabriel Graph Implementation for ImageJ/Fiji See for implementation

Error creating thumbnail: Unable to save thumbnail to destination


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.

Result of Plugin on image

Macro Recordable

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

import ch.epfl.biop.GabrielGraph;

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.