Utilizando a Convolução de Funções¶

Visão geral¶

convolução de Duas funções são fornecidas. Eles são importados como:

>>> from astropy.convolution import convolve, convolve_fft

e são utilizados tanto como:

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

convolve() é implementado como adirect algoritmo de convolução, enquantoconvolve_fft() usa um Rápido FourierTransform (FFT). Assim, o primeiro é melhor para grãos pequenos, enquanto o latteris é muito mais eficiente para grãos maiores.

as imagens e kernels de entrada devem ser listas ou numpy matrizes com 1,2 ou 3 dimensões (e o número de dimensões deve ser o mesmo para a imagem e núcleo). O resultado é um array numpy com as mesmas dimensões que a imagem de entrada. A convolução é sempre feita como ponto flutuante.

a função convolve() toma um argumento opcional boundary= descrevendo como realizar a convolução na borda da matriz. Os valores para boundary podem ser:

  • None: defina os valores do resultado para zero onde o kernel se estende além do teedge do array (padrão).

  • 'fill': definir valores fora do limite da matriz para uma constante. Se esta opção for especificada, a constante deve ser especificada usando o argumentofill_value=, que é igual a zero.

  • 'wrap': suponha que os limites são periódicos.

  • 'extend' : definir os valores fora da matriz para o valor da matriz mais próximo.

por padrão, o kernel não está normalizado. Para normalizá-lo antes da convolução, use:

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

You might also like

Deixe uma resposta

O seu endereço de email não será publicado.