我正在尝试使用在OSX 10.6.8上运行的斐济(版本2.0.0-rc-30 / 1.49u)中的javascript编辑器制作宏,并且我在使用构建时遇到问题在宏功能。我的代码的功能很好,但我希望循环浏览特定文件夹中的所有文件,所以我的宏开始于:
inputdir = "/Users/myusername/picture folder/"
list = getFileList(inputdir);
然后我有一个贯穿每个文件的for循环,或者至少是这个想法。当我运行它时,我收到以下错误:
"ReferenceError: "getFileList" is not defined. (<Unknown source>#3) in <Unknown source> at line number 3"
我对大多数内置宏函数(getDirectory,selectWindow,setThreshold)都有类似的错误。
我是第一个承认自己是javascript新手的人,所以我确定这是一个让人头疼的事,但我已经重新安装了imageJ和斐济,并更新他们两个无济于事。任何帮助将不胜感激。
答案 0 :(得分:2)
首先,宏可以访问一些的Java函数。
他错过了代码中的分号:
inputdir = "/Users/myusername/picture folder/" // Forgot semicolon here.
list = getFileList(inputdir);
所以代码实际上工作,只需看你的语法:)。我建议在Notepad ++或某些编译器中进行编码,以确保没有语法错误。
斐济内置了一些东西,这使得它更容易被称为多图像处理器。
教程here将向您展示如何访问它并将宏应用于目录。
或者你可以自己编程,他们也详细说明:
input = "/home/fiji/input/";
output = "/home/fiji/images/";
list = getFileList(input);
for (i = 0; i < list.length; i++){
action(input, output, list[i]);
}
当然,如果您希望它能够访问Java的所有功能,那么您真的应该将其作为插件。
如果您不知道,ImageJ(FIJI)也支持the following languages: