【问题标题】:GenericDialogPlus - saving FileField as a new variable?GenericDialogPlus - 将 FileField 保存为新变量?
【发布时间】:2018-04-01 21:16:25
【问题描述】:

在这里编写脚本的新手。

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

我缺少什么命令?谢谢!

【问题讨论】:

标签: python dialog jython imagej fiji


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多