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

How to call Z-functions from a plugin on ImageJ

早上好

我目前正在 JAVA 中为 ImageJ 做一个插件,它需要调用函数“Maximum Intensity Z-projection”,我知道这已经是在 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);
        }
    }
}

我该怎么做?非常感谢。

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

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

为记录器启用 Java,然后使用 "Create" 操作从记录的界面操作创建 ImageJ 插件。

在下面的示例中(使用记录器创建)我应用了最大。堆栈上的强度函数。

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 class 描述(用于实例化):

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