fast_thresholdfast_thresholdFastThresholdFastThresholdfast_threshold (Operator)

Name

fast_thresholdfast_thresholdFastThresholdFastThresholdfast_threshold — Fast thresholding of images using global thresholds.

Signature

fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )

Herror fast_threshold(const Hobject Image, Hobject* Region, double MinGray, double MaxGray, const Hlong MinSize)

Herror T_fast_threshold(const Hobject Image, Hobject* Region, const Htuple MinGray, const Htuple MaxGray, const Htuple MinSize)

void FastThreshold(const HObject& Image, HObject* Region, const HTuple& MinGray, const HTuple& MaxGray, const HTuple& MinSize)

HRegion HImage::FastThreshold(const HTuple& MinGray, const HTuple& MaxGray, Hlong MinSize) const

HRegion HImage::FastThreshold(double MinGray, double MaxGray, Hlong MinSize) const

static void HOperatorSet.FastThreshold(HObject image, out HObject region, HTuple minGray, HTuple maxGray, HTuple minSize)

HRegion HImage.FastThreshold(HTuple minGray, HTuple maxGray, int minSize)

HRegion HImage.FastThreshold(double minGray, double maxGray, int minSize)

def fast_threshold(image: HObject, min_gray: Union[int, float], max_gray: Union[int, float], min_size: int) -> HObject

Description

fast_thresholdfast_thresholdFastThresholdFastThresholdFastThresholdfast_threshold selects the pixels from the input image whose gray values g fulfill the following condition:

To reduce the processing time, the selection is done in two steps: At first, all points lying on selected horizontal lines that are specified by their distance MinSizeMinSizeMinSizeMinSizeminSizemin_size are processed. In the next step the neighborhood (size (2*MinSize+1) x (2*MinSize+1)) of all previously selected points are processed.

Attention

On multi-core computers supporting the SSE2 instruction set, thresholdthresholdThresholdThresholdThresholdthreshold is most likely faster than fast_thresholdfast_thresholdFastThresholdFastThresholdFastThresholdfast_threshold. fast_thresholdfast_thresholdFastThresholdFastThresholdFastThresholdfast_threshold may only be preferred to thresholdthresholdThresholdThresholdThresholdthreshold if those features are not available, e.g., on embedded platforms.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / uint2 / direction / cyclic / real)

Input image.

RegionRegionRegionRegionregionregion (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Segmented regions.

MinGrayMinGrayMinGrayMinGrayminGraymin_gray (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Lower threshold for the gray values.

Default value: 128

Suggested values: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

Typical range of values: 0.0 ≤ MinGray MinGray MinGray MinGray minGray min_gray ≤ 255.0 (lin)

Minimum increment: 1

Recommended increment: 5.0

MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Upper threshold for the gray values.

Default value: 255.0

Suggested values: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

Typical range of values: 0.0 ≤ MaxGray MaxGray MaxGray MaxGray maxGray max_gray ≤ 255.0 (lin)

Minimum increment: 1

Recommended increment: 5.0

MinSizeMinSizeMinSizeMinSizeminSizemin_size (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimum size of objects to be extracted.

Default value: 20

Suggested values: 5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 100

Typical range of values: 2 ≤ MinSize MinSize MinSize MinSize minSize min_size ≤ 200 (lin)

Minimum increment: 1

Recommended increment: 2

Complexity

Let A be the area of the output region and height the height of ImageImageImageImageimageimage. Then the runtime complexity is O(A + height / MinSizeMinSizeMinSizeMinSizeminSizemin_size).

Result

fast_thresholdfast_thresholdFastThresholdFastThresholdFastThresholdfast_threshold returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior with respect to the input images and output regions can be determined by setting the values of the flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result", and 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" with set_systemset_systemSetSystemSetSystemSetSystemset_system. If necessary, an exception is raised.

Possible Predecessors

histo_to_threshhisto_to_threshHistoToThreshHistoToThreshHistoToThreshhisto_to_thresh, min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, fill_interlacefill_interlaceFillInterlaceFillInterlaceFillInterlacefill_interlace

Possible Successors

connectionconnectionConnectionConnectionConnectionconnection, dilation1dilation1Dilation1Dilation1Dilation1dilation1, erosion1erosion1Erosion1Erosion1Erosion1erosion1, openingopeningOpeningOpeningOpeningopening, closingclosingClosingClosingClosingclosing, rank_regionrank_regionRankRegionRankRegionRankRegionrank_region, shape_transshape_transShapeTransShapeTransShapeTransshape_trans, skeletonskeletonSkeletonSkeletonSkeletonskeleton

Alternatives

thresholdthresholdThresholdThresholdThresholdthreshold, gen_grid_regiongen_grid_regionGenGridRegionGenGridRegionGenGridRegiongen_grid_region, dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1dilation_rectangle1, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold

See also

class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSupclass_2dim_sup, hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold

Module

Foundation