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