本文整理汇总了Python中numpy.hypot方法的典型用法代码示例。如果您正苦于以下问题:Python numpy.hypot方法的具体用法?Python numpy.hypot怎么用?Python numpy.hypot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类numpy
的用法示例。
在下文中一共展示了numpy.hypot方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_NotImplemented_not_returned
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def test_NotImplemented_not_returned(self):
# See gh-5964 and gh-2091. Some of these functions are not operator
# related and were fixed for other reasons in the past.
binary_funcs = [
np.power, np.add, np.subtract, np.multiply, np.divide,
np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or,
np.bitwise_xor, np.left_shift, np.right_shift, np.fmax,
np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2,
np.logical_and, np.logical_or, np.logical_xor, np.maximum,
np.minimum, np.mod,
np.greater, np.greater_equal, np.less, np.less_equal,
np.equal, np.not_equal]
a = np.array('1')
b = 1
c = np.array([1., 2.])
for f in binary_funcs:
assert_raises(TypeError, f, a, b)
assert_raises(TypeError, f, c, a)
示例2: test_NotImplemented_not_returned
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def test_NotImplemented_not_returned(self):
# See gh-5964 and gh-2091. Some of these functions are not operator
# related and were fixed for other reasons in the past.
binary_funcs = [
np.power, np.add, np.subtract, np.multiply, np.divide,
np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or,
np.bitwise_xor, np.left_shift, np.right_shift, np.fmax,
np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2,
np.logical_and, np.logical_or, np.logical_xor, np.maximum,
np.minimum, np.mod
]
# These functions still return NotImplemented. Will be fixed in
# future.
# bad = [np.greater, np.greater_equal, np.less, np.less_equal, np.not_equal]
a = np.array('1')
b = 1
for f in binary_funcs:
assert_raises(TypeError, f, a, b)
示例3: get_hessian
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def get_hessian(ccm, hes_norm=True, hes_smth=False, **kwargs):
""" Find Hessian of the input cross correlation matrix <ccm>
Parameters
----------
ccm : 2D numpy array, cross-correlation matrix
hes_norm : bool, normalize Hessian by AVG and STD?
hes_smth : bool, smooth Hessian?
"""
if hes_smth:
ccm2 = nd.filters.gaussian_filter(ccm, 1)
else:
ccm2 = ccm
# Jacobian components
dcc_dy, dcc_dx = np.gradient(ccm2)
# Hessian components
d2cc_dx2 = np.gradient(dcc_dx)[1]
d2cc_dy2 = np.gradient(dcc_dy)[0]
hes = np.hypot(d2cc_dx2, d2cc_dy2)
if hes_norm:
hes = (hes - np.median(hes)) / np.std(hes)
return hes
示例4: facet_flow
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def facet_flow(self, e0, e1, e2, d1=1, d2=1):
s1 = (e0 - e1)/d1
s2 = (e1 - e2)/d2
r = np.arctan2(s2, s1)
s = np.hypot(s1, s2)
diag_angle = np.arctan2(d2, d1)
diag_distance = np.hypot(d1, d2)
b0 = (r < 0)
b1 = (r > diag_angle)
r[b0] = 0
s[b0] = s1[b0]
if isinstance(diag_angle, np.ndarray):
r[b1] = diag_angle[b1]
else:
r[b1] = diag_angle
s[b1] = ((e0 - e2)/diag_distance)[b1]
return r, s
示例5: _vlines
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def _vlines(lines, ctrs=None, lengths=None, vecs=None, angle_lo=20, angle_hi=160, ransac_options=RANSAC_OPTIONS):
ctrs = ctrs if ctrs is not None else lines.mean(1)
vecs = vecs if vecs is not None else lines[:, 1, :] - lines[:, 0, :]
lengths = lengths if lengths is not None else np.hypot(vecs[:, 0], vecs[:, 1])
angles = np.degrees(np.arccos(vecs[:, 0] / lengths))
points = np.column_stack([ctrs[:, 0], angles])
point_indices, = np.nonzero((angles > angle_lo) & (angles < angle_hi))
points = points[point_indices]
if len(points) > 2:
model_ransac = linear_model.RANSACRegressor(**ransac_options)
model_ransac.fit(points[:, 0].reshape(-1, 1), points[:, 1].reshape(-1, 1))
inlier_mask = model_ransac.inlier_mask_
valid_lines = lines[point_indices[inlier_mask], :, :]
else:
valid_lines = []
return valid_lines
示例6: _hlines
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def _hlines(lines, ctrs=None, lengths=None, vecs=None, angle_lo=20, angle_hi=160, ransac_options=RANSAC_OPTIONS):
ctrs = ctrs if ctrs is not None else lines.mean(1)
vecs = vecs if vecs is not None else lines[:, 1, :] - lines[:, 0, :]
lengths = lengths if lengths is not None else np.hypot(vecs[:, 0], vecs[:, 1])
angles = np.degrees(np.arccos(vecs[:, 1] / lengths))
points = np.column_stack([ctrs[:, 1], angles])
point_indices, = np.nonzero((angles > angle_lo) & (angles < angle_hi))
points = points[point_indices]
if len(points) > 2:
model_ransac = linear_model.RANSACRegressor(**ransac_options)
model_ransac.fit(points[:, 0].reshape(-1, 1), points[:, 1].reshape(-1, 1))
inlier_mask = model_ransac.inlier_mask_
valid_lines = lines[point_indices[inlier_mask], :, :]
else:
valid_lines = []
return valid_lines
示例7: onpick
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def onpick(self, event):
if event.artist != line:
return True
N = len(event.ind)
if not N:
return True
# the click locations
x = event.mouseevent.xdata
y = event.mouseevent.ydata
distances = np.hypot(x - xs[event.ind], y - ys[event.ind])
indmin = distances.argmin()
dataind = event.ind[indmin]
self.lastind = dataind
self.update()
示例8: _create_swept_area_grid
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def _create_swept_area_grid(self):
# TODO: add validity check:
# rotor points has a minimum in order to always include points inside
# the disk ... 2?
#
# the grid consists of the y,z coordinates of the discrete points which
# lie within the rotor area: [(y1,z1), (y2,z2), ... , (yN, zN)]
# update:
# using all the grid point because that how roald did it.
# are the points outside of the rotor disk used later?
# determine the dimensions of the square grid
num_points = int(np.round(np.sqrt(self.grid_point_count)))
# syntax: np.linspace(min, max, n points)
horizontal = np.linspace(-self.rotor_radius, self.rotor_radius, num_points)
vertical = np.linspace(-self.rotor_radius, self.rotor_radius, num_points)
# build the grid with all of the points
grid = [(h, vertical[i]) for i in range(num_points) for h in horizontal]
# keep only the points in the swept area
grid = [point for point in grid if np.hypot(point[0], point[1]) < self.rotor_radius]
return grid
示例9: hypot
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def hypot(left, right):
"""Given the "legs" of a right triangle, returns its hypotenuse.
Equivalent to :math:`\\sqrt(left^2 + right^2)`, element-wise.
Both inputs can be Symbol or scalar number. Broadcasting is not supported.
Parameters
---------
left : Symbol or scalar
First leg of the triangle(s).
right : Symbol or scalar
Second leg of the triangle(s).
Returns
-------
Symbol or scalar
The hypotenuse of the triangle(s)
Examples
--------
>>> mx.sym.hypot(3, 4)
5.0
>>> x = mx.sym.Variable('x')
>>> y = mx.sym.Variable('y')
>>> z = mx.sym.hypot(x, 4)
>>> z.eval(x=mx.nd.array([3,5,2]))[0].asnumpy()
array([ 5., 6.40312433, 4.47213602], dtype=float32)
>>> z = mx.sym.hypot(x, y)
>>> z.eval(x=mx.nd.array([3,4]), y=mx.nd.array([10,2]))[0].asnumpy()
array([ 10.44030666, 4.47213602], dtype=float32)
"""
if isinstance(left, Symbol) and isinstance(right, Symbol):
return _internal._Hypot(left, right)
if isinstance(left, Symbol) and isinstance(right, Number):
return _internal._HypotScalar(left, scalar=right)
if isinstance(left, Number) and isinstance(right, Symbol):
return _internal._HypotScalar(right, scalar=left)
if isinstance(left, Number) and isinstance(right, Number):
return _numpy.hypot(left, right)
else:
raise TypeError('types (%s, %s) not supported' % (str(type(left)), str(type(right))))
示例10: cart2pol
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def cart2pol(x, y):
"""Convert Cartesian to polar coordinates"""
theta = np.arctan2(y, x)
rho = np.hypot(x, y)
return theta, rho
示例11: _
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def _(artist, event):
# No need to call `line.contains` as we're going to redo the work anyways
# (also see matplotlib/matplotlib#6645, though that's fixed in mpl2.1).
# Always work in screen coordinates, as this is how we need to compute
# distances. Note that the artist transform may be different from the axes
# transform (e.g., for axvline).
xy = event.x, event.y
data_xy = artist.get_xydata()
data_screen_xy = artist.get_transform().transform(data_xy)
sels = []
# If markers are visible, find the closest vertex.
if artist.get_marker() not in ["None", "none", " ", "", None]:
ds = np.hypot(*(xy - data_screen_xy).T)
try:
argmin = np.nanargmin(ds)
except ValueError: # Raised by nanargmin([nan]).
pass
else:
target = _with_attrs(
_untransform( # More precise than transforming back.
data_xy[argmin], data_screen_xy[argmin], artist.axes),
index=argmin)
sels.append(Selection(artist, target, ds[argmin], None, None))
# If lines are visible, find the closest projection.
if (artist.get_linestyle() not in ["None", "none", " ", "", None]
and len(artist.get_xydata()) > 1):
sel = _compute_projection_pick(artist, artist.get_path(), xy)
if sel is not None:
sel.target.index = {
"_draw_lines": lambda _, index: index,
"_draw_steps_pre": Index.pre_index,
"_draw_steps_mid": Index.mid_index,
"_draw_steps_post": Index.post_index}[
Line2D.drawStyles[artist.get_drawstyle()]](
len(data_xy), sel.target.index)
sels.append(sel)
sel = min(sels, key=lambda sel: sel.dist, default=None)
return sel if sel and sel.dist < artist.get_pickradius() else None
示例12: fbm
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def fbm(shape, p, lower=-np.inf, upper=np.inf):
freqs = tuple(np.fft.fftfreq(n, d=1.0 / n) for n in shape)
freq_radial = np.hypot(*np.meshgrid(*freqs))
envelope = (np.power(freq_radial, p, where=freq_radial!=0) *
(freq_radial > lower) * (freq_radial < upper))
envelope[0][0] = 0.0
phase_noise = np.exp(2j * np.pi * np.random.rand(*shape))
return normalize(np.real(np.fft.ifft2(np.fft.fft2(phase_noise) * envelope)))
# Returns each value of `a` with coordinates offset by `offset` (via complex
# values). The values at the new coordiantes are the linear interpolation of
# neighboring values in `a`.
示例13: gaussian_blur
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def gaussian_blur(a, sigma=1.0):
freqs = tuple(np.fft.fftfreq(n, d=1.0 / n) for n in a.shape)
freq_radial = np.hypot(*np.meshgrid(*freqs))
sigma2 = sigma**2
g = lambda x: ((2 * np.pi * sigma2) ** -0.5) * np.exp(-0.5 * (x / sigma)**2)
kernel = g(freq_radial)
kernel /= kernel.sum()
return np.fft.ifft2(np.fft.fft2(a) * np.fft.fft2(kernel)).real
示例14: bump
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def bump(shape, sigma):
[y, x] = np.meshgrid(*map(np.arange, shape))
r = np.hypot(x - shape[0] / 2, y - shape[1] / 2)
c = min(shape) / 2
return np.tanh(np.maximum(c - r, 0.0) / sigma)
# Returns a list of heights for each point in `points`.
示例15: cosine_peak
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import hypot [as 别名]
def cosine_peak(x, y):
circle = np.hypot(80 * x - 40.0, 90 * y - 45.)
f = np.exp(-0.04 * circle) * np.cos(0.15 * circle)
return f