本文简要介绍 python 语言中 scipy.ndimage.value_indices
的用法。
用法:
scipy.ndimage.value_indices(arr, *, ignore_value=None)#
查找给定数组中每个不同值的索引。
- arr: 整数数组
包含整数值的数组。
- ignore_value: 整数,可选
在搜索 arr 数组时将忽略该值。如果未给出,则找到的所有值都将包含在输出中。默认为“无”。
- indices: 字典
每个不同值的数组索引的 Python 字典。字典由不同的值作为键,条目是数组索引元组,涵盖数组中该值的所有出现。
该字典会占用大量内存,通常是输入数组大小的几倍。
参数 ::
返回 ::
注意:
对于具有很少不同值的小数组,可以使用numpy.unique()找到所有可能的值,并且
(arr == val)
找到该数组中的每个值。然而,对于具有许多不同值的大型数组,这可能变得极其低效,因为定位每个值将需要对整个数组进行新的搜索。使用此函数,本质上是一次搜索,并为所有不同的值保存索引。当将分类图像(例如分割或分类)与其他数据的关联图像进行匹配时,这非常有用,从而允许计算任何per-class统计数据。为
scipy.ndimage.mean()
和scipy.ndimage.variance()
等函数提供更灵活的替代方案。其他一些密切相关的函数,具有不同的优点和缺点,也可以在
scipy.stats.binned_statistic()
和 scikit-image 函数skimage.measure.regionprops()
中找到。IDL 用户请注意:这提供了与 IDL 的 REVERSE_INDICES 选项等效的函数(根据 HISTOGRAM 函数的 IDL 文档)。
例子:
>>> import numpy as np >>> from scipy import ndimage >>> a = np.zeros((6, 6), dtype=int) >>> a[2:4, 2:4] = 1 >>> a[4, 4] = 1 >>> a[:2, :3] = 2 >>> a[0, 5] = 3 >>> a array([[2, 2, 2, 0, 0, 3], [2, 2, 2, 0, 0, 0], [0, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0]]) >>> val_indices = ndimage.value_indices(a)
字典 val_indices 将为输入数组中的每个不同值都有一个条目。
>>> val_indices.keys() dict_keys([0, 1, 2, 3])
每个值的条目都是一个索引元组,用于定位具有该值的元素。
>>> ndx1 = val_indices[1] >>> ndx1 (array([2, 2, 3, 3, 4]), array([2, 3, 2, 3, 4]))
这可用于索引原始数组或具有相同形状的任何其他数组。
>>> a[ndx1] array([1, 1, 1, 1, 1])
如果忽略零,则生成的字典将不再有零的条目。
>>> val_indices = ndimage.value_indices(a, ignore_value=0) >>> val_indices.keys() dict_keys([1, 2, 3])
相关用法
- Python SciPy ndimage.variance用法及代码示例
- Python SciPy ndimage.correlate用法及代码示例
- Python SciPy ndimage.morphological_gradient用法及代码示例
- Python SciPy ndimage.correlate1d用法及代码示例
- Python SciPy ndimage.binary_dilation用法及代码示例
- Python SciPy ndimage.distance_transform_bf用法及代码示例
- Python SciPy ndimage.find_objects用法及代码示例
- Python SciPy ndimage.label用法及代码示例
- 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.labeled_comprehension用法及代码示例
- 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.value_indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。