def max_edge(arr, threshold=0.5, axis=1):
""" Find strongest decreasing edge on each row """
if axis == 0:
arr = arr.T
if np.issubdtype(arr.dtype, np.unsignedinteger):
arr = arr.astype(np.int)
derivative = -np.diff(arr)
index = np.argmax(derivative, axis=1)
values = np.max(derivative, axis=1)
r_dev = index + 0.5
r_dev[values < threshold * values.max()] = np.nan
return r_dev
评论列表
文章目录