5 ms·
"It might be thought that Fourier methods are too hard for a graphic designer to understand" I find this argument funny in general. Just look at sound engineer
by sharpneli 12y ago
"It might be thought that Fourier methods are too hard for a graphic designer to understand"
I find this argument funny in general. Just look at sound engineers working with the mixboard and their equalizers. Equalizer basically allows you to do the same as what is done in that webpage. And yet the persons using it won't necessarily even know what the term "Fourier transform" means.
An useful UI so artists can play with it is probably the only thing needed for this.
- calhoun137 12y agoSince you used the example of sound engineer's, I would like to expand on the point I made in my previous comment about pro tools; and also clarify that I believe sound engineer's and graphic designers are a smart bunch, and are more than capable of handling it. I actually recently went to a studio and worked with a professional sound engineer. Most of the time, he would right click on a track, and then select from a list of filters to apply to some segment. These filters have a GUI that looks like an effects pedal with knobs etc... Having used many of these programs myself, I can assure you virtually nothing is based on fourier methods, even though this is all that these effects pedals are doing, often with large amounts of redundancy. A curious fact is that a large majority of the popular types of effects pedals actually correspond to the most well studied convolutions, which is something I hope and plan to research more carefully and write up in a blog post one day soon. Effects pedals for guitars were originally circuits discovered basically by chance; and it was only much later that these things were made digital. This clearly demonstrates the problem I was talking about when I said there is a "massive inertia against re-formulating the entire UI/UX for ... filtering based on the only possible unified approach"
- tfinniga 12y agoA convolution in image space is a component-wise multiplication in fourier space. As the size of your convolution kernel increases, sometimes it is more efficient to convert the kernel to fourier space, multiply pixel by pixel, and then convert back. This is what's going on with the presets at the bottom of the article.. for example, if you took the gaussian blur filter and converted it to image space, you'd have a gaussian blur convolution kernel.
- smorrow 12y ago> [...] convolution [...] component-wise multiplication in fourier space [...] convolution kernel [...] gaussian blur filter [...] Can I ask where people learn this stuff? Programming computers is pretty easy to learn by yourself, but the more I look at technical subjects other than programming computers, the less I can understand how it's possible to learn that stuff other than someone showing you.
- sharpneli 12y agoSchool. Books. Or the way I did it: Access to Matlab while in University. I learned signal processing just like I learned to program, by playing around and hacking stuff together. Naturally no-one learns anything in isolation. So bunch of reading is needed regardless of what you do.
- tfinniga 12y agoLearned this in my image/signal processing class at university. Most of the terms are just fancy / specific ways of saying simple things. There are a few key concepts to learn, and then the rest is implementation and learning the vocabulary so you can discuss it unambiguously.
- tripzilch 12y agoMany many years ago, a fellow demoscener pointed me to this: Yehar's DSP Tutorial for the Braindead http://yehar.com/blog/?p=121 http://yehar.com/blog/?p=121 It skips over some of the more fundamental math, but it serves as a great introduction to general ideas of digital signal processing. You can then proceed to look up the fiddly bits and deeper theory in more detail as you see fit (start from Wikipedia, hit the external links--that's how I'd do it). This particular tutorial speaks mainly about digital audio signal processing, which is the 1D case, but it generalizes to 2D image processing just as easily, if you've got the imagination (although you need some tricks if you don't want an IIR filter to look weird on an image).
- tripzilch 12y agoInteresting sidenote: The gaussian blur filter is pretty special in the sense that it has the same shape in both fourier-space (multiplication mask) as it does in pixel-space (convolution kernel).
- sharpneli 12y agoConsidering multiplication in frequency domain is just a convolution it doesn't really matter. And in sound engineering the length of the signal is generally far longer than the length of the convolution filter. Thus it's far better to use convolution to calculate it (it becomes advantageous to use Fourier only when the filter and the signal itself are of similar sizes). However I do think that conceptually things need a big simplification.
- TheOtherHobbes 12y agoYou're falling into the common fallacy of assuming that a phenomenon looks like something simple you already understand. Studio EQ is not the same as Fourier filtering. Canonical digital DSP filters are vastly more efficient than Fourier processing. Analog EQ circuits add significant amounts of distortion which add character to the sound. Some of the better digital EQs try to emulate this. Studio effects, pedals included, do not actually correspond to convolution. Many commercial reverb algorithms use complex time-varying effects that can't be modelled with simple convolution. While you can buy convolution reverbs from a variety of sources - and they're very popular for certain reverb effects - they're a long way from being the whole story. Bottom line is audio engineering is much more complex than you seem to think it is. Numerical techniques, including Fourier and convolution, have been studied since at least the 1950s, and there are good reasons why they're not a one-size-fits-all solution for audio effects. The image filter, on the other hand, is a lovely piece of work. I'm surprised no one has made it available as a Photoshop plug-in (although I expect someone will soon.)
- calhoun137 12y agoI am willing to accept that "audio engineering is much more complex" than I seem to think it is, and because of your comment I will look more closely into things before making any claims like that again. Would you be willing to explain in more detail the "good reasons why they're not a one-size-fits-all solution for audio effects"?
- dspig 12y agoA big reason against FFT is latency - for good resolution at low frquencies you need a big FFT, so it takes longer to buffer that many samples before you can FFT them. Also a lot of the processes we want to apply to audio have much more efficient methods available than FFT or convolution such as IIR filters - which also have no latency apart from whatever phase shift they introduce. Or if the process is time varying or has embedded non-linearities then it lends itself to sample-by-sample processing and not block based like FFT and (efficient) convolution.
- chipsy 12y ago