0

我正在尝试在 Image J 中编写代码:

  1. 在文件夹中以“-GFP.vsi”结尾的单独窗口中打开所有图像
  2. 使用查找表将图像转换为绿色和 RGB 颜色 从 ImageJ,命令是: run("Green"); 并运行(“RGB 颜色”);
  3. 将每个图像保存在相同的原始文件夹中,并以相同的名称保存为 .tif 如果图像覆盖原始文件,则可以,但如果它们具有新名称,也可以。从 ImageJ,保存为 .tif 文件:saveAs("Tiff", "Filepath");

我没有使用 Java 的经验,只有一点编码经验。我尝试使用在 stackoverflow 和 ImageJ 网站上找到的代码拼凑一些东西,但不断收到错误代码。任何帮助深表感谢!

4

1 回答 1

0

这是我处理这项任务的方式:

macro "Change and Resave" {
    dir1 = getDirectory("Choose Source Directory ");
    dir2 = getDirectory("Choose Destination Directory ");
    list = getFileList(dir1);

    // Make an array of files ending " - GFP.vsi"
    nd2list = newArray(0);
    for (i=0; i<list.length; i++) {
        if (endsWith(list[i], " - GFP.vsi")) {
            vsilist = append(vsilist, list[i]);
        }
    }

    setBatchMode(true);
    // loop through files
    for (i=0; i<vsilist.length; i++) {
        showProgress(i+1, vsilist.length);
        // open file using Bio-Formats, you may need to edit these two lines
        s = "open=["+dir1+vsilist[i]+"] autoscale color_mode=Composite rois_import=[ROI manager] view=Hyperstack stack_order=XYCZT";
        run("Bio-Formats Importer", s);
        // your commands from your question
        run("Green");
        run("RGB Color");
        saveAs("tiff", dir2+replace(vsilist[i],".vsi",".tif"));
        close();
    }
    setBatchMode(false);
}

function append(arr, value) {
    arr2 = newArray(arr.length+1);
    for (i=0; i<arr.length; i++)
        arr2[i] = arr[i];
        arr2[arr.length] = value;
    return arr2;
}
于 2020-06-24T20:35:06.207 回答