Re: FFT implementation in ImageJ

Posted by Herbie-4 on
URL: http://imagej.273.s1.nabble.com/FFT-implementation-in-ImageJ-tp5008239p5008252.html

Dear Curtis, dear Kenneth, dear Jim,

it would be really interesting to know whether such a restricted code
license still applies if it is to converted to a different programming
language (with respect to this list most probably Java)?
(Evidently, there is a coder converting parts of "Numerical
Recipes"-code to Java (IMHO of doubtable quality). I don't know whether
any restrictions apply to his code.)

AFAIK, the most recent editions of "Numerical Recipes" contain C++ code
although containing only minor object oriented lines of code, i.e. the
code examples are mainly plain C-code. I agree with Jim that the
"Numerical Recipes"-FORTRAN code for the FFT is less appealing and that
even the C++/C-versions allow for optimization. However and at least in
the latest editions, the authors mention other, more efficient approaches.

I fully agree with Kenneth that the essential value of "Numerical
Recipes" is the explanatory text, not the code examples. It was for this
reason that I mentioned the book with respect to the poster's original
request.
(BTW, I also like the older editions of "Numerical Recipes" better than
the latest, even though they don't cover as much topics.)

With best regards

Herbie

:::::::::::::::::::::::::::::::::::::::
On 16.06.14 22:37, Curtis Rueden wrote:

> Hi Herbie & Mariam,
>
>> You may also have a look at the code in "Numerical Recipes". However, you
>> have to change the C code to Java, which is rather easy.
>
> Note that Numerical Recipes code is released under a very restrictive
> license. Specifically: redistribution is prohibited. So if you are
> producing open source software, you will need to stay away from it.
>
> Regards,
> Curtis
>
>
> On Mon, Jun 16, 2014 at 12:16 PM, Herbie <[hidden email]> wrote:
>
>> Mariam,
>>
>> ImageJ computes the 2D FFT via the 2D FHT.
>>
>> The resulting transforms (Fourier-spectra) are essentially the same as
>> with a (direct) "classical" 2D FFT implementation. However the computation
>> is faster.
>>
>> There is a plugin called FFTJ which is based on "classical 2D" FFT
>> implementation. The source code is available.
>>
>> You may also have a look at the code in "Numerical Recipes". However, you
>> have to change the C code to Java, which is rather easy.
>>
>> HTH
>>
>> Herbie
>>
>> ::::::::::::::::::::::::::::::::::
>>
>> On 16.06.14 18:58, Student1 wrote:
>>
>>> Hi,
>>>
>>> I was wondering if ImageJ has standard FFT algorithm? Because I know
>>> ImageJ has a FFT window and it also FHT window, so does the FFT
>>> implementation based on the FHT algorithm? When I look into the code
>>> I basically see the FHT implementation but not a standard FFT
>>> algorithm.
>>>
>>> Thanks.
>>>
>>> Mariam Dost -- ImageJ mailing list:
>>> http://imagej.nih.gov/ij/list.html
>>>
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html