ellipse_perimeter
-
skimage.draw.ellipse_perimeter()
-
Generate ellipse perimeter coordinates.
Parameters: cy, cx : int
Centre coordinate of ellipse.
yradius, xradius : int
Minor and major semi-axes.
(x/xradius)**2 + (y/yradius)**2 = 1
.orientation : double, optional (default 0)
Major axis orientation in clockwise direction as radians.
shape : tuple, optional
Image shape which is used to determine the maximum extent of output pixel coordinates. This is useful for ellipses which exceed the image size. By default the full extent of the ellipse are used.
Returns: rr, cc : (N,) ndarray of int
Indices of pixels that belong to the ellipse perimeter. May be used to directly index into an array, e.g.
img[rr, cc] = 1
.References
[R71] A Rasterizing Algorithm for Drawing Curves, A. Zingl, 2012 http://members.chello.at/easyfilter/Bresenham.pdf Examples
123456789101112131415>>>
from
skimage.draw
import
ellipse_perimeter
>>> img
=
np.zeros((
10
,
10
), dtype
=
np.uint8)
>>> rr, cc
=
ellipse_perimeter(
5
,
5
,
3
,
4
)
>>> img[rr, cc]
=
1
>>> img
array([[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
[
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
],
[
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
,
0
],
[
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
],
[
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
],
[
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
],
[
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
,
0
],
[
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
],
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
]], dtype
=
uint8)
Please login to continue.