斐济宏如何使用给定的luts和插件

时间:2014-02-05 17:30:56

标签: macros imagej

我需要在斐济写一个宏。 首先,我录制一个宏来做我想做的事情。结果如下:

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

感谢您的帮助,

科琳娜

2 个答案:

答案 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