本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。