ImageJ

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ImageJ

Nikolay
Hello,

 I have ImageJ 1.47k, and two images, I do FFT transform for both, multiply
this images and
 trying to perform inverse FFT, but each time I get message "*Frequency
Domain Image Required*", why?

--
Nikolay

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: ImageJ

John Hayes
Hi Nikolay,

Someone else may be able to help you more for the solution, but this error message is apparently because the FFT implementation stores an instance of the FHT class as a property of the transformed image and requires that property and FHT instance for the inverse operation.

I’m assuming this is to make the operations quicker, but it has unfortunate side effects. For example, I don’t believe the properties will persistent with the saved image (or at least the instance of the FHT class anyway) if you restart ImageJ. Similarly, if you multiply two images and have a new resulting image that property is not present.

Perhaps if you multiply one image into the other image, so that the FHT property is associated with the first image, it might work because I think it still uses what is actually in the ImageProcessor to generate the inverse. Maybe try that as a first attempted solution.

HTH, and best regards,

John

Le 4 mars 2013 à 00:37, Nikolay Rogoshchenkov a écrit :

> Hello,
>
> I have ImageJ 1.47k, and two images, I do FFT transform for both, multiply
> this images and
> trying to perform inverse FFT, but each time I get message "*Frequency
> Domain Image Required*", why?
>
> --
> Nikolay
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: ImageJ

Herbie-2
In reply to this post by Nikolay
Nikolay,

did you try complex FFT?

Open the "FFT Options"-dialog and check _only_ "Complex Fourier
Transform" and "Do forward transform". The resulting Fourier spectrum is
a stack consisting of the real and the imaginary part.

Provided your spectral filter-function is real valued, you now can
multiply the "complex" stack with this function by use of the "Image
Calculator".

The result is again a complex stack. Now choose "Inverse FFT" and you
will get the filtered image as a "complex" stack. You can ignore or
delete the imaginary part of it.

If your spectral filter-function is complex-valued, i.e. another
"complex" stack, then you need to perform a complex multiplication and
this is best done with a corresponding macro. The result must again be a
single "complex" stack that can be re-transformed by choosing "Inverse FFT".

HTH

Herbie
________________________________________
On 04.03.13 00:37, Nikolay Rogoshchenkov wrote:

> Hello,
>
>   I have ImageJ 1.47k, and two images, I do FFT transform for both, multiply
> this images and
>   trying to perform inverse FFT, but each time I get message "*Frequency
> Domain Image Required*", why?
>
> --
> Nikolay
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

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