A compound tool that contains a Profile tool which is connected to a MeasureGapWidths tool.


  • image: Input image.

  • startPoint: The location of the first point in world coordinates.

  • endPoint: The location of the last point in world coordinates.

  • width: The width of the caliper line line on XY-plane in world coordinates. If the width is zero, the line will be made of point samples. A non-zero width means that an average over the pixels that span width world units will be calculated.

  • interpolation: If true, improve accuracy by interpolating point samples between pixels along the line. If false, round pixel coordinates to the nearest integer.

  • algorithm: Gap edge detection algorithm. Gap edges are detected from filtered profile using the selected algorithm.

  • smoothness: Smoothness of the profile filter. Small smoothness value works best with sharp edges. Large smoothness value gives better results if the edges are dull or the image is noisy.

  • threshold: The following condition must be met at be met before a filtered profile entry is considered to be a start / end of a gap: Absolute mode: Filtered gray level must be larger than this. Differential mode: Rate of change must be larger than this. Gaussian zero crossing mode: Two consecutive 2nd order differences must be of opposite signs and their difference must be larger than threshold.

  • hysteresis: Hysteresis to the threshold Absolute mode: The threshold must be exceeded by this number before the pixel is considered an edge. Differential mode: Pixel at which the rate of change is local maximum minus hysteresis is set as an edge. Gaussian zero crossing mode: N/A

  • maxGapCount: maximum number of gaps to be detected


enum AlgorithmType🔗

Supported algorithms.


enumerator AbsoluteThreshold🔗

Detect gap boundaries at positions where the given threshold gray level is crossed in either direction.

enumerator DifferentialThreshold🔗

Detect gap boundaries at steepest gray level changes.

Positive changes mean a dark-to-light boundary and negative changes a light-to-dark boundary.

enumerator GaussianZeroCross🔗

Marr-Hildreth edge detector.

First filters the input profile with a Gaussian filter whose width is changed according to the smoothness parameter. A second order differential function is then computed. Zero crossings of this differential function indicate the points at which the change of magnitude is the largest. These points are selected as boundaries.

enum GapType🔗

Gap filter types.


enumerator DarkGap🔗

Report only dark gaps.

enumerator LightGap🔗

Report only light gaps.

enumerator DarkOrLightGap🔗

Report both gap types.