斐济没有认识到内置的宏观功能

时间:2015-06-16 21:01:46

标签: javascript macros imagej

我正在尝试使用在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和斐济,并更新他们两个无济于事。任何帮助将不胜感激。

1 个答案:

答案 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

  • BeanShell的。
  • Groovy的。
  • ImageJ Macro。
  • 爪哇。
  • 的JavaScript。
  • Lisp(Clojure)
  • Python(Jython)
  • Ruby(JRuby)