Imagej宏错误:语句不能以{开头

时间:2019-06-30 17:38:25

标签: macros imagej

我是宏开发(以及一般编程)的初学者。 现在,我想测试用于处理多个目录中图像的基本循环功能,并且在代码的开头出现错误: 语句不能在第42行中以“ {”开头。 我在下面的代码中指出了错误显示在哪一行,如果代码太长,则表示歉意。

我取消了打印功能。我仔细看了看空格等,但是我从网上使用了一个示例模板,所以那里应该没有任何问题。 我在此论坛或其他任何论坛上都找不到类似的问题。

FileName = getString("Enter the name of the 2-channel file in each folder", "RGB")
InputFileExt = getString("Enter the file extension", ".tif")
MainDir = getDirectory("Choose the Main Directory");

function processFolder(MainDir) {
    dir = getFileList(MainDir);            
    for (i=0; i < dir.length; i++) {                <---- error 
                print(dir[i] + FileName + InputFileExt)
        if(File.isDirectory(MainDir + dir[i]))
            processFolder("" + MainDir + dir[i]);
        if(endsWith(dir[i] + FileName + InputFileExt) 
            processFile(dir[i] + FileName + InputFileExt);
    }
}

function processFile (dir[i] + FileName + InputFileExt) { 
    run("Split Channels");
    selectWindow("RGB.tif (blue)");
    close();
    selectWindow("RGB.tif (green).tif");
    saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (green).tif");
    selectWindow("RGB.tif (red)");
    saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (red).tif");
    close(); 
        }
}

这只是为了测试代码是否标识了正确的图像和目录。它应该遍历每个文件夹中的RGB图像,将其分成3个通道,并将绿色和红色通道保存在找到图像的目录中的新文件夹中。 如果在代码的其余部分中还有其他明显的错误,我将很高兴听到它们:)谢谢!

1 个答案:

答案 0 :(得分:0)

问题是,在代码末尾有一个大括号,只需将其删除,宏就应该运行平稳。