polar_trans_contour_xld
— Transform a contour in an annular arc to polar coordinates.
polar_trans_contour_xld(Contour : PolarTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height : )
polar_trans_contour_xld
transforms the Contour
in
the annular arc specified by the center point (Row
,
Column
), the radii RadiusStart
and
RadiusEnd
and the angles AngleStart
and
AngleEnd
to its polar coordinate version
PolarTransContour
in the virtual image of the dimensions
Width
x Height
. The output contour
is cropped at the borders of this virtual image.
The coordinate (0,0) in the output contour always corresponds to the
contour point specified by RadiusStart
and
AngleStart
. Analogously, the coordinate
(Height
-1,Width
-1) in the output contour
always corresponds to the point in the contour that is specified by
RadiusEnd
and AngleEnd
, even if the contour does
not contain these points. In the usual mode (AngleStart
< AngleEnd
and RadiusStart
<
RadiusEnd
), the polar transformation is performed in the
mathematically positive orientation (counterclockwise).
Furthermore, contour points with smaller radii lie in the upper part
of the output contour. By suitably exchanging the values of these
parameters (e.g., AngleStart
> AngleEnd
or
RadiusStart
> RadiusEnd
), any desired
orientation of the output contour PolarTransContour
can be
achieved.
The angles can be chosen from all real numbers. Center point and radii can be real as well.
Note that PolarTransContour
can consist of more than one
contour because Contour
may be split at
AngleStart
respectively AngleEnd
or the size of
the angle interval [AngleStart
,AngleEnd
] may be
greater than one 2pi period.
If more than one contour is passed in Contour
, their polar
transformations are computed individually and stored as a tuple in
PolarTransContour
. However, since one contour may be
transformed into several contours, there is no relation between the
indices of the contours in the input tuple Contour
and the
indices in the output tuple PolarTransContour
.
For an explanation of the different 2D coordinate systems used in HALCON, see the introduction of chapter Transformations / 2D Transformations.
Only the contour points are transformed. As the polar transformation
is not affine, polar_trans_contour_xld
only produces
reliable results if the spacing of the contour points is
small. Existing attributes are not transformed.
Contour
(input_object) xld_cont(-array) →
object
Input contour.
PolarTransContour
(output_object) xld_cont(-array) →
object
Output contour.
Row
(input_control) number →
(real / integer)
Row coordinate of the center of the arc.
Default value: 256
Suggested values: 0, 16, 32, 64, 128, 240, 256, 480, 512
Typical range of values: 0
≤
Row
≤
32767
Restriction: Row >= -131068 && Row <= 131068
Column
(input_control) number →
(real / integer)
Column coordinate of the center of the arc.
Default value: 256
Suggested values: 0, 16, 32, 64, 128, 256, 320, 512, 640
Typical range of values: 0
≤
Column
≤
32767
Restriction: Column >= -131068 && Column <= 131068
AngleStart
(input_control) angle.rad →
(real)
Angle of the ray to be mapped to the column coordinate
0 of PolarTransContour
.
Default value: 0.0
Suggested values: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853, 12.566370616
Typical range of values: -6.2831853
≤
AngleStart
≤
6.2831853
AngleEnd
(input_control) angle.rad →
(real)
Angle of the ray to be mapped to the column coordinate
Width
-1 of PolarTransContour
to.
Default value: 6.2831853
Suggested values: 0.0, 0.78539816, 1.57079632, 3.141592654, 6.2831853, 12.566370616
Typical range of values: -6.2831853
≤
AngleEnd
≤
6.2831853
RadiusStart
(input_control) number →
(real / integer)
Radius of the circle to be mapped to the row coordinate
0 of PolarTransContour
.
Default value: 0
Suggested values: 0, 16, 32, 64, 100, 128, 256, 512
Typical range of values: 0
≤
RadiusStart
≤
32767
RadiusEnd
(input_control) number →
(real / integer)
Radius of the circle to be mapped to the row coordinate
Height
-1 of PolarTransContour
.
Default value: 100
Suggested values: 0, 16, 32, 64, 100, 128, 256, 512
Typical range of values: 0
≤
RadiusEnd
≤
32767
Width
(input_control) extent.x →
(integer)
Width of the virtual output image.
Default value: 512
Suggested values: 256, 320, 512, 640, 800, 1024
Typical range of values: 0
≤
Width
≤
32767
Height
(input_control) extent.y →
(integer)
Height of the virtual output image.
Default value: 512
Suggested values: 240, 256, 480, 512, 600, 1024
Typical range of values: 0
≤
Height
≤
32767
polar_trans_image_ext
,
polar_trans_image_inv
,
polar_trans_region
,
polar_trans_region_inv
,
polar_trans_contour_xld_inv
Foundation