Posted by
Stein Rørvik on
Dec 19, 2020; 4:03am
URL: http://imagej.273.s1.nabble.com/Disabling-the-ROI-pop-up-menu-tp5024287.html
I have a related question regarding pop-up menus:
The macro Wayne posted shows an example of how to make a custom pop-up menu. This is very useful; I have added something similar to my startup macro file, to present a custom list of what to do with an image.
This approach works well when there is no ROI, but if you click inside an ROI, the recently added ROI pop-up menu shows instead. This is not always desirable, especially when you want to use your custom menu and the ROI is covering all or the majority of the image area.
So, is there any way to disable the built-in ROI pop-up menu, to use the image pop-up menu instead? Perhaps one could use a modifier key for this; e.g. the image pop-up would show also inside an ROI if the shift key is held down.
Stein
-----Original Message-----
Sent: 16. desember 2020 18:16
Subject: Re: calling macros or functions from within a macro
> On Dec 16, 2020, at 9:44 AM, Cammer, Michael <
[hidden email]> wrote:
>
> I would like to use the pull down menu to run a macro that is in the same text file or a function in the same file. runMacro() requires a file on disk and trying to call a function I defined returns an error message.
The following macro code, when saved as a file and installed using Plugins>Macros>Install, creates an image popup menu that with a "My Function" command that calls the function myFunction().
-wayne
var pmCmds = newMenu("Popup Menu",
newArray("My Function","Fire","Invert LUT"));
macro "Popup Menu" {
cmd = getArgument();
if (cmd=="My Function")
myFunction();
else
run(cmd);
}
function myFunction() {
print("successful");
}
> For instance, based on
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fimagej.nih.gov%2Fij%2Fmacros%2FCustomPopupMenu.txt&data=04%7C01%7Cstein.rorvik%40sintef.no%7Cb07634b77f3e4a91787008d8a1e67726%7Ce1f00f39604145b0b309e0210d8b32af%7C1%7C0%7C637437358518535936%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=00eCiXUdNGBuoXh1dAI9%2Bf2GfAKCX4n5fjKFm6nooCM%3D&reserved=0, I tried the following with my function testPulldownMenu(). The other commands in the list are mostly macros in the same file. And the B&C commands works fine.
>
>
> Is there a way to call my own functions or macros? Any help greatly appreciated.
>
>
> var pmCmds = newMenu("Popup Menu",
> newArray("testPulldownMenu", "Prepare image for markup", "Mark Distal", "Mark Nucleus", "Add Line Segment", "Grays LUT", "Color LUT",
> "Brightness/Contrast..."));
>
> macro "Popup Menu" {
> cmd = getArgument();
> run(cmd);
> //runMacro(cmd);
> }
>
> function testPulldownMenu() {
> print("successful");
> }
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html