Surface Blob

The Surface Blob tool lets you detect surface defects, such as uneven or excess material, gouges, or blemishes, on a relatively uniform or flat background, in either 3D height map data or intensity data. It can also extract targets from the surface. The tool optionally lets you set its height threshold relative to a user-defined reference region. It also lets you use a reference plane to correct for a minor tilt of the target surface (up to 10 degrees); this lets you detect low or shallow defects that would otherwise not be detectable due to a tilt.

The Surface Blob tool provides functionality similar to the Surface Segmentation tool. For information on the Surface Segmentation tool, see Surface Segmentation.

For a comparison of these tools and the part detection capabilities you can configure on the Scan page, see Isolating Parts from Surface Data.

The tool first filters data based on a height or intensity threshold (above or below it), and then uses configurable morphological operations to better isolate parts. Finally, the tool uses various size- and shape-based filters that let you exclude or include the expected defects or the targets you need (potential blobs).

The tool lets you configure the maximum number of "blobs" to output, and returns the total blob count, and for each blob, the X and Y center, the width and length, and the area. The center point of each blob is available as a geometric feature.

Several dents outlined by the tool on a surface in cyan. The currently selected blob is outlined in red. (Grayscale heightmap mode is used to better see the outlines.)

Note that knowing the rough size and shape of the kinds of detects you expect is important when you are configuring the open and close kernels and the tool's filters.

When Enable Array Output is checked, the tool outputs the blobs in an array called Blob Surface. Be sure to enable Blob Surface in the Outputs section after enabling this parameter.

For information on adding, managing, and removing tools, as well as detailed descriptions of settings common to most tools, see Tool Configuration.

Inputs

To use a measurement as an anchor, it must be enabled and properly configured in the tool providing the anchor. For more information on anchoring, see Measurement Anchoring.

Inputs
Name Description
Enable Batching

When Enable Batching is checked, the tool takes an array as input and processes each surface in the array individually. There is no limit to the size of the array, other than processing limitations of the sensor.

This setting is hidden when the tool's Enable Array Output setting is checked.

For more information on arrays, batching, and aggregating, see Arrays, Batching, and Aggregation.

Surface Input

The data the tool applies measurements to or processes.

Anchor X

Anchor Y

Anchor Z

The X, Y, or Z measurement of another tool that this tool uses as a positional anchor. Positional anchors are optional.

Anchor Z Angle

The Z Angle measurement of another tool to use as a rotational anchor for this tool. Rotational anchors are optional.

Plane The Plane geometric feature the tool uses when Reference Type is set to Reference Plane.

Parameters

The following parameters are in the expandable Parameters section in the tool's configuration.

Parameters
Parameter Description

Use Intensity

If enabled, the tool uses intensity data instead of heightmap data. Only available if Acquire intensity is enabled on the InspectScan page during scanning; for more information, see Scan Modes and Intensity.

Measurement Regions

When expanded, displays the region- and mask-related settings.

Enable

Enables regions and displays the region- and mask-related settings (see below).

Mask Mode

Number of Regions

Region Type {n}

Region {n}

When you enable regions (see above), the tool displays additional settings related to the region type. For details on the regions supported by this tool and their settings, see Flexible Regions.

For general information on regions and the difference between standard and "flexible" regions, see Regions.

Reference Type

Provides three options: None, Reference Region, and Reference Plane. If the reference type is set to None, the Height Threshold setting is absolute (relative to zero). For the Reference Region and Reference Plane options, see the descriptions of the Reference Region Type and Reference Plane parameters below.

Reference Region Type

If you set Reference Type (see above) to Reference Region, the tool displays a drop-down that lets you configure the reference region. (For details, see Flexible Regions.) The tool calculates an average height or intensity of the data in the reference region. Height Threshold is relative to this value.

For example, in the following, blobs are detected using a relative height threshold of -0.2 mm, relative to the average in the reference region:

For general information on regions and the difference between standard and "flexible" regions, see Regions.

Reference Plane

