[julia-users] Linear convolution

2014-03-04 Thread Oliver Lylloff
Hello all, Is anyone aware of a linear convolution implementation? The Base.conv and Base.conv2 functions are implemented with fft which makes them circular convolution functions (as far as I know). I'm looking for something alike Matlabs conv2 or SciPys signal.convolve2d. Should be

Re: [julia-users] Linear convolution

2014-03-04 Thread Andreas Noack Jensen
Both conv and conv2 are linear convolutions but the implementations use the fft. Maybe the documentation could be more clear on that. 2014-03-04 13:01 GMT+01:00 Oliver Lylloff oliverlyll...@gmail.com: Thanks Tim. Can't believe I missed that - been working with Images.jl all day. Nice job by

Re: [julia-users] Linear convolution

2014-03-04 Thread Toivo Henningsson
Yes, with sufficient padding, you can compute a linear convolution (of finite length vectors) exactly using a circular convolution. The FFT might introduce a little noise in the result, but that is all. On Tuesday, 4 March 2014 13:12:48 UTC+1, Oliver Lylloff wrote: Well ok, Maybe I

Re: [julia-users] Linear convolution

2014-03-04 Thread Tobias Knopp
Tim, a little bit offtopic question but might it make sense to break of the algorithmic parts of Images.jl and put it into some signal processing package? I know that the imagemagick dependency is a soft one but all the filtering stuff is IMHO so basic that it belongs to base, or rather into

Re: [julia-users] Linear convolution

2014-03-04 Thread Tim Holy
I'm fine with that. Do you want to start it? --Tim On Tuesday, March 04, 2014 05:32:02 AM Tobias Knopp wrote: Tim, a little bit offtopic question but might it make sense to break of the algorithmic parts of Images.jl and put it into some signal processing package? I know that the

Re: [julia-users] Linear convolution

2014-03-04 Thread Miguel Bazdresch
There is DSP.jl: http://dspjl.readthedocs.org/en/latest/index.html On Tue, Mar 4, 2014 at 10:22 AM, Tobias Knopp tobias.kn...@googlemail.comwrote: I don't want to give a definate yes to it but will think a little bit how such a package could look like. My Cartesian macro foo is currently

Re: [julia-users] Linear convolution

2014-03-04 Thread João Felipe Santos
We have some standard DSP stuff in https://github.com/JuliaDSP/DSP.jl. Our idea is to put everything DSP-related that is not application-specific in there, and then make other application-specific packages depend on it. -- João Felipe Santos On Tue, Mar 4, 2014 at 10:22 AM, Tobias Knopp

Re: [julia-users] Linear convolution

2014-03-04 Thread Miguel Bazdresch
I was worried about getting a little noise in the result, so I ran a quick test in Matlab and Julia, and got almost exactly the same error. This is the Matlab code: Ts=0.01; t=-10:Ts:10; s=sinc(t); sc=Ts*conv(s,s); sc=sc(1000:3000); sum((sc-s).*(sc-s)) ans = 0.3695 So, at least for

Re: [julia-users] Linear convolution

2014-03-04 Thread Tobias Knopp
Thanks for the hint. This seems to be a good start although the available functions already seem to be quite specialized. The ndimage module from scipy (http://docs.scipy.org/doc/scipy/reference/ndimage.html#module-scipy.ndimage.filters) goes into a direction what in my mind could cover a

Re: [julia-users] Linear convolution

2014-03-04 Thread Tobias Knopp
This depends a lot on the input sizes. For full length convolutions, the fft approach should be more accurate because of less additions. For very short kernels this does not hold anymore. But in practice these kinds of errors are mostly negligable. Am Dienstag, 4. März 2014 16:42:33 UTC+1

Re: [julia-users] Linear convolution

2014-03-04 Thread João Felipe Santos
That's funny, because in my opinion the functions in scipy.ndimage.filters are also specialized, as most of the time they seem to be used in image processing (but also in time-series processing) :) In DSP.jl we mainly have functions for one-dimensional signal processing, though, and it would be