9.25. ITK Double Threshold Image Filter

Binarize an input image using double thresholding.

Group (Subgroup)

ITKMathematicalMorphology (MathematicalMorphology)

Description

Double threshold addresses the difficulty in selecting a threshold that will select the objects of interest without selecting extraneous objects. Double threshold considers two threshold ranges: a narrow range and a wide range (where the wide range encompasses the narrow range). If the wide range was used for a traditional threshold (where values inside the range map to the foreground and values outside the range map to the background), many extraneous pixels may survive the threshold operation. If the narrow range was used for a traditional threshold, then too few pixels may survive the threshold.

Double threshold uses the narrow threshold image as a marker image and the wide threshold image as a mask image in the geodesic dilation. Essentially, the marker image (narrow threshold) is dilated but constrained to lie within the mask image (wide threshold). Thus, only the objects of interest (those pixels that survived the narrow threshold) are extracted but the those objects appear in the final image as they would have if the wide threshold was used.

  • GrayscaleGeodesicDilateImageFilter

  • [MorphologyImageFilter , GrayscaleDilateImageFilter , GrayscaleFunctionDilateImageFilter ,](https://itk.org/Doxygen/html/classitk_1_1MorphologyImageFilter , GrayscaleDilateImageFilter , GrayscaleFunctionDilateImageFilter ,.html)BinaryDilateImageFilter

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 Mailing Lists

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.