如何从ImageJ上的插件调用Z函数

时间:2016-09-26 10:45:09

标签: plugins imagej imagej-macro

早上好

我目前正在为JAVA中的ImageJ做一个插件,需要调用函数" 最大强度Z投影",我知道它已经在ImageJ如果你去" Image / Stacks / Z Project ......"。 此处的文档:http://imagej.net/Z-functions#Maximum_Intensity_Z-projection

我知道如何从其他插件调用插件,但在这种情况下做同样的事情我总是得到我的" 错误"信息。

public class Maximum_Intensity implements PlugIn{
    ImagePlus img = WindowManager.getCurrentImage();
    @Override
    public void run(String arg0) {
        // TODO Auto-generated method stub
        Object ZProjector = null;
        ZProjector = IJ.runPlugIn(img, "ZProjector", arg0);

        if(ZProjector==null){
            String arg = "Error";
            IJ.showMessage(arg);
        }
    }
}

我该怎么办?非常感谢你。

1 个答案:

答案 0 :(得分:3)

您可以轻松地使用宏录制器来帮助记录ImageJ中的所有命令,请参阅:

https://imagej.nih.gov/ij/docs/guide/146-31.html#sub:Record ...

为录像机启用Java,然后使用“创建”操作从录制的界面操作创建ImageJ插件。

在以下示例中(使用Recorder创建)我应用了Max。堆栈上的强度函数。

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;

public class My_Plugin implements PlugIn {

    public void run(String arg) {
        ImagePlus imp = IJ.openImage("http://imagej.nih.gov/ij/images/mri-stack.zip");
        IJ.run(imp, "Z Project...", "projection=[Max Intensity]");
        imp.show();
    }

}

可以在此处找到ZProjector类描述(用于实例化):

https://imagej.nih.gov/ij/developer/api/ij/plugin/ZProjector.html