0

早上好

我目前正在为 JAVA 中的 ImageJ 做一个插件,需要调用函数“ Maximum Intensity Z-projection ”,如果你选择“Image/Stacks/Z Project...”,我知道它已经在 ImageJ 中。此处的文档: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);
        }
    }
}

我该怎么做?太感谢了。

4

1 回答 1

3

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

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

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

在以下示例(使用记录器创建)中,我应用了 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

于 2016-10-01T17:40:10.690 回答