簡體   English   中英

如何禁用ImageJ中的對話框?

[英]How can I disable a dialog in ImageJ?

我經常使用ImageJ來查看由一個文件夾中的許多單個圖像組成的圖像堆棧。 我可以將相應的文件夾拖放到ImageJ GUI中,然后創建可滾動的可視化效果,這非常方便。 自從每次執行此操作以來,它可能會更加方便,但會出現一個對話框,詢問我是否要以堆棧形式打開文件夾中的所有圖像。 是否可以將其默認設置為“是”? 我需要更改源代碼並自己編譯..嗎? 如果是這樣,我可以從哪里開始尋找?

建議例如在Github存儲庫中向Imagej Wayne rasband的作者提出功能請求:

https://github.com/imagej/imagej1

或者,您可以編寫一個小的宏(使用帶有菜單操作的宏記錄器!),也可以將其安裝在ImageJ中。 就像是:

run("Image Sequence...", "open=C:\\images\\ sort");

這里是宏文檔:

https://imagej.nih.gov/ij/developer/macro/macros.html

https://imagej.nih.gov/ij/docs/guide/146-14.html

要在源代碼中禁用對話框:找到源文件ij>plugin>DragAndDrop.java 從其openDirectory方法中,刪除與對話框相關的行,並將布爾值分配給convertToRGBvirtualStack ,這兩個值通常由現已失效的對話框窗口中的復選框定義。 現在,代碼應如下所示:

    private void openDirectory(File f, String path) {
        if (path==null) return;
        if (!(path.endsWith(File.separator)||path.endsWith("/")))
            path += File.separator;
        String[] names = f.list();
        names = (new FolderOpener()).trimFileList(names);
        if (names==null)
            return;
        convertToRGB = false;
        virtualStack = false;
        String options  = " sort";
        if (convertToRGB) options += " convert_to_rgb";
        if (virtualStack) options += " use";
        IJ.run("Image Sequence...", "open=[" + path + "]"+options);
        DirectoryChooser.setDefaultDirectory(path);
        IJ.register(DragAndDrop.class);
    }

我是用ImageJ 1.51p完成的。 可以在此處下載源代碼。 進行這些更改之后,只需運行build.xml ant腳本。

請注意,編寫宏可能會提供一種更簡潔,更可移植的方式來實現此目的-請參閱Marcel的答案以進一步閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM