【问题标题】:Incorporating a plugin into an ImageJ/FIJI Macro (bUnwarpJ)将插件合并到 ImageJ/FIJI 宏 (bUnwarpJ)
【发布时间】:2018-03-11 02:58:11
【问题描述】:

我正在尝试将插件 bUnwarpJ 集成到我一直在编写的 ImageJ 宏中。目的是调用这个插件,允许用户定义参数并运行它。 这个插件有一个选项来保存用户定义的参数,即“保存地标”。我也希望通过在我的插件中调用: call("bunwarpj.bUnwarpJ_.saveLandmarks", output folder) 来执行此操作。

目前,代码为:

run("bUnwarpJ");
call("bunwarpj.bUnwarpJ_.saveLandmarks", output folder);

问题是一旦 bUnwarpJ 完成,就不能调用 'save landmarks' 方法,也会丢失用户输入的数据。你会如何解决这个问题?

一个想法是有一个弹出窗口(在运行命令之前),它不会暂停用户交互,当用户完成定义地标时,他们可以在执行 call() 的这个窗口上单击 OK,从而节省bUnwarpJ 运行时的地标。我遇到的问题是大多数弹出窗口会暂停其余的代码。理想情况下是这样的:

#command for popup window here
run("bUnwarpJ"); #when user is finished, they click Ok on the box above

#执行:call("bunwarpj.bUnwarpJ_.saveLandmarks", 输出文件夹);

感谢任何帮助。谢谢!

【问题讨论】:

    标签: imagej fiji


    【解决方案1】:

    用户是否通过创建 ROI 或其他可能需要他们实际与图像交互的方式来定义地标?如果没有,和/或可以提前生成这些地标值(使用单个图像作为批处理的模板),您可以考虑只添加一个请求地标值的用户界面/对话框,然后将它们保存为变量集或数组。如果这听起来像是在正确的轨道上,请告诉我,我可以尽力帮助您进行设置。

    【讨论】:

      【解决方案2】:

      使用初始对话框肯定是获取输入参数的最简单方法。如果由于某种原因这不起作用,您可以考虑输入如下一行:

      run("bUnwarpJ");
      waitForUser("Input Your Parameters");
      

      我没有使用过 UnwarpJ,但是如果用户打算执行除参数输入以外的步骤,waitForUser 命令应该允许宏暂停手动输入。否则,ejkiely 的建议将是最快的解决方案。

      【讨论】:

        猜你喜欢
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多