watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdwatersheds_threshold (Operator)

Name

watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdwatersheds_threshold — Extract watershed basins from an image using a threshold.

Signature

watersheds_threshold(Image : Basins : Threshold : )

Herror watersheds_threshold(const Hobject Image, Hobject* Basins, const Hlong Threshold)

Herror T_watersheds_threshold(const Hobject Image, Hobject* Basins, const Htuple Threshold)

void WatershedsThreshold(const HObject& Image, HObject* Basins, const HTuple& Threshold)

HRegion HImage::WatershedsThreshold(const HTuple& Threshold) const

HRegion HImage::WatershedsThreshold(Hlong Threshold) const

static void HOperatorSet.WatershedsThreshold(HObject image, out HObject basins, HTuple threshold)

HRegion HImage.WatershedsThreshold(HTuple threshold)

HRegion HImage.WatershedsThreshold(int threshold)

def watersheds_threshold(image: HObject, threshold: Union[float, int]) -> HObject

Description

The operator watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdWatershedsThresholdwatersheds_threshold segments regions (basins) that are separated from each other by a watershed that has a height of at least ThresholdThresholdThresholdThresholdthresholdthreshold.

In the first step, watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdWatershedsThresholdwatersheds_threshold computes the watersheds without applying a threshold, resulting in the same basins that would be obtained when calling watershedswatershedsWatershedsWatershedsWatershedswatersheds (for more details please refer to the description of watershedswatershedsWatershedsWatershedsWatershedswatersheds). In the second step, the basins are successively merged if they are separated by a watershed that is smaller than ThresholdThresholdThresholdThresholdthresholdthreshold. Let and be the minimum gray values of two neighboring basins and W the minimum gray value of the watershed that separates the two basins. The watershed is eliminated and the two basins are merged if The thus obtained basins are returned in BasinsBasinsBasinsBasinsbasinsbasins.

If ThresholdThresholdThresholdThresholdthresholdthreshold is set to 0, watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdWatershedsThresholdwatersheds_threshold is comparable to watershedswatershedsWatershedsWatershedsWatershedswatersheds except that no watersheds but only expanded basins are returned. If ThresholdThresholdThresholdThresholdthresholdthreshold is set to the maximum gray value range of ImageImageImageImageimageimage then no two basins are separated by a watershed exceeding ThresholdThresholdThresholdThresholdthresholdthreshold, and hence, BasinsBasinsBasinsBasinsbasinsbasins will contain only one region.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2 / real)

Image to be segmented.

BasinsBasinsBasinsBasinsbasinsbasins (output_object)  region-array objectHRegionHObjectHRegionHobject *

Segments found (dark basins).

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

Threshold for the watersheds.

Default value: 10

Suggested values: 0, 5, 10, 20, 30, 50

Restriction: Threshold >= 0

Result

watershedswatershedsWatershedsWatershedsWatershedswatersheds always returns 2 (H_MSG_TRUE). The behavior with respect to the input image 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

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image, invert_imageinvert_imageInvertImageInvertImageInvertImageinvert_image

Possible Successors

expand_regionexpand_regionExpandRegionExpandRegionExpandRegionexpand_region, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, openingopeningOpeningOpeningOpeningopening

Alternatives

watershedswatershedsWatershedsWatershedsWatershedswatersheds, pouringpouringPouringPouringPouringpouring, watersheds_markerwatersheds_markerWatershedsMarkerWatershedsMarkerWatershedsMarkerwatersheds_marker

Module

Foundation