minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1 (Operator)
Name
minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1
— Erode a region.
Signature
Description
minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1
computes the Minkowski subtraction of the
input regions with a structuring element. By applying
minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1
to a region, its boundary gets smoothed.
In the process, the area of the region is reduced. Furthermore,
connected regions may be split. Such regions, however, remain
logically one region. The Minkowski subtraction is a set-theoretic
region operation. It uses the intersection operation.
Let M (StructElement StructElement StructElement StructElement structElement struct_element
) and R (Region Region Region Region region region
) be
two regions, where M is the structuring element and R is the
region to be processed. Furthermore, let m be a point in M.
Then the displacement vector
is defined as the difference of the
center of gravity of M and the vector
. Let
denote the translation of a
region R by a vector
. Then
For each point m in M a translation of the region R is
performed. The intersection of all these translations is the
Minkowski subtraction of R with M. minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1
is similar to the operator erosion1 erosion1 Erosion1 Erosion1 Erosion1 erosion1
, the difference
is that in erosion1 erosion1 Erosion1 Erosion1 Erosion1 erosion1
the structuring element is
mirrored at the origin. The position of StructElement StructElement StructElement StructElement structElement struct_element
is
meaningless, since the displacement vectors are determined with
respect to the center of gravity of M.
The parameter Iterations Iterations Iterations Iterations iterations iterations
determines the number of
iterations which are to be performed with the structuring element.
The result of iteration n-1 is used as input for iteration n.
From the above definition it follows that the maximum region is
generated in case of an empty structuring element.
Structuring elements (StructElement StructElement StructElement StructElement structElement struct_element
) can be generated
with operators such as gen_circle gen_circle GenCircle GenCircle GenCircle gen_circle
, gen_rectangle1 gen_rectangle1 GenRectangle1 GenRectangle1 GenRectangle1 gen_rectangle1
,
gen_rectangle2 gen_rectangle2 GenRectangle2 GenRectangle2 GenRectangle2 gen_rectangle2
, gen_ellipse gen_ellipse GenEllipse GenEllipse GenEllipse gen_ellipse
,
draw_region draw_region DrawRegion DrawRegion DrawRegion draw_region
, gen_region_polygon gen_region_polygon GenRegionPolygon GenRegionPolygon GenRegionPolygon gen_region_polygon
,
gen_region_points gen_region_points GenRegionPoints GenRegionPoints GenRegionPoints gen_region_points
, etc.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on tuple level.
Parameters
Region Region Region Region region region
(input_object) region(-array) →
object HRegion HObject HRegion Hobject
Regions to be eroded.
StructElement StructElement StructElement StructElement structElement struct_element
(input_object) region →
object HRegion HObject HRegion Hobject
Structuring element.
RegionMinkSub RegionMinkSub RegionMinkSub RegionMinkSub regionMinkSub region_mink_sub
(output_object) region(-array) →
object HRegion HObject HRegion Hobject *
Eroded regions.
Iterations Iterations Iterations Iterations iterations iterations
(input_control) integer →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Number of iterations.
Default:
1
Suggested values:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50
Value range:
1
≤
Iterations
Iterations
Iterations
Iterations
iterations
iterations
(lin)
Minimum increment:
1
Recommended increment:
1
Complexity
Let F1 be the area of the input region, and F2 be the area of
the structuring element. Then the runtime complexity for one region
is:
Result
minkowski_sub1 minkowski_sub1 MinkowskiSub1 MinkowskiSub1 MinkowskiSub1 minkowski_sub1
returns 2 (
H_MSG_TRUE )
if all parameters are
correct. The behavior in case of empty or no input region can be
set via:
no region:
set_system('no_object_result',<RegionResult>) set_system("no_object_result",<RegionResult>) SetSystem("no_object_result",<RegionResult>) SetSystem("no_object_result",<RegionResult>) SetSystem("no_object_result",<RegionResult>) set_system("no_object_result",<RegionResult>)
empty region:
set_system('empty_region_result',<RegionResult>) set_system("empty_region_result",<RegionResult>) SetSystem("empty_region_result",<RegionResult>) SetSystem("empty_region_result",<RegionResult>) SetSystem("empty_region_result",<RegionResult>) set_system("empty_region_result",<RegionResult>)
Otherwise, an exception is raised.
Possible Predecessors
threshold threshold Threshold Threshold Threshold threshold
,
regiongrowing regiongrowing Regiongrowing Regiongrowing Regiongrowing regiongrowing
,
connection connection Connection Connection Connection connection
,
union1 union1 Union1 Union1 Union1 union1
,
watersheds watersheds Watersheds Watersheds Watersheds watersheds
,
class_ndim_norm class_ndim_norm ClassNdimNorm ClassNdimNorm ClassNdimNorm class_ndim_norm
,
gen_circle gen_circle GenCircle GenCircle GenCircle gen_circle
,
gen_ellipse gen_ellipse GenEllipse GenEllipse GenEllipse gen_ellipse
,
gen_rectangle1 gen_rectangle1 GenRectangle1 GenRectangle1 GenRectangle1 gen_rectangle1
,
gen_rectangle2 gen_rectangle2 GenRectangle2 GenRectangle2 GenRectangle2 gen_rectangle2
,
draw_region draw_region DrawRegion DrawRegion DrawRegion draw_region
,
gen_region_points gen_region_points GenRegionPoints GenRegionPoints GenRegionPoints gen_region_points
,
gen_region_polygon_filled gen_region_polygon_filled GenRegionPolygonFilled GenRegionPolygonFilled GenRegionPolygonFilled gen_region_polygon_filled
Possible Successors
reduce_domain reduce_domain ReduceDomain ReduceDomain ReduceDomain reduce_domain
,
select_shape select_shape SelectShape SelectShape SelectShape select_shape
,
area_center area_center AreaCenter AreaCenter AreaCenter area_center
,
connection connection Connection Connection Connection connection
Alternatives
minkowski_sub2 minkowski_sub2 MinkowskiSub2 MinkowskiSub2 MinkowskiSub2 minkowski_sub2
,
erosion1 erosion1 Erosion1 Erosion1 Erosion1 erosion1
See also
transpose_region transpose_region TransposeRegion TransposeRegion TransposeRegion transpose_region
Module
Foundation