ClassesClasses | | Operators

watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThreshold (Operator)

Name

watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThreshold — 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)

Description

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

In the first step, watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdWatershedsThreshold computes the watersheds without applying a threshold, resulting in the same basins that would be obtained when calling watershedswatershedsWatershedsWatershedsWatersheds (for more details please refer to the description of watershedswatershedsWatershedsWatershedsWatersheds). In the second step, the basins are successively merged if they are separated by a watershed that is smaller than ThresholdThresholdThresholdThresholdthreshold. 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 BasinsBasinsBasinsBasinsbasins.

If ThresholdThresholdThresholdThresholdthreshold is set to 0, watersheds_thresholdwatersheds_thresholdWatershedsThresholdWatershedsThresholdWatershedsThreshold is comparable to watershedswatershedsWatershedsWatershedsWatersheds except that no watersheds but only expanded basins are returned. If ThresholdThresholdThresholdThresholdthreshold is set to the maximum gray value range of ImageImageImageImageimage then no two basins are separated by a watershed exceeding ThresholdThresholdThresholdThresholdthreshold, and hence, BasinsBasinsBasinsBasinsbasins will contain only one region.

Execution Information

Parameters

ImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHobject (byte / uint2 / real)

Image to be segmented.

BasinsBasinsBasinsBasinsbasins (output_object)  region-array objectHRegionHRegionHobject *

Segments found (dark basins).

ThresholdThresholdThresholdThresholdthreshold (input_control)  number HTupleHTupleHtuple (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

watershedswatershedsWatershedsWatershedsWatersheds 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", '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" with set_systemset_systemSetSystemSetSystemSetSystem. If necessary, an exception is raised.

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImage, invert_imageinvert_imageInvertImageInvertImageInvertImage

Possible Successors

expand_regionexpand_regionExpandRegionExpandRegionExpandRegion, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, openingopeningOpeningOpeningOpening

Alternatives

watershedswatershedsWatershedsWatershedsWatersheds, pouringpouringPouringPouringPouring

Module

Foundation


ClassesClasses | | Operators