我需要在斐济写一个宏。 首先,我录制一个宏来做我想做的事情。结果如下:
run("Size...", "width=512 height=512 depth=497 average interpolation=None");
run("Rotate 90 Degrees Right");
run("Flip Horizontally", "stack");
run("Make Substack...", " slices=5-300");
run("isolum_cbs_strict");
run("Z Code Stack", "depth=Current");
run("Z Project...", "start=1 stop=296 projection=[Standard Deviation]");
我想以批处理模式进行。所以我自己写了一个宏:
file = getArgument;
if (file=="") exit ("No argument!");
setBatchMode(true);
file_vasc = file;
open(file_vasc);
run("Size...", "width=512 height=512 depth=497 average interpolation=None");
run("Rotate 90 Degrees Right");
run("Flip Horizontally", "stack");
run("Make Substack...", " slices=5-200");
run("isolum_cbs_strict");
run("Z Code Stack", "depth=Current");
run("Z Project...", "start=1 stop=196 projection=[Max Intensity]");
file_vasc_out = replace(file, "\\_pvar-8bit_combined.tif", "_maxZprojection.tif");
saveAs("Tiff", file_vasc);
但是我将宏错误视为run("isolum_cbs_strict")
的未定义变量和run("Z Code Stack", "depth=Current")
的无法识别的命令。
我怎样才能访问以下内容:
C:\Program Files\Fiji.app\luts\isolum_cbs.lut
以及以下插件:
C:\Program Files\Fiji.app\plugins\Stacks - Z-functions
感谢您的帮助,
科琳娜
答案 0 :(得分:1)
解决方案是向斐济提供-ijpathpath
作为参数。然后,luts,plugins等都是相对于这条路径派生的。换句话说,传递以下参数:
-ijpathpath“C:\ Program Files \ Fiji.app”
请注意,重要的是,您不能在路径的末尾添加反斜杠。
答案 1 :(得分:1)
不使用java运行时启动Fiji / ImageJ,而是使用提供的启动程序来运行宏:
fiji-win64.exe D:\your_macro.ijm D:\your_image.tif
或(基本相同):
ImageJ-win64.exe D:\your_macro.ijm D:\your_image.tif
ImageJ启动程序负责提供从命令行运行宏和脚本所需的所有环境。它甚至提供--headless
选项来运行您的脚本,甚至不显示用户界面。见斐济的Headless documentation。