【问题标题】:ImageJ - How to continue batch process even when encountered errorImageJ - 即使遇到错误如何继续批处理
【发布时间】:2012-10-19 03:23:43
【问题描述】:

我在 ImageJ 中编写了一个宏来在 BMP 图像文件列表上运行批量“测量”。我正在使用 headless.jar 以无头模式在远程 linux 机器上运行代码。

每当 ImageJ 在读取/加载列表中的图像时遇到错误或异常时,它都会退出该过程。因此,我必须不断监控该过程并手动强制 ImageJ 跳过该文件。

有没有一种方法可以强制 ImageJ 继续该过程,即使它遇到错误/异常?并在日志或其他文件中报告文件名?

【问题讨论】:

  • 听起来您应该考虑将宏重写为 Java 插件。这将使您可以选择执行所需的错误处理。

标签: java error-handling batch-processing imagej


【解决方案1】:

无法在 ImageJ 宏语言中显式处理异常。但是,您可以通过在进行有问题的宏调用之前检查先决条件等来防止某些类型的异常。

例如,如果您的文件列表中包含不存在的文件,您可以使用File.exists(path) [1] 确保文件存在,然后再尝试打开它。

当然,并非所有错误情况都可以通过这种方式轻松检查(例如,格式错误的 BMP),因此我同意 medPhys-pl 的观点,即将您的宏重写为 Imagej 插件是最完整的解决方案。您可以使用设置为以插件模式而不是宏录制的宏录制器 (Plugins > Macros > Record) 获得良好的开端。一旦你有了要执行的相关命令,你就可以使用FijiScript Editor轻松地将它们打包成一个插件:

  1. File > New > Script
  2. Language > Java
  3. Templates > Java > Bare PlugIn
  4. 将您的命令粘贴到run 方法中。

有关编写 ImageJ 插件的更多详细信息,请参阅 Fiji wiki 的 Introduction into Developing Plugins

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多