【发布时间】:2015-11-11 16:11:08
【问题描述】:
我有几个来自共聚焦显微镜的图像堆栈保存为 .lsm,我想编写一个宏:
- 在文件夹中打开图像
- 制作合成,然后堆叠为 RGB,然后设置动画选项
- 将此作为动画 Gif 保存到另一个文件夹
到目前为止我所做的:
function stack_to_gif(input, output, filename, fps) {
open(input + filename);
run("Make Composite");
run("Stack to RGB", "slices");
run("Animation Options...", "speed=fps");
run("Animated Gif ... ", "name=title=[Do not use] optional=[] " +
"image=[No Disposal] set=500 number=-1 transparency=[No Transparency] " +
"red=0 green=0 blue=0 index=0 filename=output+filename");
saveAs("Animated Gif...", output+filename);
close();
}
inputDir=getDirectory("Choose an input location");
outputDir=getDirectory("Choose an output location");
fps=120;
setBatchMode(true);
list = getFileList(inputDir);
for (i = 0; i < list.length; i++){
stack_to_gif(inputDir, outputDir, list[i], fps);
}
setBatchMode(false);
我知道这两个底部部分在我在另一个宏中使用它们时也可以使用。
我的问题在于 saveAs("Animated Gif...") 部分,因为它不允许我保存 RGB 类型,即使我手动保存它也可以。
到目前为止我尝试了什么:
- 在 saveAs("Animated Gifs...") 中使用相同的 run("Animated Gifs...") 选项
- 使用其中一种,但不能同时使用两种
- 使用运行(“8位”);在动画选项之后,它有效(但我失去了颜色)
让我烦恼的是,当我手动操作时它工作得非常好,但我收到错误消息
要保存为动画 GIF,必须通过 Image>Type>8 位颜色命令将堆栈转换为 8 位索引颜色。
我不知道为什么我自己做时不会发生这种情况。
感谢您的帮助。
【问题讨论】:
-
有关 ImageJ 使用和与 ImageJ 和 Fiji 插件相关的特定命令的问题最好直接发送至ImageJ forum,ImageJ 专家更有可能阅读和回答。
标签: macros animated-gif imagej