Utilisation des Fonctions de Convolution¶

Aperçu¶

Deux fonctions de convolution sont fournies. Ils sont importés comme:

>>> from astropy.convolution import convolve, convolve_fft

et sont tous deux utilisés comme:

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

convolve() est implémenté en tant qu’algorithme de convolution direct, tandis que convolve_fft() utilise un Fast Fourriertransform (FFT). Ainsi, le premier est meilleur pour les petits grains, tandis que le second est beaucoup plus efficace pour les gros grains.

Les images d’entrée et les noyaux doivent être des listes ou des tableaux numpy avec 1,2 ou 3 dimensions (et le nombre de dimensions doit être le même pour l’image et le noyau). Le résultat est un tableau numpy avec les mêmes dimensions que l’image d’entrée. La convolution se fait toujours en virgule flottante.

La fonction convolve() prend un argument optionnel boundary= décrivant comment effectuer la convolution au bord du tableau. Les valeurs pour boundary peuvent être:

  • None: définissez les valeurs de résultat sur zéro là où le noyau s’étend au-delà de la bordure du tableau (par défaut).

  • 'fill': définissez des valeurs en dehors de la limite du tableau sur une constante. Si cette option est spécifiée, la constante doit être spécifiée à l’aide de l’argument fill_value=, qui vaut par défaut zéro.

  • 'wrap': supposons que les limites soient périodiques.

  • 'extend' : définissez les valeurs en dehors du tableau sur la valeur du tableau la plus proche.

Par défaut, le noyau n’est pas normalisé. Pour le normaliser avant la convolution, utilisez:

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

You might also like

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.