【问题标题】:Image to stack into loop要堆叠成循环的图像
【发布时间】:2015-11-19 06:58:26
【问题描述】:

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

【问题讨论】:

    标签: image stack imagej


    【解决方案1】:

    如果您将新创建的图像重命名为包含唯一标识符,则可以使用 Image > Stacks > Images to Stack 命令将所有结果图像合并到一个堆栈中:

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

    【讨论】:

    • 非常感谢!你能解释一下“Image to Stack”的语法吗?为什么你写了`“name=[Transformed Stack] title=Polar use”`?它们是 Image to Stack 命令的一般输入吗?
    • @Mat_ley 使用macro recorder 获取您需要的命令。运行 Image > Stacks > Images to Stack 时,从插件对话框的不同组件填充参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多