本文简要介绍 python 语言中 scipy.ndimage.labeled_comprehension
的用法。
用法:
scipy.ndimage.labeled_comprehension(input, labels, index, func, out_dtype, default, pass_positions=False)#
大致相当于 [func(input[labels == i]) for i in index]。
按顺序将任意函数(适用于 数组 输入)应用于由标签和索引指定的 N-D 图像数组的子集。存在该选项以向函数提供位置参数作为第二个参数。
- input: array_like
从中选择要处理的标签的数据。
- labels: 数组 或无
输入对象的标签。如果不是 None,则数组必须与输入的形状相同。如果为 None,则将 func 应用于 raveled 输入。
- index: int,整数序列或无
要应用 func 的标签子集。如果是标量,则返回单个值。如果为 None,则 func 应用于标签的所有非零值。
- func: 可调用的
应用于输入标签的 Python 函数。
- out_dtype: 类型
用于结果的 Dtype。
- default: 整数、浮点数或无
标签中不存在索引元素时的默认返回值。
- pass_positions: 布尔型,可选
如果为 True,则将线性索引作为第二个参数传递给 func。默认为假。
- result: ndarray
将 func 应用于每个标签以输入索引的结果。
参数 ::
返回 ::
例子:
>>> import numpy as np >>> a = np.array([[1, 2, 0, 0], ... [5, 3, 0, 4], ... [0, 0, 0, 7], ... [9, 3, 0, 0]]) >>> from scipy import ndimage >>> lbl, nlbl = ndimage.label(a) >>> lbls = np.arange(1, nlbl+1) >>> ndimage.labeled_comprehension(a, lbl, lbls, np.mean, float, 0) array([ 2.75, 5.5 , 6. ])
回退到默认值:
>>> lbls = np.arange(1, nlbl+2) >>> ndimage.labeled_comprehension(a, lbl, lbls, np.mean, float, -1) array([ 2.75, 5.5 , 6. , -1. ])
传球位置:
>>> def fn(val, pos): ... print("fn says: %s : %s" % (val, pos)) ... return (val.sum()) if (pos.sum() % 2 == 0) else (-val.sum()) ... >>> ndimage.labeled_comprehension(a, lbl, lbls, fn, float, 0, True) fn says: [1 2 5 3] : [0 1 4 5] fn says: [4 7] : [ 7 11] fn says: [9 3] : [12 13] array([ 11., 11., -12., 0.])
相关用法
- Python SciPy ndimage.label用法及代码示例
- Python SciPy ndimage.laplace用法及代码示例
- Python SciPy ndimage.correlate用法及代码示例
- Python SciPy ndimage.morphological_gradient用法及代码示例
- Python SciPy ndimage.variance用法及代码示例
- Python SciPy ndimage.correlate1d用法及代码示例
- Python SciPy ndimage.binary_dilation用法及代码示例
- Python SciPy ndimage.distance_transform_bf用法及代码示例
- Python SciPy ndimage.find_objects用法及代码示例
- Python SciPy ndimage.maximum_filter1d用法及代码示例
- Python SciPy ndimage.iterate_structure用法及代码示例
- Python SciPy ndimage.map_coordinates()用法及代码示例
- Python SciPy ndimage.generic_laplace用法及代码示例
- Python SciPy ndimage.generate_binary_structure用法及代码示例
- Python SciPy ndimage.binary_opening用法及代码示例
- Python SciPy ndimage.binary_fill_holes用法及代码示例
- Python SciPy ndimage.maximum_filter用法及代码示例
- Python SciPy ndimage.minimum_position用法及代码示例
- Python SciPy ndimage.grey_erosion用法及代码示例
- Python SciPy ndimage.spline_filter用法及代码示例
- Python SciPy ndimage.shift用法及代码示例
- Python SciPy ndimage.distance_transform_cdt用法及代码示例
- Python SciPy ndimage.minimum用法及代码示例
- Python SciPy ndimage.fourier_uniform用法及代码示例
- Python SciPy ndimage.gaussian_laplace用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.ndimage.labeled_comprehension。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。