【问题标题】:Inputting a default picture for when the called image doesn't exist in ImageJ macro当调用的图像在 ImageJ 宏中不存在时输入默认图片
【发布时间】:2016-04-18 12:48:14
【问题描述】:

我创建了一个宏,它调用并打开 54 张不同的图像,以便我可以将它们堆叠起来。这些图像都存储在一个文件夹中。像第一个一样有许多文件夹,宏看起来能够从任何文件夹中的图像创建堆栈。我已经按以下方式编写了代码来执行此操作,因为这是将堆栈顺序与我希望图像全部成为的模式相关联的最简单方法:

open(image 1)
open(image 2)
open(image 3)
open(image 4)
open(image 5)
open(image 6)
open(image 7)
open(image 8)
open(image 9) ect.

但是,在某些文件夹中,某些图像(例如图像 8)不存在。这会在该点停止代码。我不想写,对于每个“打开”:“如果文件存在”......因为我需要为 54 个图像执行此操作。有没有写法:

For this block of code, input default image if image doesn't exist for any of the following images:
    open(image 1)
    open(image 2)
    open(image 3)
    open(image 4)
    open(image 5)
    open(image 6)
    open(image 7)
    open(image 8)
    open(image 9) ect.
End for

【问题讨论】:

    标签: macros imagej imagej-macro


    【解决方案1】:

    如果我正确解释了您的问题,您的“图像 1”在您要处理的每个文件夹中具有相同的名称。

    如果是这样,我认为您可以将 54 个可能的文件名列表放在 array 中。然后循环遍历你所在的数组索引:

    1. 生成路径名并使用File.exists(path)(macro functions)检查对应文件是否存在
    2. 如果存在,打开它;如果它不存在,请打开您的默认图像。

    【讨论】:

    • 是的!我最终设法做到了。干杯。我一直在苦苦挣扎,因为我习惯于表现出色,而您没有将那些 {} 放在循环中。所以我没有在“for”循环中做一个嵌套的“if”,并且只在最后得到一个图像而不是54个......
    猜你喜欢
    • 1970-01-01
    • 2013-02-02
    • 2014-02-23
    • 1970-01-01
    • 2012-07-23
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    相关资源
    最近更新 更多