Pomocí Konvoluce Funkcí¶

Přehled¶

Dvě konvoluční funkce jsou k dispozici. Jsou importovány jako:

>>> from astropy.convolution import convolve, convolve_fft

a jsou oba používány jako:

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

convolve() je implementován jako adirect konvoluce algoritmus, zatímcoconvolve_fft() používá Rychlý FourierTransform (FFT). První z nich je tedy lepší pro malé jádra, zatímco druhéje mnohem účinnější pro větší jádra.

vstupní obrázky a jádra by měly být seznamy nebo numpy pole se buď 1,2 nebo 3 rozměry (a počet rozměry by měly být stejné pro theimage a jádra). Výsledkem je pole numpy se stejnými rozměry jako vstupní obraz. Konvoluce se vždy provádí jako plovoucí desetinná čárka.

funkce convolve() má anotační boundary= argument popisující, jak provést konvoluci na okraji pole. Hodnoty pro boundary mohou být:

  • None: nastavte hodnoty výsledku na nulu, kde jádro přesahuje okraj pole (Výchozí).

  • 'fill': nastavte hodnoty mimo hranici pole na konstantu. Pokud je tato volba zadána, konstanta by měla být zadána pomocí argumentufill_value=, který je ve výchozím nastavení nulový.

  • 'wrap': předpokládejme, že hranice jsou periodické.

  • 'extend' : nastavte hodnoty mimo pole na nejbližší hodnotu pole.

ve výchozím nastavení není jádro normalizováno. Chcete-li jej normalizovat před konvolucí, použijte:

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

You might also like

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.