要叠加到循环中的图像

时间:2015-11-19 06:58:27

标签: image stack imagej

我制作了一个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);
}

1 个答案:

答案 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");