[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] 2d FFTs, DCTs, etc.

From: Dimitris Papavasiliou
Subject: [Help-gsl] 2d FFTs, DCTs, etc.
Date: Thu, 11 May 2006 19:09:16 +0300
User-agent: Mail/News 1.5 (X11/20060228)

Hello all,
I needed to perform a 2D DCT for image processing and since speed wasn't such an absolutely critical issue (although welcome of course) I thought I'd implement it using GSL instead of FFTW. In the spirit of unifying all our numerical needs (which the GSL seems to be serving well enough) under a common interface I thought I'd implement this as a GSL package as well which might later be incorporated into GSL itself.

Until now I have basically only radix2 DCTs (type II and inverse which is essentially type III) implemented for one and two dimensions. I also created a couple of wrappers for the FFT functions that work with vectors and matrices.

Now what I'm interested in is the following:
a) Is there an interest in such a package (1D, 2D, DCTs, 2D FFTs maybe and vector/matrix interfaces for the lot) or should I just implement DCTs for myself? I'm asking because these things are easy enough to implement that I thought there might be a reason why they aren't provided by the GSL yet. b) Is there a reason why there are no vector/matrix interfaces to the fft functions (in constrast to the wavelets routines)? c) Is there a reason why there are no two-dimensional fft routines? For real data there would be the problem of computing them in-place I suppose but for complex data computation is pretty simple using row-column decomposition.

In case there is an interest in such a package, does anyone have any ideas on the following: a) What to do with 2D real FFTs? In-place computation (without allocating extra memory) should be impossible ,at least using 1D FFTs to do the job. Should only complex 2D FFTs be implemented? Should real FFTs have different input and output vectors (that would break the symmetry in the interface though)? b) Does anybody know whether it is possible to compute DCTs of odd length using one FFT of the same length? For even lengths this is possible (both powers of two and not) but for odd lengths I haven't found anything. c) Would anyone be willing to help out (esp. with the vector/matrix wrappers and with making these work for doubles and floats through those GSL templates)? I'm supposed to be doing my master's thesis as well (what I needed the DCT for in the first place) so it might take some time to finish this on my own.

Sorry for all the questions,
Dimtiris P.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]