Ridge Detection

Revision as of 10:43, 4 November 2015 by Hinerm (talk | contribs) (Installation)
Ridge (Line) Detection Plugin (Fiji)
Author Thorsten Wagner
Maintainer Thorsten Wagner (wagner@biomedical-imaging.de)
File Ridge_Detect.jar [1]
Source Github [2]
Latest version v1.1.0 (16 July 2015)
Development status active


This plugin implements the ridge / line detection algorithm described in:

Steger, C., 1998. An unbiased detector of curvilinear structures. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(2), pp.113–125.

It works with stacks, is parallelized and has a preview mode. It depends on the apache-commons-lang 3 library. For ImageJ, please copy it into plugins/jars.


CNT Ridge Detection Original.png CNT Ridge Detection Example.png

This example shows the application of the plugin on images of carbon nanotubes (Sigma = 1.5, Lower Threshold = 1.3, Higher Threshold = 7).

Parameter Selection

There are three parameters which have to be specified. These are the mandatory parameters. The optional parameters can be used to estimate the mandatory parameters
Ridge Detection Parameters.png

Mandatory Parameters

Sigma: Determines the sigma for the derivatives. It depends on the line width.

Lower Threshold: Line points with a response smaller as this threshold are rejected

Upper Threshold: Line points with a response larger as this threshold are accepted.

Darkline: (true/false) This parameter determines whether dark or bright lines are extracted.

Optional parameters

The following optional parameters are used to estimate the mandatory parameters:

Line width (w): The line diameter in pixels. It estimates the mandatory parameter 'Sigma' by:


High contrast (b_{upper}): Highest grayscale value of the line. It estimates the mandatory parameter 'Upper threshold' by:

T_{U}=\left\lfloor 0.17\cdot\frac{2\cdot b_{upper}\cdot\frac{w}{2}}{\sqrt{2\pi}\sigma^{3}}e^{-\frac{\left(\frac{w}{2}\right)^{2}}{2\sigma^{2}}}\right\rfloor

Low contrast (b_{low}): Lowest grayscale value of the line. It estimates the mandatory parameter 'Lower Threshold' by:

T_{L}=\left\lfloor 0.17\cdot\frac{2\cdot b_{low}\cdot\frac{w}{2}}{\sqrt{2\pi}\sigma^{3}}e^{-\frac{\left(\frac{w}{2}\right)^{2}}{2\sigma^{2}}}\right\rfloor

Further options (true/false)

Output if "Estimated width" is selected

Correct position: Correct the line position if it has different contrast on each side of it.

Estimate width: If this option is selected the width of the line is estimated.

Show junction points: If this option is selected the junctions points will be displayed.

Show IDs: The ID of each line will be shown.

Display results: If this option is selected, all contours and junctions are filled into a results table.

Add to Manager: All lines and junctions points will be added to the roi manager.


Simply turn on the Biomedgroup update site, which includes the ridge detection plugin.

If you use ImageJ just copy the RidgeDetection.jar file in your plugins folder and copy the apache-commons-lang 3 jar file into the plugins/jars folder.