Next: Java implementation Up: paper Previous: Discrete Fourier Transformation

Motivation of various implementations

Our implementation was influenced by a lot of aspects. Generally we wanted to implement the method in Java, because of its object oriented clarity and programming comfort. Later, when we realized, that we need not only the algorithm implementation itself, but also a kind of analyzing tool, we appreciated this decision, because of the simple GUI design in Java. The first task was to implement a fast and efficient Fourier transformation. This is actually not a big problem, there are lot of sources. The bigger problem was, how to check if the Fourier transformation really works, as it should. To check the 3D version of the FFT is not that simple. Actually the only method, which gives quasi 100% certainty, is to compare it with already implemented Fourier transformation value by value. As a reference we have chosen Matlab implementation of FFT. Another problem of our Java implementation was, that it was more a tool for analysis of the smoothing technique, than a fast implementation. Generally all computationally expensive algorithms are slower if they are implemented in Java. That was the reason, why we have decided to make a fast and optimized C version to achieve the best performance.
Ivan Viola, Matej Mlejnek
2001-03-22