Korzystanie z funkcji splotu¶

przegląd¶

dostępne są dwie funkcje splotu. Są importowane jako:

>>> from astropy.convolution import convolve, convolve_fft

i są używane zarówno jako:

>>> result = convolve(image, kernel) >>> result = convolve_fft(image, kernel) 

convolve() jest zaimplementowany jako algorytm splotu bezpośredniego, podczas gdyconvolve_fft() używa Fast FourierTransform (FFT). Tak więc pierwszy jest lepszy dla małych jąder, podczas gdy drugi jest znacznie bardziej wydajny dla większych jąder.

obrazy wejściowe i jądra powinny być listami lub tablicami numpy o wymiarach 1,2 lub 3 (a liczba wymiarów powinna być taka sama dla obrazu i jądra). Rezultatem jest tablica numpy o takich samych wymiarach jak obraz wejściowy. Splot jest zawsze wykonywany jako zmiennoprzecinkowy.

funkcja convolve() przyjmuje opcjonalny argument boundary= opisujący sposób wykonania splotu na krawędzi tablicy. Wartości dla boundary mogą być:

  • None: ustaw wartość wyniku na zero, gdy jądro wykracza poza pole tablicy (domyślnie).

  • 'fill': ustawia wartości poza granicami tablicy na stałą. Jeśli ta opcja jest określona, stała powinna być określona za pomocą argumentufill_value=, który domyślnie wynosi zero.

  • 'wrap': Załóżmy, że granice są okresowe.

  • 'extend' : ustaw wartości poza tablicą na najbliższą wartość tablicy.

domyślnie jądro nie jest znormalizowane. Aby znormalizować go przed splotem, należy użyć:

>>> result = convolve(image, kernel, normalize_kernel=True) 

You might also like

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.