The runMacro command doesn't "see" the ROI manager

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

The runMacro command doesn't "see" the ROI manager

Avital Steinberg
Hi,
I'm running a program which has to run in batch mode, and I am using an
additional macro by calling runMacro. The problem is that within the macro,
the number of ROIs in the ROI manager is zero, while before and after
running the macro, there are ROIs in the ROI manager. The problem is that
the macro doesn't "see" the ROI manager.

This happens only in the batch mode, but when I try to set the batch mode
to false only for this part of the program, it doesn't solve the problem. I
tried explicitly opening the image with the ROIs and using the command
"from ROI manager" to solve this problem, but the problem wasn't solved.

Does anyone have any idea how to solve this problem?

Thanks,
Avital

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

Re: The runMacro command doesn't "see" the ROI manager

Rasband, Wayne (NIH/NIMH) [E]
> On Jul 15, 2015, at 10:42 AM, Avital Steinberg <[hidden email]> wrote:
>
> Hi,
> I'm running a program which has to run in batch mode, and I am using an
> additional macro by calling runMacro. The problem is that within the macro,
> the number of ROIs in the ROI manager is zero, while before and after
> running the macro, there are ROIs in the ROI manager. The problem is that
> the macro doesn't "see" the ROI manager.
>
> This happens only in the batch mode, but when I try to set the batch mode
> to false only for this part of the program, it doesn't solve the problem. I
> tried explicitly opening the image with the ROIs and using the command
> "from ROI manager" to solve this problem, but the problem wasn't solved.
>
> Does anyone have any idea how to solve this problem?

You can work around this problem by opening the ROI Manager before entering batch mode. For example, this macro

 run("ROI Manager...");
 setBatchMode(true);
 run("Blobs (25K)");
 setAutoThreshold("Default");
 roiManager("reset");
 run("Analyze Particles...", "add");
 print("count1="+roiManager("count"));
 runMacro("ShowCount.ijm");

outputs

 count1=64
 count2=64

but it outputs

 count1=64
 count2=0

if you close the ROI Manager, remove the first line [run("ROI Manager…”)] and run it again.

wayne


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

Re: The runMacro command doesn't "see" the ROI manager

Avital Steinberg
Hi Wayne,
Thank you - I was also looking for a solution and solved it right before I
got your email. I solved it in a different way. I noticed that for some
reason, my macro drew overlays on multiple images, instead of just the one
I selected. So I thought that closing all other images would solve it and
it did. I'm not sure why when I selected one image to draw overlays on, it
drew them on more than one image.

I don't have a problem with it, though, because I closed the other images.

Thanks,
Avital

On Wed, Jul 15, 2015 at 10:04 PM, Rasband, Wayne (NIH/NIMH) [E] <
[hidden email]> wrote:

> > On Jul 15, 2015, at 10:42 AM, Avital Steinberg <
> [hidden email]> wrote:
> >
> > Hi,
> > I'm running a program which has to run in batch mode, and I am using an
> > additional macro by calling runMacro. The problem is that within the
> macro,
> > the number of ROIs in the ROI manager is zero, while before and after
> > running the macro, there are ROIs in the ROI manager. The problem is that
> > the macro doesn't "see" the ROI manager.
> >
> > This happens only in the batch mode, but when I try to set the batch mode
> > to false only for this part of the program, it doesn't solve the
> problem. I
> > tried explicitly opening the image with the ROIs and using the command
> > "from ROI manager" to solve this problem, but the problem wasn't solved.
> >
> > Does anyone have any idea how to solve this problem?
>
> You can work around this problem by opening the ROI Manager before
> entering batch mode. For example, this macro
>
>  run("ROI Manager...");
>  setBatchMode(true);
>  run("Blobs (25K)");
>  setAutoThreshold("Default");
>  roiManager("reset");
>  run("Analyze Particles...", "add");
>  print("count1="+roiManager("count"));
>  runMacro("ShowCount.ijm");
>
> outputs
>
>  count1=64
>  count2=64
>
> but it outputs
>
>  count1=64
>  count2=0
>
> if you close the ROI Manager, remove the first line [run("ROI Manager…”)]
> and run it again.
>
> wayne
>
>
> --
> 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: The runMacro command doesn't "see" the ROI manager

Avital Steinberg
In reply to this post by Rasband, Wayne (NIH/NIMH) [E]
Actually, Wayne - your solution, not mine, fixed the problem!

Thanks a lot,
Avital

On Wed, Jul 15, 2015 at 10:04 PM, Rasband, Wayne (NIH/NIMH) [E] <
[hidden email]> wrote:

> > On Jul 15, 2015, at 10:42 AM, Avital Steinberg <
> [hidden email]> wrote:
> >
> > Hi,
> > I'm running a program which has to run in batch mode, and I am using an
> > additional macro by calling runMacro. The problem is that within the
> macro,
> > the number of ROIs in the ROI manager is zero, while before and after
> > running the macro, there are ROIs in the ROI manager. The problem is that
> > the macro doesn't "see" the ROI manager.
> >
> > This happens only in the batch mode, but when I try to set the batch mode
> > to false only for this part of the program, it doesn't solve the
> problem. I
> > tried explicitly opening the image with the ROIs and using the command
> > "from ROI manager" to solve this problem, but the problem wasn't solved.
> >
> > Does anyone have any idea how to solve this problem?
>
> You can work around this problem by opening the ROI Manager before
> entering batch mode. For example, this macro
>
>  run("ROI Manager...");
>  setBatchMode(true);
>  run("Blobs (25K)");
>  setAutoThreshold("Default");
>  roiManager("reset");
>  run("Analyze Particles...", "add");
>  print("count1="+roiManager("count"));
>  runMacro("ShowCount.ijm");
>
> outputs
>
>  count1=64
>  count2=64
>
> but it outputs
>
>  count1=64
>  count2=0
>
> if you close the ROI Manager, remove the first line [run("ROI Manager…”)]
> and run it again.
>
> wayne
>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

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