Rank operator for regions.
count calculates the binary rank operator. A filter mask of size Height x Width) is used. In the process, for each point in the region the number of points of Region lying within the filter mask are counted. If this number is greater or equal to Number, the current point is added to the output region. If
Number = (Height x Width) / 2,is chosen, the median operator is obtained.
For Height and Width only odd values > 3 are valid. If invalid parameters are chosen they are converted automatically (without raising an exception) to the next larger even values.
Region (input_object) |
region(-array) -> object |
Regions to be transformed. |
RegionCount (output_object) |
region(-array) -> object |
Resulting regions. |
Width (input_control) |
extent.x -> integer |
Width of the filter mask. | |
Default value: 15 | |
Suggested values: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 | |
Range of values: 3 <= Width <= 511 (lin) | |
Minimum increment: 2 | |
Recommended increment: 2 | |
Restriction: (Width >= 3) && odd(Width) |
Height (input_control) |
extent.y -> integer |
Height of the filter mask. | |
Default value: 15 | |
Suggested values: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 | |
Range of values: 3 <= Height <= 511 (lin) | |
Minimum increment: 2 | |
Recommended increment: 2 | |
Restriction: (Height >= 3) && odd(Height) |
Number (input_control) |
integer -> integer |
Minimum number of points lying within the filter mask. | |
Default value: 70 | |
Suggested values: 5, 10, 20, 40, 60, 80, 90, 120, 150, 200 | |
Range of values: 1 <= Number <= 1000 (lin) | |
Minimum increment: 1 | |
Recommended increment: 10 | |
Restriction: Number > 0 |
read_image(:Image:'affe':) > mean__(Image:Mean:5,5:) > dyn_threshold__(Mean:Points:25:) > count(Points:Textur:15,15,30:) > circle(:Mask:10,10,3:) > opening1(Textur,Mask:Seg::).
Let F be the area of the input region. Then the runtime complexity is O(F * 8).
count returns TRUE if all parameters are correct. The behavior in case of empty input (no regions given) can be set via set_system(::'no_object_result',<Result>:) and the behavior in case of an empty input region via set_system(::'empty_region_result',<Result>:). If necessary, an exception is raised.
threshold__, connection, regiongrowing__, pouring, class_ndim1__