【问题标题】:Imagej Macro Error: statement can not start with {Imagej 宏错误:语句不能以 { 开头
【发布时间】:2019-06-30 17:38:25
【问题描述】:

我是宏开发(以及一般编程!)的初学者。 现在我想测试一个基本的循环函数来处理多个目录中的图像,并且在代码的最开始出现错误: 第 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 个通道,并将绿色和红色通道保存在找到图像的目录中的新文件夹中。 如果您可以在其余代码中发现任何其他明显的明显错误,我将很高兴听到它们 :) 谢谢!

【问题讨论】:

    标签: macros imagej


    【解决方案1】:

    问题是代码末尾有一个额外的大括号,只需将其删除,宏应该可以顺利运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 2013-11-07
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多