图像J上的宏,循环不会移动到下一个ROI



我正在尝试裁剪图像中的部分,然后对所有部分求平均值。我正在回收我以前在imageJ上的宏。以前的宏通过在ROI列表中执行循环而运行良好。但是,对于这个,我不明白为什么循环没有移动到列表中的下一个ROI。相反,我得到的作业是列表中ROI数量的N倍,但宏使用了第一个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]");

有人能抓住我丢了什么?感谢

我找到了一个解决方案,行:

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]");

最新更新