Posted by
Michael Schmid on
Nov 28, 2013; 1:58pm
URL: http://imagej.273.s1.nabble.com/How-to-create-symmetric-selection-in-FFT-image-tp5005720p5005732.html
Hi Jürgen,
if you do an inverse FFT and you have a 'white' mask, Imagej keeps everything that is white (pixel value 255) and clears everything else (pixel values 0-254 become 0). Then it smooths the mask, multiplies it with the FFT values and runs the inverse FFT.
If you have a 'black' mask, ImageJ clears everything that is black (pixel values 0) and keeps everything that has pixel values between 1 and 255, irrespective of the pixel value. Again, the result is smoothed and multiplied with the FFT data before the inverse FFT is done.
Note that the FFT that you see is for display purposes only (it is a power spectrum with log scaling); the actual FFT data are invisible.
If you want to control the smoothing yourself or if you want to apply different factors for different spatial frequencies (i.e., different parts of the FFT), use the 'Custom Filter'. There, you have to care about smoothing yourself. If you need it, somewhere I should have an unpublished plugin that does smoothing and takes the periodic boundary conditions into account.
Michael
________________________________________________________________
On Nov 28, 2013, at 13:30, Jürgen Gluch wrote:
> Dear all,
>
> Thanks for the answers. The "Combine" was the missing part. My macro works:
>
> run("FFT");
> waitForUser("Draw a selection");
> roiManager("Add");
> getSelectionCoordinates(xs,ys);
> m=getWidth()/2;
> for (i=0;i<xs.length;i++) {
> xs[i]=m-(xs[i]-m);
> ys[i]=m-(ys[i]-m);
> }
> makeSelection ("polygon",xs,ys);
> roiManager("Add");
> roiManager("Deselect"); // If nothing is selected, the 'Combine' works
> for all selections
> roiManager("OR"); // = 'Combine'
> run("Make Inverse");
> run("Set...", "value=0");
> run("Select None");
> run("Inverse FFT");
> exit(); // end macro
>
> Michael, from your answer I learned that ImageJ distinguishes between
> a "white" and a "black" mask. So instead of "Make Inverse" and "Set to
> 0", I could also fill with white ("Set to 255"). Is the difference
> just from the smoothing of the mask edge? And I have to note that my
> approach with "black" on the outside obviously results in an empty
> image after "Inverse FFT" - which was the reason to look for a
> mirrored selection.
>
> best wishes
> Jürgen
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html