Blob

This tool is not supported on A and B revision Gocator 2100 and 2300 sensors that are not accelerated (either by a PC-based application or by GoMax). The tool is supported in emulator scenarios.

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 a comparison of these tools and the part detection capabilities you can configure on the Scan page, see Isolating Parts from Surface Data. For information on the Surface Segmentation tool, see Segmentation.

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. The blobs themselves are available in an array that can be accessed and processed by an SDK application or a GDK tool. For more information on the SDK, see GoSDK. For more information on the GDK, see GDK.

Several dents outlined on a surface. 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.

Tool configuration panel

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

Measurements, Data, and Settings

Measurements
Measurement

Count

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

Area {n}

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.

X Center {n}

Y Center {n}

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

The Number of Blob Outputs setting determines the number of measurements listed in the Measurements tab.

Z Average {n}

Z Min {n}

Z Max {n}

The average, minimum, and maximum Z value of a blob extracted from the surface.

The Number of Part Outputs setting determines the number of measurements listed in the Measurements tab.

Length {n}

Width {n}

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.

The Number of Blob Outputs setting determines the number of measurements listed in the Measurements tab.

Features
Type Description

Center Point {n}

The point representing the center of a blob.

Data
Type Description

Blobs Array

An array containing the blobs. For an example of how to access this data from an SDK application or a GDK tool, see the appropriate sample in the SDK samples; for more information, see Setup and Locations.

Diagnostics Surface

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

Surface {n}

Surface data corresponding to each blob.

Parameters
Parameter Description

Source

The sensor, or combination of sensors, that provides data for the tool's measurements. For more information, see Source.

Use Intensity

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

Use Measure Region

Limits blob detection to a user-defined region.

If this option is not checked, the tool detects blobs in the entire active area.

In the following, blobs are only detected in the rectangular measure region:

Measure Region Type

When you enable Use Measure Region, the tool displays this and additional settings related to the type selected in this parameter. For details on flexible regions 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 choose the reference region type, as well as additional settings related to the type you select. (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 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 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 named 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 + Internal Blobs

Use this option to include smaller blobs in larger blobs.

Use Area Filter

Max Area

Min Area

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

Max Aspect

Min Aspect

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 following dent in a surface is included as a blob if these aspect values are set to 1 and 0.354, respectively (the rotated bounding box encapsulating would be 13.059 mm x 4.704 mm).

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

Use Circularity Filter

Max Circularity

Min Circularity

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

Max Convexity

Min Convexity

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. Choose one of the following:

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

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.

Enable Z Measurements

When this parameter is enabled, the tool outputs the minimum, maximum, and average Z value of each blob. This can be useful in applications where a large number of blobs is expected when you need these Z measurements for each one.

Filters

The filters that are applied to measurement values before they are output. For more information, see Filters.

Decision

The Max and Min settings define the range that determines whether the measurement tool sends a pass or fail decision to the output. For more information, see Decisions.

Anchoring
Anchor Description

X, Y, or Z

Lets you choose the X, Y, or Z measurement of another tool to use as a positional anchor for this tool.

Z angle

Lets you choose the Z Angle measurement of another tool to use as an angle anchor for this tool.

A measurement must be enabled in the other tool for it to be available as an anchor. The anchor measurement should also be properly configured before using it as an anchor.

For more information on anchoring, see Measurement Anchoring.