11.74. ITK Threshold Maximum Connected Components Image Filter

Automatically picks the threshold that yields the most distinct objects above a minimum size, then produces a binary image.

Group (Subgroup)

ITKConnectedComponents (ConnectedComponents)

Description

This filter automatically selects a threshold rather than asking you for an intensity cutoff. It searches for the threshold value that maximizes the number of connected objects larger than a given minimum size, then binarizes the image at that threshold. Because the chosen threshold separates as many real objects as possible while merging or dropping noise-sized blobs, the filter is well suited to counting many small objects — for example cells or particles in a microscopy image.

The lower threshold boundary is computed by the filter; you supply the upper boundary of the search and the minimum object size. Pixels that pass the selected threshold are written with the Inside Value and all others with the Outside Value.

Parameter Guidance

  • Minimum Object Size In Pixels — the smallest connected region (in pixels) that counts as an object. Regions smaller than this are treated as noise and ignored when the filter optimizes the threshold. Default 0 (count everything).

  • Upper Boundary — the upper limit of the threshold search, in the input image’s intensity units. The filter computes the lower boundary automatically. Default is the maximum intensity of the pixel type.

  • Inside Value — the output value written for pixels that pass the selected threshold (a uint8 label, default 1).

  • Outside Value — the output value written for all other pixels (a uint8 label, default 0).

Required Input Sources

Operates on any scalar image — typically from Read Image, Read Images [3D Stack], or the output of a prior ITK image filter.

Input Parameter(s)

Parameter Name

Parameter Type

Parameter Notes

Description

Minimum Object Size In Pixels

Scalar Value

UInt32

The pixel type must support comparison operators. Set the minimum pixel area used to count objects on the image. Thus, only objects that have a pixel area greater than the minimum pixel area will be counted as an object in the optimization portion of this filter. Essentially, it eliminates noise from being counted as an object. The default value is zero.

Upper Boundary

Scalar Value

Float64

The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity.

Inside Value

UInt8

The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity.

Outside Value

UInt8

The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity.

Input Cell Data

Parameter Name

Parameter Type

Parameter Notes

Description

Image Geometry

Geometry Selection

Image

Select the Image Geometry Group from the DataStructure.

Input Cell Data

Array Selection

Allowed Types: int8, uint8, int16, uint16, int32, uint32, int64, uint64, float32, float64

The image data that will be processed by this filter.

Output Cell Data

Parameter Name

Parameter Type

Parameter Notes

Description

Output Image Data Array

DataObjectName

The result of the processing will be stored in this Data Array.

References

  1. Urish KL, August J, Huard J. “Unsupervised segmentation for myofiber counting in immunofluorescent microscopy images.” Insight Journal, ISC/NA-MIC/MICCAI Workshop on Open-Source Software (2005). https://insight-journal.org/browse/publication/40

  2. Pikaz A, Averbuch A. “Digital image thresholding based on topological stable-state.” Pattern Recognition, 29(5): 829-843, 1996.

Example Pipelines

DREAM3D-NX Help

If you need help, need to file a bug report or want to request a new feature, please head over to the DREAM3DNX-Issues GitHub site where the community of DREAM3D-NX users can help answer your questions.