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 循环为循环的类,它递归调用一个函数直到满足条件,然后移动到下一个函数并调用