0

新手在这里编写脚本。

我想创建一个对话框窗口,提示用户选择 2 个文件(“pos”和“neg”)。我还想将这些文件路径存储为变量以供以后使用。

我无法存储文件路径。我只能收集默认路径,而不是存储用户选择的路径。

import os 
from java.io import File 
from ij import IJ 
from ij.gui import GenericDialog 
from fiji.util.gui import GenericDialogPlus
> 
gdp = GenericDialogPlus(“test”) 
gdp.addFileField(“pos”, “C:/Users/”)
pos = gdp.getNextString() 
gdp.addFileField(“neg”, “C:/Users/”) 
neg = gdp.getNextString() 
gdp.showDialog() 
print("yourfiles "+ pos+ " " + neg)

但这只是回报:

你的文件 C:/Users/ C:/Users/

即使用户选择了一个新文件,即:C:/Users/test.tiff

我希望输出基于用户选择的任何内容:

你的文件 C:/Users/test.tiff C:/Users/negative.tiff

我错过了什么命令?谢谢!

4

2 回答 2

2

我会选择 scijava 的参数注释。它们也适用于脚本:https ://imagej.net/Script_Parameters

下面你会找到一个 python 示例:

# @File(label='input directory', style='directory') indir
# @File(label='input file') infile

print 'input directory' + indir.getAbsolutePath()
print 'input file' + infile.getAbsolutePath()

...更容易处理,更优雅。

于 2018-04-03T09:18:05.033 回答
0

来自 ImageJ 论坛 x-post 的建议引导我找到了解决方案。
基于用户输入的变量分配需要在显示对话框后完成(duh,在用户输入之后......)

    import os 
    from java.io import File 
    from ij import IJ 
    from ij.gui import GenericDialog 
    from fiji.util.gui import GenericDialogPlus

    gdp = GenericDialogPlus(“test”) 
    gdp.addFileField(“pos”, “C:/Users/”)
    gdp.addFileField(“neg”, “C:/Users/”) 
    gdp.showDialog()

    pos = gdp.getNextString()
    neg = gdp.getNextString()
    print("yourfiles "+ pos+ " " + neg)

输出:

你的文件 C:/Users/test.tiff C:/Users/negative.tiff

于 2018-04-28T04:00:46.557 回答