Bruke Convolution Funksjoner¶

Oversikt¶

To convolution funksjoner er gitt. De importeres som:

>>> from astropy.convolution import convolve, convolve_fft

begge brukes som:

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

convolve() er implementert som adirect convolution algoritme, mensconvolve_fft() bruker En Fast FourierTransform (FFT). Dermed er den tidligere bedre for små kjerner, mens sistnevnteer mye mer effektiv for større kjerner.

inndatabildene og kjernene skal være lister eller numpy matriser med enten 1,2 eller 3 dimensjoner(og antall dimensjoner skal være de samme forbilde og kjerne). Resultatet er en numpy array med samme dimensjoner sominngangsbildet. Konvolusjonen gjøres alltid som flyttall.

funksjonen convolve() tar anoptional boundary= argument som beskriver hvordan du utfører konvolusjonen på kanten av matrisen. Verdiene for boundary kan være:

  • None: sett resultatverdiene til null der kjernen strekker seg utoverkanten av arrayet (standard).

  • 'fill': angi verdier utenfor matrisegrensen til en konstant. Hvis thisoption er angitt, skal konstanten angis ved hjelp av argumentet fill_value=, som standard til null.

  • 'wrap': anta at grensene er periodiske.

  • 'extend' : angi verdier utenfor matrisen til nærmeste matriseverdi.

som standard er kjernen ikke normalisert. For å normalisere det før konvolusjon, bruk:

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

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.