Name
shape_transshape_transShapeTransshape_transShapeTransShapeTrans — Transform the shape of a region.
shape_transshape_transShapeTransshape_transShapeTransShapeTrans transforms the shape of the input regions
depending on the parameter TypeTypeTypeTypeTypetype:
- 'convex'
Convex hull.
- 'ellipse'
Ellipse with the same moments and area as the input region.
- 'outer_circle'
Smallest enclosing circle.
- 'inner_circle'
Largest circle fitting into the region.
- 'rectangle1'
Smallest enclosing rectangle parallel to the coordinate axes.
- 'rectangle2'
Smallest enclosing rectangle.
- 'inner_rectangle1'
Largest axis-parallel rectangle fitting into the region.
- 'inner_center'
The point on the skeleton of the input region having the smallest
distance to the center of gravity of the input region.
If TypeTypeTypeTypeTypetype = 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle""outer_circle" is selected it might
happen that the resulting circular region does not completely cover
the input region. This is because internally the operators
smallest_circlesmallest_circleSmallestCirclesmallest_circleSmallestCircleSmallestCircle and gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle are used to compute
the outer circle. As described in the documentation of
smallest_circlesmallest_circleSmallestCirclesmallest_circleSmallestCircleSmallestCircle, the calculated radius can be too small by
up to 1/sqrt(2)-0.5 pixels. Additionally, the
circle that is generated by gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle is translated by up
to 0.5 pixels in both directions, i.e., by up to
1/sqrt(2) pixels. Consequently, when adding up
both effects, the original region might protrude beyond the returned
circular region by at most 1 pixel.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Regions to be transformed.
Type of transformation.
Default value:
'convex'
"convex"
"convex"
"convex"
"convex"
"convex"
List of values: 'convex'"convex""convex""convex""convex""convex", 'ellipse'"ellipse""ellipse""ellipse""ellipse""ellipse", 'inner_center'"inner_center""inner_center""inner_center""inner_center""inner_center", 'inner_circle'"inner_circle""inner_circle""inner_circle""inner_circle""inner_circle", 'inner_rectangle1'"inner_rectangle1""inner_rectangle1""inner_rectangle1""inner_rectangle1""inner_rectangle1", 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle""outer_circle", 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1""rectangle1", 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2""rectangle2"
Let F be the area of the input region. Then the runtime
complexity is O(F).
shape_transshape_transShapeTransshape_transShapeTransShapeTrans returns 2 (H_MSG_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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>).
If necessary, an exception is raised.
connectionconnectionConnectionconnectionConnectionConnection,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing
disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion,
regiongrowing_meanregiongrowing_meanRegiongrowingMeanregiongrowing_meanRegiongrowingMeanRegiongrowingMean,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter
convexityconvexityConvexityconvexityConvexityConvexity,
elliptic_axiselliptic_axisEllipticAxiselliptic_axisEllipticAxisEllipticAxis,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter,
smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1,
smallest_rectangle2smallest_rectangle2SmallestRectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2,
inner_rectangle1inner_rectangle1InnerRectangle1inner_rectangle1InnerRectangle1InnerRectangle1,
set_shapeset_shapeSetShapeset_shapeSetShapeSetShape,
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
inner_circleinner_circleInnerCircleinner_circleInnerCircleInnerCircle
Foundation