brug af Konvolutionsfunktionerne liter

oversigt liter

to konvolutionsfunktioner leveres. De importeres som:

>>> from astropy.convolution import convolve, convolve_fft

begge bruges som:

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

convolve() implementeres som adirect foldningsalgoritme, mensconvolve_fft() bruger en Fast FourierTransform (FFT). Således er førstnævnte bedre for små kerner, mens sidstener meget mere effektiv til større kerner.

inputbillederne og kernerne skal være lister eller numpy arrays med enten 1,2 eller 3 dimensioner (og antallet af dimensioner skal være det samme for billedet og kernen). Resultatet er et numpy array med samme dimensioner somindgangsbilledet. Konvolutionen udføres altid som flydende punkt.

funktionen convolve() tager et alternativt boundary= argument, der beskriver, hvordan du udfører konvolutionen påkanten af arrayet. Værdierne for boundary kan være:

  • None: Indstil resultatværdierne til nul, hvor kernen strækker sig ud over kanten af arrayet (standard).

  • 'fill': Indstil værdier uden for arraygrænsen til en konstant. Hvis dettemulighed er angivet, skal konstanten angives ved hjælp af argumentetfill_value=, som som standard er nul.

  • 'wrap': Antag, at grænserne er periodiske.

  • 'extend' : Indstil værdier uden for arrayet til den nærmeste arrayværdi.

som standard er kernen ikke normaliseret. For at normalisere det før konvolution, brug:

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

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.