GenericDialogPlus - 将 FileField 保存为新变量?

GenericDialogPlus - saving FileField as a new variable?

这里是编写脚本的新手。

我想创建一个对话框 window,提示用户选择 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)

但这只是返回:

yourfiles C:/Users/ C:/Users/

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

我希望输出基于用户的选择:

yourfiles C:/Users/test.tiff C:/Users/negative.tiff

我缺少什么命令?谢谢!

我会去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()

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

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)

输出:

yourfiles C:/Users/test.tiff C:/Users/negative.tiff