mirror of
https://github.com/wassname/scikit-image.git
synced 2026-06-28 12:10:54 +08:00
rename function bezier_curve to bezier_segment
This commit is contained in:
@@ -15,7 +15,7 @@ import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
from skimage.draw import line, polygon, circle, circle_perimeter, \
|
||||
ellipse, ellipse_perimeter, bezier_curve
|
||||
ellipse, ellipse_perimeter
|
||||
import numpy as np
|
||||
import math
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from .draw import circle, ellipse, set_color
|
||||
from ._draw import line, polygon, ellipse_perimeter, circle_perimeter, \
|
||||
bezier_curve
|
||||
bezier_segment
|
||||
|
||||
__all__ = ['line',
|
||||
'polygon',
|
||||
|
||||
@@ -384,27 +384,27 @@ def ellipse_perimeter(Py_ssize_t cy, Py_ssize_t cx, Py_ssize_t yradius,
|
||||
iyd = int(floor(ya * w + 0.5))
|
||||
|
||||
# Draw the 4 quadrants
|
||||
rr, cc = bezier_curve(iy0+iyd, ix0, iy0, ix0, iy0, ix0+ixd, 1-w)
|
||||
rr, cc = bezier_segment(iy0+iyd, ix0, iy0, ix0, iy0, ix0+ixd, 1-w)
|
||||
py.extend(rr)
|
||||
px.extend(cc)
|
||||
rr, cc = bezier_curve(iy0+iyd, ix0, iy1, ix0, iy1, ix1-ixd, w)
|
||||
rr, cc = bezier_segment(iy0+iyd, ix0, iy1, ix0, iy1, ix1-ixd, w)
|
||||
py.extend(rr)
|
||||
px.extend(cc)
|
||||
rr, cc = bezier_curve(iy1-iyd, ix1, iy1, ix1, iy1, ix1-ixd, 1-w)
|
||||
rr, cc = bezier_segment(iy1-iyd, ix1, iy1, ix1, iy1, ix1-ixd, 1-w)
|
||||
py.extend(rr)
|
||||
px.extend(cc)
|
||||
rr, cc = bezier_curve(iy1-iyd, ix1, iy0, ix1, iy0, ix0+ixd, w)
|
||||
rr, cc = bezier_segment(iy1-iyd, ix1, iy0, ix1, iy0, ix0+ixd, w)
|
||||
py.extend(rr)
|
||||
px.extend(cc)
|
||||
|
||||
return np.array(py, dtype=np.intp), np.array(px, dtype=np.intp)
|
||||
|
||||
|
||||
def bezier_curve(Py_ssize_t y0, Py_ssize_t x0,
|
||||
def bezier_segment(Py_ssize_t y0, Py_ssize_t x0,
|
||||
Py_ssize_t y1, Py_ssize_t x1,
|
||||
Py_ssize_t y2, Py_ssize_t x2,
|
||||
double weight):
|
||||
"""Generate Bezier curve coordinates.
|
||||
"""Generate Bezier segment coordinates.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -492,7 +492,7 @@ def bezier_curve(Py_ssize_t y0, Py_ssize_t x0,
|
||||
sy = floor((y0 + 2 * weight * y1 + y2) * xy * 0.5 + 0.5)
|
||||
dx = floor((weight * x1 + x0) * xy + 0.5)
|
||||
dy = floor((y1 * weight + y0) * xy + 0.5)
|
||||
return bezier_curve(y0, x0, int(dy), int(dx), int(sy), int(sx), cur)
|
||||
return bezier_segment(y0, x0, int(dy), int(dx), int(sy), int(sx), cur)
|
||||
|
||||
err = dx + dy - xy
|
||||
while dy <= xy and dx >= xy:
|
||||
|
||||
@@ -2,7 +2,7 @@ from numpy.testing import assert_array_equal
|
||||
import numpy as np
|
||||
|
||||
from skimage.draw import line, polygon, circle, circle_perimeter, \
|
||||
ellipse, ellipse_perimeter, bezier_curve
|
||||
ellipse, ellipse_perimeter, bezier_segment
|
||||
|
||||
|
||||
def test_line_horizontal():
|
||||
@@ -345,7 +345,7 @@ def test_ellipse_perimeter_nzeroangle():
|
||||
assert_array_equal(img, img_)
|
||||
|
||||
|
||||
def test_bezier_curve():
|
||||
def test_bezier_segment():
|
||||
image = np.zeros((200, 200), dtype=int)
|
||||
x0 = 50
|
||||
y0 = 50
|
||||
@@ -353,7 +353,7 @@ def test_bezier_curve():
|
||||
y1 = 50
|
||||
x2 = 150
|
||||
y2 = 150
|
||||
rr, cc = bezier_curve(x0, y0, x1, y1, x2, y2, 0)
|
||||
rr, cc = bezier_segment(x0, y0, x1, y1, x2, y2, 0)
|
||||
image [rr, cc] = 1
|
||||
|
||||
image2 = np.zeros((200, 200), dtype=int)
|
||||
|
||||
Reference in New Issue
Block a user