【问题标题】:SaveAs in a loop with ImageJ使用 ImageJ 循环保存
【发布时间】:2015-09-02 03:22:06
【问题描述】:

我是 imageJ 及其宏的新手,我无法从粒子分析中循环保存结果文件。

这是我的代码,由我刚刚在互联网上学到的东西组成,我只是不能在 saveAs 函数中包含 [i],而且图像的保存不匹配,而我什至还没有尝试保存它...

path1=getDirectory("Mydir");
list=getFileList(path1);
path2=getDirectory("My output dir");
setBatchMode(true);

for(i=0;i<list.length;i++){
    open(path1+list[i]);
    run("8-bit");
    run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00 show=[Bare Outlines] display clear");
    selectWindow("Results");
    saveAs("Results", path2+"Results.xls");
    close();
} 
setBatchMode(false);
run("Close");

【问题讨论】:

    标签: for-loop imagej


    【解决方案1】:

    要在for 循环的每个循环中保存结果窗口,您可以将计数器变量i 添加到文件名字符串中:

    saveAs("Results", path2+"Results" + i + ".xls");
    

    在结果文件名中也包含原始图像文件名可能是个好主意,例如:

    saveAs("Results", path2+"Results" + list[i] + ".xls");
    

    注意:我必须在 Analyze Particles... 命令之前添加 setAutoThreshold("Default");,以使您的宏在 Blob 示例图像等示例图像上工作,因为该命令需要阈值/二进制图像。

    【讨论】:

    • 谢谢 Jan。它保存了我的第一个“结果”文件,但随后我收到一条警告消息:“似乎该目录(用于保存的目录,path2!)没有 TIF、JPEG、BMP , (...) 文件。”它怎么会在那个文件夹中读取?注意:我确实使用二进制图像。
    • 这是因为我的“保存”目录在我的“进程”目录中。我工作正常!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2017-04-18
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多