dire che ho un array di NumPy a
, e voglio creare un nuovo array, b
tale che b[i, j]
è una funzione di, diciamo:filtro separabile sulla gamma NumPy
a[i-1, j-1], a[i-1, j ], a[i-1, j+1],
a[i , j-1], a[i , j ], a[i , j+1],
a[i+1, j-1], a[i+1, j ], a[i+1, j+1]
Quale sarebbe il modo più veloce per fare questo?
Poiché si tratta di un filtro separabile, esiste un modo per eseguirlo in più thread? (non processi, perché dovrei copiare i dati indietro)
O sta scrivendo il codice C per bypassare il GIL obbligatorio?
Anche le soluzioni parziali (come presupponendo che la funzione sia lineare) sono benvenute.
Intendi come una finestra o un filtro che si muove o si muove? l'esempio in questo collegamento è per una sommatoria per una finestra 3x3 su un array 2D http://www.johnvinyard.com/blog/?p=268 –
Suona come una serie di altre domande SO, la maggior parte usando il termine 'finestre scorrevoli '(o in movimento). Sebbene la maggior parte si concentri sull'iterazione della finestra, non sulla suddivisione dell'attività tra thread o processi. – hpaulj