【发布时间】:2015-12-21 15:06:47
【问题描述】:
我正在 imagej 中构建一个插件,它将在进行分析之前对图像进行一些预处理。我希望这个插件可以在单个图像和堆栈上运行。到目前为止,这是我的插件代码示例:
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;
public class My_Analysis implements PlugIn {
public void run(String arg) {
ImagePlus imp = IJ.getImage();
IJ.run(imp, "Find Edges", "stack");
Prefs.blackBackground = true;
IJ.run(imp, "Make Binary", "stack");
IJ.run(imp, "Erode", "stack");
}
}
在那之后还有更多,但这只是参考分析,我认为这无关紧要。另外,我在代码前面有一个GenericDialog,但也认为它不相关,不想让示例陷入困境。当然,如果有人认为有必要,我可以全部包含在内。
我的问题是这在单个图像上效果很好,但是 Make Binary 会反转堆栈上的黑色/白色。我敢打赌我可以简单地将 Prefs.blackBackground 切换为 false 并且可以修复它,但是它不适用于单个图像。
另一条信息是,如果我从 Make Binary 行中取出“堆栈”,它会弹出一个对话框,提示我选择几个选项,其中一个是背景是否为黑色。如果我确实选择了这个选项,它会正确执行 Make Binary,但不会将其应用于整个堆栈或其他东西,因为我最终只分析第一个图像和堆栈中的其余图像看起来很奇怪。
任何帮助将不胜感激。非常感谢。
【问题讨论】: