用法:
cucim.skimage.util.view_as_windows(arr_in, window_shape, step=1)
輸入 n 維數組的滾動窗口視圖。
窗口是輸入數組的重疊視圖,相鄰窗口移動單行或列(或更高維度的索引)。
- arr_in:ndarray
N-d 輸入數組。
- window_shape:長度為 arr_in.ndim 的整數或元組
定義滾動窗口視圖的基本 n 維正交表(更好地稱為超矩形[1])的形狀。如果給定一個整數,則形狀將是由其值給出的邊長超立方體。
- step:長度為 arr_in.ndim 的整數或元組
指示應執行提取的步長。如果給定整數,則步長在所有維度上都是一致的。
- arr_out:ndarray
輸入數組的(滾動)窗口視圖。
參數:
返回:
注意:
在內存使用方麵,應該非常小心滾動視圖。實際上,盡管 ‘view’ 與其基本數組具有相同的內存占用,但在計算中使用此 ‘view’ 時出現的實際數組通常比原始數組(大得多),尤其是對於二維數組以上。
例如,讓我們考慮一個大小為 (100, 100, 100) 的
float64
的 3 維數組。該數組大約需要 8*100**3 字節的存儲空間,即 8 MB。如果一個人決定在這個陣列上構建一個帶有 (3, 3, 3) 窗口的滾動視圖,則滾動視圖的假設大小(例如,如果要重塑視圖)將是 8*(100-3+1 )**3*3**3 大約 203 MB!隨著輸入數組的維度變大,縮放變得更糟。參考:
例子:
>>> import cupy as cp >>> from cucim.skimage.util.shape import view_as_windows >>> A = cp.arange(4*4).reshape(4,4) >>> A array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]]) >>> window_shape = (2, 2) >>> B = view_as_windows(A, window_shape) >>> B[0, 0] array([[0, 1], [4, 5]]) >>> B[0, 1] array([[1, 2], [5, 6]])
>>> A = cp.arange(10) >>> A array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> window_shape = (3,) >>> B = view_as_windows(A, window_shape) >>> B.shape (8, 3) >>> B array([[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9]])
>>> A = cp.arange(5*4).reshape(5, 4) >>> A array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19]]) >>> window_shape = (4, 3) >>> B = view_as_windows(A, window_shape) >>> B.shape (2, 2, 4, 3) >>> B array([[[[ 0, 1, 2], [ 4, 5, 6], [ 8, 9, 10], [12, 13, 14]], [[ 1, 2, 3], [ 5, 6, 7], [ 9, 10, 11], [13, 14, 15]]], [[[ 4, 5, 6], [ 8, 9, 10], [12, 13, 14], [16, 17, 18]], [[ 5, 6, 7], [ 9, 10, 11], [13, 14, 15], [17, 18, 19]]]])
相關用法
- Python cucim.skimage.util.view_as_blocks用法及代碼示例
- Python cucim.skimage.util.invert用法及代碼示例
- Python cucim.skimage.feature.shape_index用法及代碼示例
- Python cucim.skimage.restoration.richardson_lucy用法及代碼示例
- Python cucim.skimage.data.binary_blobs用法及代碼示例
- Python cucim.skimage.filters.roberts_neg_diag用法及代碼示例
- Python cucim.skimage.color.lch2lab用法及代碼示例
- Python cucim.skimage.measure.label用法及代碼示例
- Python cucim.skimage.color.rgb2gray用法及代碼示例
- Python cucim.skimage.filters.gabor用法及代碼示例
- Python cucim.skimage.transform.rescale用法及代碼示例
- Python cucim.skimage.filters.roberts_pos_diag用法及代碼示例
- Python cucim.skimage.segmentation.random_walker用法及代碼示例
- Python cucim.skimage.filters.roberts用法及代碼示例
- Python cucim.skimage.morphology.dilation用法及代碼示例
- Python cucim.skimage.feature.corner_foerstner用法及代碼示例
- Python cucim.skimage.measure.moments_coords用法及代碼示例
- Python cucim.skimage.filters.gabor_kernel用法及代碼示例
- Python cucim.skimage.color.hsv2rgb用法及代碼示例
- Python cucim.skimage.morphology.closing用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cucim.skimage.util.view_as_windows。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。