scipy.ndimage.
minimum_position#
- scipy.ndimage.minimum_position(input, labels=None, index=None)[源代码]#
查找数组在标签处值的最小值的位置。
- 参数:
- inputarray_like
值的类数组。
- labelsarray_like,可选
一个整数数组,标记不同的区域,在这些区域上计算 input 的最小值位置。labels 的形状必须与 input 相同。如果未指定 labels,则返回整个数组的第一个最小值的位置。
只有在指定 index 时,labels 参数才起作用。
- indexarray_like,可选
一个区域标签列表,用于查找最小值的位置。如果 index 为 None,则返回 labels 非零的所有元素上的
first
最小值。只有在指定 labels 时,index 参数才起作用。
- 返回:
- output整数元组列表
整数元组或整数元组列表,指定由 labels 确定的区域上,且其索引在 index 中的 input 的最小值的位置。
如果未指定 index 或 labels,则返回一个整数元组,指定 input 的第一个最小值的位置。
另请参阅
示例
>>> import numpy as np >>> a = np.array([[10, 20, 30], ... [40, 80, 100], ... [1, 100, 200]]) >>> b = np.array([[1, 2, 0, 1], ... [5, 3, 0, 4], ... [0, 0, 0, 7], ... [9, 3, 0, 0]])
>>> from scipy import ndimage
>>> ndimage.minimum_position(a) (2, 0) >>> ndimage.minimum_position(b) (0, 2)
可以使用 labels 和 index 指定要处理的特征
>>> label, pos = ndimage.label(a) >>> ndimage.minimum_position(a, label, index=np.arange(1, pos+1)) [(2, 0)]
>>> label, pos = ndimage.label(b) >>> ndimage.minimum_position(b, label, index=np.arange(1, pos+1)) [(0, 0), (0, 3), (3, 1)]