If you set Reference Type (see above) to Reference Plane, the tool uses the specified plane geometric feature to correct for a tilt of the target. Note however that using a reference plane to correct the tilt distorts the scan data: it sheers the data by the same angle as the tilt. The maximum tilt angle with which you can use the tool therefore depends on how much sheer angle you can tolerate in your application (which can effect the tool's ability to detect blobs). Typically, you add and configure a Surface Plane tool to generate a plane (for more information, see Surface Plane). For information on geometric features, see Geometric Features.

For applications where sheer distortion can't be tolerated, use Surface Transform to correct the tilt (see Surface Transform), and use the latter tool's output as the input for Surface Blob.

For example, in the following, despite the overall tilt of the target, the tool detects the flaws on the surface. (Note the gradient of the heightmap colors, indicating a height difference of roughly 9 millimeters between the lower and higher areas near the dents on the target's surface.)

Include Null Points

Indicates whether null points (points where no height or intensity value is available, due to dropouts or regions outside of the measurement range) are filled with the value in Null Fill Value as a general “background level” or to fill gaps to aid in isolating blobs.

If Use Intensity is enabled, the value in Null Fill Value is an intensity.

Height Threshold

Intensity Threshold

The threshold above or below which data is considered for being a blob. Use the Threshold Direction setting to determine whether data above or below the threshold is considered.

If Use Intensity is enabled, this setting is Intensity Threshold. Otherwise, it is named Height Threshold.

Threshold Direction

Determines whether data above or below the threshold is considered as being a blob.

Below: The Height Threshold value is the maximum that will be considered as part of a blob (for example, a dent below the surrounding surface).

Above: The Height Threshold value is the minimum that will be considered as part of a blob (so a raised feature).

Open Kernel X

Open Kernel Y

The X and Y kernel size, respectively, for morphological opening to remove small areas of data. Use these settings, for example, to remove bridges between areas to properly isolate them or to remove small areas entirely (perhaps caused by noise). Use different values of X and Y to use a non-rectangular filter to adapt the kernel to the kinds of unwanted data you see in the scan data.

Close Kernel X

Close Kernel Y

The X and Y kernel size, respectively, for morphological closing to fill in holes smaller than the specified kernel size. Use these settings, for example, to fill small areas within potential blobs that may be caused by drop-outs. Use different values of X and Y to use a non-rectangular filter to adapt the kernel to the kinds of holes you see in the scan data.

Hierarchy

Provides options to let you find either external blobs only or both external and internal blobs.

External Blobs

Use this option to ignore smaller blobs in larger blobs: only the outermost blob is returned.

External and Internal Blobs

Use this option to include smaller blobs in larger blobs.

Use Area Filter

If Use Area Filter is enabled, the tool applies an area filter to potential blobs using the values in Max Area and Min Area.

Use Aspect Filter

If Use Aspect Filter is enabled, the tool applies an aspect filter (ratio of length and width) to the rotated bounding box that would encapsulate the area, using the values in Max Aspect and Min Aspect.

For example, the lowest dent in a surface is included as a blob if the aspect values are set to 1 and 0.350, respectively (the rotated bounding box encapsulating would be 13.461 mm x 4.782 mm).

In the following, the same dent is excluded if Min Aspect is set to a value greater than 0.354.

Use Circularity Filter

If Use Circularity Filter is enabled, the tool applies a circularity filter to potential blobs to measure how close to a circle the blob is, using the values in Max Circularity and Min Circularity . Circularity is determined from area within the contour of the blob and the perimeter of its contour. With increasing perimeter for the same area, circularity is reduced.

Use Convexity Filter

If Use Convexity Filter is enabled, the tool applies a convexity filter to potential blobs, using the values in Max Convexity and Min Convexity . Convexity is defined as the (Area of the Blob / Area of its convex hull), and "convex hull" of a shape is the tightest convex shape that completely encloses the shape.

Ordering

Orders the measurements, features, and surface data of the individual blobs output by the tool. One of the following:

  • Position - X increasing
  • Position - X decreasing
  • Position - Y increasing
  • Position - Y decreasing
  • Area - Large to small
  • Area - Small to large

Enable Array Output

When Enable Array Output is unchecked, the tool outputs each blob as an individual Surface output.

When Enable Array Output is checked, the tool outputs the blobs in an array called Blob Surface. Be sure to enable Blob Surface in the Outputs section after enabling this parameter. For more information on arrays, batching, and aggregating, see Arrays, Batching, and Aggregation.

Number of Blob Outputs

Determines the number of blobs the tool outputs as measurements, features (center points of blobs), and surface data. Currently limited to 200 blobs. If Enable Array Output is checked, this parameter is hidden.

External ID

The external ID of the tool that appears in GoHMI Designer. For more information, see GoHMI and GoHMI Designer.

Outputs

All tools provide measurements, geometric features, or data as outputs.

You configure the Min and Max parameters by expanding the measurement in the Outputs section. In order for a measurement to return a Pass decision, the measurement must be between maximum and minimum values; the range is inclusive.

All outputs provide an external ID (available by expanding the output in the Outputs panel) for optional use in GoHMI Designer. For more information, see GoHMI and GoHMI Designer.

If Enable Array Output is checked, the tool outputs arrays for the center position, length, width, and area measurements, as well as the Center Point output.

If Enable Array Output is unchecked, the tool outputs individual, numbered measurements. Use the Number of Blob Outputs setting to determine the number of measurements listed in the Measurements tab.

Measurements
Measurement

Total Count

Returns the total number of blobs identified, based on the tool's parameters.

Center X {n} / Center X

Center Y {n} / Center Y

The X and Y positions of the center of mass of a blob extracted from the surface.

Average Z {n} / Average Z

The average Z positions of a blob extracted from the surface.

Min Z {n} / Min Z

Max Z {n} / Max Z

The minimum and maximum Z positions of a blob extracted from the surface.

Width {n} / Width

Length {n} / Length

The length and width of the rotated bounding box that encapsulates the blob extracted from the surface. These are always the major and minor axis of a blob, respectively.

Area {n} / Area

The area of a blob.

The area is calculated using the contour of the blob and resampling. For this reason, areas calculated using the Surface Volume tool will produce different measurements; for more information, see Area.

Features
Type Description

Center Point {n} / Center Point

The point representing the center of a blob.

For more information on geometric features, see Geometric Features.

Data
Type Description

Diagnostic Surface

Surface data you can use to evaluate the impact of the tool's parameters, after filters are applied, to properly separate the areas corresponding to the defects or targets you need to detect.

Surface {n} / Blob Surface

Surface data corresponding to each blob.

When the tool is configured to output arrays, the blob surfaces are in Blob Surface.