The main reason to choose one or the other is merely kernel size; for small kernels, a direct FIR convolution will be many times faster.
--Tim On Tuesday, March 04, 2014 04:19:31 AM Toivo Henningsson wrote: > 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 misunderstood the whole thing then but since fft assumes periodic > > input then I don't see how it can be a linear convolution. I guess > > Base.conv2 probably uses zero-padding to reduce wrap-around but in theory > > it would still be a circular convolution. I'll read up on it :) > > > > Best, > > Oliver > > > > Den tirsdag den 4. marts 2014 13.07.20 UTC+1 skrev 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 <oliver...@gmail.com>: > >>> Thanks Tim. > >>> > >>> Can't believe I missed that - been working with Images.jl all day. Nice > >>> job by the way, very useful. > >>> > >>> Best, > >>> Oliver > >>> > >>> Den tirsdag den 4. marts 2014 12.48.01 UTC+1 skrev Tim Holy: > >>>> Images.jl's imfilter might be what you want. > >>>> --Tim > >>>> > >>>> On Tuesday, March 04, 2014 03:38:15 AM Oliver Lylloff wrote: > >>>> > 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 straightforward to implement though. > >>>> > > >>>> > Best, > >>>> > Oliver > >> > >> Andreas Noack Jensen