Posted by
Jürgen Gluch on
Nov 28, 2013; 12:30pm
URL: http://imagej.273.s1.nabble.com/How-to-create-symmetric-selection-in-FFT-image-tp5005720p5005730.html
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
--
Jürgen Gluch
Kötitzer Str. 9a / 01445 Radebeul / Deutschland
Mobil: +49 (0)176 2297 1673
VOIP:
[hidden email]
XMPP:
[hidden email]
2013/11/28 Michael Schmid <
[hidden email]>:
> Hi Jürgen,
>
> if you do filtering by setting some areas in an FFT display black or white and doing a backward transform, ImageJ takes care of adding the mirrored black or white areas automatically. Thus, usually you need not care about adding the mirror yourself.
> By the way, ImageJ also smooths the mask to avoid 'ringing'.
>
> If you need a selection for some other purpose and you want to invert it:
> To make the inverse of both selections, add both, the original and the inverted to the Roi Manager and then run More>>Or (Combine). In a macro, this is roiManager("OR");
> Then you can run("Make Inverse");
>
> Michael
> ________________________________________________________________
> On Nov 27, 2013, at 22:27, Jürgen Gluch wrote:
>
>> Does anyone know a macro/plugin code how to mirror a selection to make a
>> symmetric selection in an FFT image for filtering?
>> I draw some circles on a FFT and want to get the corresponding circles on
>> the other side of the image center.
>>
>> I found this short macro from Jerome:
>>
>> 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");
>>
>> which makes a corresponding ROI, but the ROI is not a selection and I can
>> not run 'run("Make Inverse");' on it for example. So I am stuck here...
>> Please help me. Jürgen
>>
>> --
>> 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