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
uint8label, default 1).Outside Value — the output value for all other pixels (a
uint8label, 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 |
Threshold2 |
Scalar Value |
Float64 |
Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits |
Threshold3 |
Scalar Value |
Float64 |
Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits |
Threshold4 |
Scalar Value |
Float64 |
Set the thresholds. Four thresholds should be specified. The two lower thresholds default to NumericTraits |
Inside Value |
UInt8 |
Set the ‘inside’ pixel value. The default value NumericTraits |
|
Outside Value |
UInt8 |
Set the ‘outside’ pixel value. The default value NumericTraits |
|
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
License & Copyright
Please see the description file distributed with this Plugin
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.