Macros 图J:将堆栈另存为动画gif
我有几个共焦显微镜的图像堆栈保存为.lsm,我想写一个宏:Macros 图J:将堆栈另存为动画gif,macros,animated-gif,imagej,Macros,Animated Gif,Imagej,我有几个共焦显微镜的图像堆栈保存为.lsm,我想写一个宏: 打开文件夹中的图像 制作合成,然后堆叠为RGB,然后设置动画选项 将其作为动画Gif保存到另一个文件夹 到目前为止我所做的: 函数堆栈\u到\u gif(输入、输出、文件名、fps){ 打开(输入+文件名); 运行(“使复合”); 运行(“堆栈到RGB”、“切片”); 运行(“动画选项…”,“速度=fps”); 运行(“动画Gif…”,“名称=标题=[不使用]可选=[]”+ “图像=[No Disposition]集合=500数字=-1
函数堆栈\u到\u gif(输入、输出、文件名、fps){
打开(输入+文件名);
运行(“使复合”);
运行(“堆栈到RGB”、“切片”);
运行(“动画选项…”,“速度=fps”);
运行(“动画Gif…”,“名称=标题=[不使用]可选=[]”+
“图像=[No Disposition]集合=500数字=-1透明度=[No transparency]”+
“红色=0绿色=0蓝色=0索引=0文件名=输出+文件名”);
另存为(“动画Gif…”,输出+文件名);
close();
}
inputDir=getDirectory(“选择输入位置”);
outputDir=getDirectory(“选择输出位置”);
fps=120;
setBatchMode(真);
list=getFileList(inputDir);
对于(i=0;i
我知道,在另一个宏中使用这两个底部部分时,它们也可以工作
我的问题是saveAs(“动画Gif…”)部分,因为它不允许我保存RGB类型,即使我手动保存时它也可以工作
到目前为止,我尝试的是:
- 在saveAs中使用相同的run(“动画GIF…”)选项(“动画GIF…”)
- 使用其中一个,但不能同时使用两个
- 使用run(“8位”);在动画选项之后,该选项有效(但我丢失了颜色)
谢谢您的帮助。当我使用宏录制器(插件>宏>录制…)录制与文件>另存为>动画Gif…)对应的命令时,我得到以下命令:
run(“动画Gif…”,“name=[my new name]set_global_lookup_table_options=[dot use]optional=[]image=[No dispose]set=20 number=-1 transparency=[No transparency]red=0 green=0 blue=0 index=0 filename=/usr/temp/Animated.Gif”);
在您的命令中,部分name=title=[请勿使用]
似乎是错误的。如果要使用当前图像标题,请使用字符串连接插入变量的内容:
run(“动画Gif…”,“name=[“+myTitle+”]set_global_lookup_table_options=[请勿使用]可选=[]image=[无处理]set=20 number=-1透明度=[无透明度]红色=0绿色=0蓝色=0索引=0文件名=/usr/temp/Animated.Gif”);
但是无论如何,name
参数是不需要的,因为它将被包含整个文件路径的filename
参数覆盖,所以您可以安全地将其保留
同样,可以省略与默认值相同的任何参数。在我的测试中,这同样有效:
run(“动画Gif…”,“set=20文件名=/usr/temp/Animated.Gif”);
注意:保存动画GIF时,播放速度完全由设置延迟(以毫秒为单位)参数决定(在我的示例中,
Set=20
),因此运行run(“动画选项…”,“速度=fps”)代码>对保存的文件没有影响。(参见。关于这一点,似乎已经过时/错误。请自行更正文档,这是一个wiki。)我们也遇到了同样的问题。您需要将“设置\全局\查找\表格\选项”中的选项从[不使用]更改为[从当前图像加载]。此函数将z堆栈保存为动画gif格式,延迟为50us(设置为50),并且可以解决颜色问题
function animated_gifZ(input, output, filename)
{
open(input + filename);
run("RGB Color", "slices");
run("8-bit Color", "number=256");
run("Animated Gif ... ", "set_global_lookup_table_options=[Load from Current Image]" +
"optional=[] image=[No Disposal] set=50 number=-1 transparency=[No Transparency]" +
"red=0 green=0 blue=0 index=0 filename=output+filename");
saveAs("Animated Gif...", output+filename);
close();
}
如果您想加快速度,可以使用:
function gifZ(input, output, filename)
{
open(input + filename);
run("RGB Color", "slices");
run("8-bit Color", "number=256");
run("Properties...", "frame=[0.1 sec]");
saveAs("Gif", output+filename);
close();
}
希望能有帮助 关于ImageJ的使用和与ImageJ和斐济插件相关的特定命令的问题最好直接提交给,在那里,ImageJ专家更有可能阅读和回答这些问题。