3

マクロを実行する必要がありますが、画像を表示したくありません。imp.show() を呼び出さない場合、ImageJ はコンソールに画像を表示します。開いている画像はありません。では、画像を表示せずにマクロを実行するにはどうすればよいでしょうか? 前もって感謝します。

public class MyPlugin implements PlugIn {

public static void MyPlugin(String path) {
    System.setProperty("plugins.dir", "libraries/plugins");
    System.setProperty("macros.dir", "libraries/macros");
    Opener opener = new Opener();
    ImagePlus imp = opener.openImage(path);
    imp.show();
    IJ.run(imp, "Skeletonize", "");
    runMacroFile("libraries/macros/FindJunctions", "");
    imp.close(); 
}
4

2 に答える 2

3
  • ファイルを の任意のサブフォルダーに配置してマクロをImageJ コマンドplugins/にする場合(たとえばplugins/macros/Find_Junctions.ijmImageJ のドキュメントを参照)、次を実行できるはずです。

    IJ.run(imp, "Find Junctions", "");

    impあなたの現在のイメージはどこにありますか。ただし、マクロ自体が を設定しない限り、これはマクロ内のコマンドが画像を表示することを妨げませんsetBatchMode(true)

  • 画像の表示を避けるより安全な方法は、マクロをまったく呼び出さないようにし、マクロのすべてのコマンドをプラグインに含めることです。プラグイン モードでマクロ レコーダを実行すると、必要なコマンド構文を取得できます。

あなたのコード例はコンパイルされず、呼び出したいマクロの詳細も提供されていないため、これ以上お手伝いすることはできません。

于 2013-05-07T19:37:50.327 に答える
3

setBatchMode(true);マクロの先頭に追加します。組み込みマクロ関数を参照してください。

于 2015-03-10T18:49:43.800 に答える