Как сгенерировать 1D гауссов фильтр в Юлии? - PullRequest
4 голосов
/ 20 сентября 2019

У меня есть массив, который я хочу отфильтровать, используя фильтр Гаусса, аналогично scipy.ndimage.filter.gaussian_filter1d в Python.

Какой пакет лучше всего подойдет для этого и как мне его использовать?

Ответы [ 2 ]

4 голосов
/ 20 сентября 2019

В Julia пакет ImageFiltering.jl может помочь вам в этом.

Вы можете построить 1D-гауссово ядро ​​с помощью ker = ImageFiltering.Kernel.gaussian((3,)) (кортеж передается для представления измерениятребуемый вывод).

Затем, если у вас есть массив данных в data, вы можете выполнить операцию фильтрации следующим образом:

newdata = imfilter(data, ker)

Если вы хотите сделать на местефильтрации, есть также imfilter!.

2 голосов
/ 22 сентября 2019

В дополнение к Kernel.gaussian((σ,)) существует также KernelFactors.IIRGaussian((σ,)), который создает приближение с бесконечной импульсной характеристикой к гауссову.Это может быть полезно для очень быстрой приближенно-гауссовой фильтрации, когда σ довольно велико.

...