我在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,但也不認爲它是相關的,並且不想陷入樣本。當然,如果有人認爲這是必要的,我可以包括所有這些。
我的問題是,這個工作原理在一個圖像上很漂亮,但是製作二進制文件反轉了堆棧上的黑色/白色。我敢打賭,我可以簡單地將Prefs.blackBackground切換爲false,並且可以修復它,但是它不會在單個圖像上工作。
另一個信息是,如果我從製作二進制行中取出「堆棧」,它會彈出一個對話框,提示我選擇幾個選項,其中之一是背景是否是黑色。如果我選擇這個選項,它會正確執行Make Binary,但不會將其應用於整個堆棧或其他東西,因爲我最終只分析堆棧中第一個圖像和其餘圖像,很奇怪。
任何幫助將不勝感激。非常感謝你。