Bureau H. Glünder 2018
- WHAT FOR
- Horizontal Tracing is an “ImageJ”-PlugIn which is “ImageJ Macro”-recordable.
- Horizontal Tracing traces the contours of a horizontally elongated object (dark on light ground) and represents them as polyline selections.
- Horizontal Tracing primarily serves the determination of thickness variations of elongated and horizontally aligned objects.
According to the disc diameter of the applied "Rolling Disc"-approach, contour gaps are bridged and contours are smoothed.
- Horizontal Tracing does not accept colour-images or image-stacks.
- HOW TO
- Download “HorizontalTracing_0b1-x.zip”, unzip this file, consult the ReadMe, and put Horizontal_Tracing.class in the “plugins”-folder of your “ImageJ”-distribution.
- Quit and restart “ImageJ”.
- Open an image showing an elongated and horizontally aligned object.
- Create a suitable circular selection above or below the object.
- Choose the item “Horizontal Tracing” from the “Plugins”-menu of “ImageJ”.
- The dialog:
- Select the object contour to be traced.
- Decide on the treatment of concave contour parts.
- Enter the threshold value.
- Enter the trace length.
- Further details:
- The elongated object must be dark on light background.
- The center of the initial circular selection (disc) defines the horizontal start position for the tracing. The vertical disc position must be above or below the object at a convenient distance from the contour to be traced.
- The threshold defines the distance, the disc enters the object during tracing. The disc stops entering if the enclosed mean value equals the threshold.
- Thickness measurements require equal lengths of the upper an lower traces, hence contours having concave parts require special treatments. Two options are available:
"Cliff-jump", for which the tracing jumps from overhanging contours and
"Cliff-cut", for which the tracing cuts through overhanging contours.
- The resulting polyline selection is created with sub-pixel resolution.
- Macro operation:
- Macro code for running “Horizontal Tracing”:
makeOval( -2.5, 0, 5, 5 ); // rolling disc
ps = "Upper side"; cc = "Cliff-jump"; thr = 127; len = 256; // example values
run("Horizontal Tracing", "contour=["+ps+"] concavity="+cc+" threshold="+thr+" length="+len);
- USE AND ABUSE
- Horizontal Tracing requires a license.
- Horizontal Tracing is provided AS IS and you use it entirely at your own risk.