11.25. ITK Double Threshold Image Filter

Binarizes an image using a hysteresis-style double threshold that keeps the objects of interest without picking up extraneous ones.

Group (Subgroup)

ITKMathematicalMorphology (MathematicalMorphology)

Description

Choosing a single threshold is often a compromise: a wide range catches the whole object but also lets in noise and extraneous pixels, while a narrow range rejects the noise but also clips the object. Double threshold resolves this with two nested ranges — a narrow range that reliably marks only true object pixels, and a wide range that captures the full extent of the objects (and some extras).

The filter keeps every object that contains at least one pixel passing the narrow range, and grows it out to its full extent within the wide range (a geodesic dilation of the narrow-range result, constrained to the wide-range mask). The result is that only genuine objects survive, but each appears at the full size it would have had under the wide threshold.

Parameter Guidance

  • Threshold1, Threshold2, Threshold3, Threshold4 — four bounds, in the input image’s intensity units, that must be ordered Threshold1 Threshold2 Threshold3 Threshold4. They define the wide range as [Threshold1, Threshold4] and the narrow range as [Threshold2, Threshold3] inside it.

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

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

  • Fully Connected — controls neighbor connectivity for the grow step (face-only versus face + edge + corner). Turn it on for thin, one-pixel-wide features.

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

Threshold1

Scalar Value

Float64

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits::NonpositiveMin() . The two upper thresholds default NumericTraits::max . Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

Threshold2

Scalar Value

Float64

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits::NonpositiveMin() . The two upper thresholds default NumericTraits::max . Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

Threshold3

Scalar Value

Float64

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits::NonpositiveMin() . The two upper thresholds default NumericTraits::max . Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

Threshold4

Scalar Value

Float64

Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits::NonpositiveMin() . The two upper thresholds default NumericTraits::max . Threshold1 <= Threshold2 <= Threshold3 <= Threshold4.

Inside Value

UInt8

Set the ‘inside’ pixel value. The default value NumericTraits::max()

Outside Value

UInt8

Set the ‘outside’ pixel value. The default value NumericTraits::ZeroValue() .

Fully Connected

Bool

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.

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.

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.