ImageJ静音模式 - 无需打开图像的过程

时间:2013-05-07 10:41:15

标签: java plugins imagej

我需要运行Macro,但我不想显示图像。如果我不调用imp.show(),ImageJ将打印到控制台没有打开图像。那么如何在不显示图像的情况下运行Macro?提前致谢。

public class MyPlugin implements PlugIn {

public static void MyPlugin(String path) {
    System.setProperty("plugins.dir", "libraries/plugins");
    System.setProperty("macros.dir", "libraries/macros");
    Opener opener = new Opener();
    ImagePlus imp = opener.openImage(path);
    imp.show();
    IJ.run(imp, "Skeletonize", "");
    runMacroFile("libraries/macros/FindJunctions", "");
    imp.close(); 
}

2 个答案:

答案 0 :(得分:2)

  • 如果您通过将文件放入plugins/的任何子文件夹(例如plugins/macros/Find_Junctions.ijm)来使宏成为 ImageJ命令,请参阅ImageJ documentation) ,你应该能够运行:

    IJ.run(imp, "Find Junctions", "");

    其中imp是您当前的图片。但是,这不会阻止宏中的命令显示图像,除非宏本身设置setBatchMode(true)

  • 避免显示图像的一种更安全的方法是避免调用宏,并将宏的所有命令都包含在插件中。您可以通过在插件模式下运行macro recorder来获取所需的命令语法。

由于您的代码示例无法编译,并且您没有提供有关您要调用的宏的任何详细信息,因此我无法帮助您。

答案 1 :(得分:2)

setBatchMode(true);添加到宏的开头。请参阅built-in macro functions