imageJ 上的宏,循环不移动到下一个 ROI

Posted

技术标签:

【中文标题】imageJ 上的宏,循环不移动到下一个 ROI【英文标题】:Macro on imageJ, loop does not move to the next ROI 【发布时间】:2021-12-19 00:19:44 【问题描述】:

我正在尝试裁剪图像中的部分,然后对所有部分进行平均。我在 imageJ 上回收我以前的宏。以前的宏通过在 ROI 列表中执行循环来很好地工作。但是,对于这个,我不明白为什么循环不会移动到列表中的下一个 ROI。相反,我得到了 N 次作为列表中 ROI 数量的工作,但宏使用第一个 ROI 信息。这是我的宏:

runMacro("OpenROI");
rename("AA");
selectWindow("AA");
n=roiManager("count");

for(i=0;i<n;i++)
    roiManager("select",i);
    run("Copy");
    run("Internal Clipboard");
    rename(i);


selectWindow("AA");
run("Close");
run("Images to Stack", "name=Stack title=[] use");
run("Z Project...", "projection=[Average Intensity]");

有人能抓住我失去了什么吗?谢谢

【问题讨论】:

【参考方案1】:

我找到了解决办法,行:

selectWindow("AA");

必须在循环内才能在图像上设置 ROI。完整代码如下:

runMacro("OpenROI");
rename("AA");

n=roiManager("count");

for(i=0;i <n; i++)
    selectWindow("AA");
    roiManager("select",i);
    run("Copy");
    run("Internal Clipboard");
    rename(i);


selectWindow("AA");
run("Close");
run("Images to Stack", "name=Stack title=[] use");
run("Z Project...", "projection=[Average Intensity]");

【讨论】:

以上是关于imageJ 上的宏,循环不移动到下一个 ROI的主要内容,如果未能解决你的问题,请参考以下文章

如何循环遍历多点选择的每个点以获取像素值?

Python循环不移动到下一个文件

如何在Matlab的for循环中移动到下一个迭代

python 循环为循环的类,它递归调用一个函数直到满足条件,然后移动到下一个函数并调用

imacros/javascript 循环,在下一个按钮上有条件

mapView 上的点在移动到下一个选项卡时消失