我制作了一个ImageJ宏,以便执行插件" Polar Transformation"在图像堆栈上。我的宏生成单个图像。我想知道如何修改我的宏以获得堆栈。
我正在考虑使用原始堆栈值创建一个新堆栈,并在循环中插入一些命令以添加创建映像。不幸的是,我没有找到任何有用的命令来做到这一点。
提前致谢。
run("Image Sequence...");
Stack.getDimensions(width, height, channels, slices, frames);
rename("A")
makeOval(293, 120, 77, 77);
for ( i=1 ; i <= slices; i++) {
selectWindow("A");
setSlice(i);
run("Polar Transformer", "method=Polar degrees=360 default_center for_polar_transforms,");
run("Rotate 90 Degrees Left");
rename("A"+i);
}
答案 0 :(得分:0)
如果您重新命名新创建的图像以包含唯一标识符,则可以使用图像&gt;堆栈&gt;要堆叠的图像命令将所有结果图像合并到一个堆栈中:
run("Images to Stack", "name=[Transformed Stack] title=Polar use");
此外,您可以使用batch mode来避免显示中间图像。
你的宏看起来像这样:
run("Image Sequence...");
Stack.getDimensions(width, height, channels, slices, frames);
rename("A");
setBatchMode("hide");
makeOval(293, 120, 77, 77);
for ( i=1 ; i <= slices; i++) {
selectWindow("A");
setSlice(i);
run("Polar Transformer", "method=Polar degrees=360 default_center for_polar_transforms,");
run("Rotate 90 Degrees Left");
rename("Polar"+i);
}
run("Images to Stack", "name=[Transformed Stack] title=Polar use");
setBatchMode("exit and display");