从 MATLAB 将变量传递给 ImageJ MIJI 命令

Passing a variable to an ImageJ MIJI command from MATLAB

我正在尝试使用 MATLAB ImageJ 接口 (Miji) 来 运行 一个命令块,但是我很难将变量传递到宏命令的选项中。我正在尝试加载 .tif 图像堆栈,并使用 ImageJ 的复制命令将它们分成较小的堆栈。

来自宏生成器的 ImageJ 网站,它指出;

pass variables to commands called using run() by adding "&" variable names.

例如

values = 1-5
run("Duplicate...","duplicate range=&values")

这应该在值设置的范围内复制图像堆栈。然而,当将其翻译成 MATLAB 的 MIJI 插件时,如下所示;

MIJ.run('Duplicate...','duplicate range=&values')

这不起作用,只会复制完整的图像堆栈。断开字符串“ ”会引发意外的 MATLAB 运算符错误。

我曾尝试将范围值存储为字符串文本以及矩阵。

尝试使用 MATLAB's supported string concatenation techniques 之一连接您的字符串。也许最简单的方法是使用方括号,如下所示:

MIJ.run('Duplicate...', ['duplicate range=' values])

我可以使用 sprintf

做到这一点
values = 1-5;
MIJ.run('Duplicate...',sprintf('duplicate range=%d',values));