如何禁用 ImageJ 中的对话框?
How can I disable a dialog in ImageJ?
我经常使用 ImageJ 来查看由位于一个文件夹中的许多单个图像组成的图像堆栈。我只需将相应的文件夹拖放到 ImageJ GUI 中,它就会创建一个可滚动的可视化效果,这非常方便。它可能会更方便,因为每次我这样做时,都会出现一个对话框,询问我是否要将文件夹中的所有图像作为堆栈打开。是否可以将其默认为 "Yes"?我需要更改源代码并自己编译吗?如果是这样,我可以从哪里开始寻找?
建议向 Imagej Wayne rasband 的作者提出功能请求,例如,在 Github 存储库:
https://github.com/imagej/imagej1
或者您可以编写一个小宏(使用带有菜单操作的宏记录器!),它也可以安装在 ImageJ 中。类似于:
run("Image Sequence...", "open=C:\images\ sort");
这里是宏文档:
要在源代码中禁用对话框:找到源文件ij>plugin>DragAndDrop.java
。从其 openDirectory
方法中,删除与对话框相关的行并将布尔值分配给 convertToRGB
和 virtualStack
,这两个值通常由现在不存在的对话框 [=23= 中的复选框定义].代码现在应该如下所示:
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 做了这个。源码可以下载here。进行这些更改后,只需 运行 build.xml
ant 脚本。
请注意,编写宏可能会提供一种更简洁、更便携的方式来实现此目的——请参阅 Marcel 的回答以进一步阅读。
我经常使用 ImageJ 来查看由位于一个文件夹中的许多单个图像组成的图像堆栈。我只需将相应的文件夹拖放到 ImageJ GUI 中,它就会创建一个可滚动的可视化效果,这非常方便。它可能会更方便,因为每次我这样做时,都会出现一个对话框,询问我是否要将文件夹中的所有图像作为堆栈打开。是否可以将其默认为 "Yes"?我需要更改源代码并自己编译吗?如果是这样,我可以从哪里开始寻找?
建议向 Imagej Wayne rasband 的作者提出功能请求,例如,在 Github 存储库:
https://github.com/imagej/imagej1
或者您可以编写一个小宏(使用带有菜单操作的宏记录器!),它也可以安装在 ImageJ 中。类似于:
run("Image Sequence...", "open=C:\images\ sort");
这里是宏文档:
要在源代码中禁用对话框:找到源文件ij>plugin>DragAndDrop.java
。从其 openDirectory
方法中,删除与对话框相关的行并将布尔值分配给 convertToRGB
和 virtualStack
,这两个值通常由现在不存在的对话框 [=23= 中的复选框定义].代码现在应该如下所示:
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 做了这个。源码可以下载here。进行这些更改后,只需 运行 build.xml
ant 脚本。
请注意,编写宏可能会提供一种更简洁、更便携的方式来实现此目的——请参阅 Marcel 的回答以进一步阅读。