【问题标题】:Combine 3 Stacks in ImageJ在 ImageJ 中合并 3 个堆栈
【发布时间】:2016-11-29 18:01:17
【问题描述】:

有没有办法将 3 叠并排“堆叠合并”。

图像>堆栈>工具>组合

支持并排组合 2 个堆栈。解决这个问题的两种方法:

  • 合并前 2 个,然后将合并后的图像合并到第三个堆栈
  • 创建一个执行上述操作的宏

run("Combine...", "stack1=STAC1_NAME stack2=STACK2_NAME"); run("Combine...", "stack1=[Combined Stacks] stack2=STACK3_NAME");

还有其他方法可以做到这一点,例如并排组合 20 个堆栈。

添加了代码片段/

//Specify Folders here//
output = "PATH";
combined = "PATH";
original= "PATH";

//Batch Mode for ImageJ
setBatchMode(true); 
list = getFileList(input);
for (i = 0; i < list.length; i++) {
        combine(original, output, combined, list[i]);
}
setBatchMode(false);
function combine(original, output, combined, filename) {
//Open Outline & Overlay for Combine Stack//
name_outline = filename + "_outline.png";
name_overlay = filename + "_overlay.png";
name_ellipse = filename + "_ellipse.png";
name_original = replace(filename, "_watershed.tif", ".tif");
open(original + name_original);
run("RGB Color");
open(output + name_overlay);
run("RGB Color");
open(output + name_outline);
run("RGB Color");
open(output + name_ellipse);
run("RGB Color");
run("Combine...", "stack1=filename stack2=name_overlay");
rename("combinedstack01");
run("Combine...", "stack1=name_outline stack2=name_ellipse");
rename("combinedstack02");
run("Combine...", "stack1=combinedstack01 stack2=combinedstack02");
saveAs("PNG", combined + filename + "_comb.png");
run("Close All");
}

【问题讨论】:

    标签: image-processing imagej imagej-macro


    【解决方案1】:

    根据文档,没有:

    http://imagej.net/Stack_Manipulation

    http://imagej.net/Stack-slice_Manipulations

    但是,您可以使用 combine 方法轻松地批处理整个堆栈文件夹,请参阅:

    http://imagej.net/Batch_Processing

    这里是一个示例宏

    例如(调整路径!- 堆栈为此脚本命名为 'stack1'、'stack2'、....):

    input = "C:\\Users\\test\\Pictures\\combine";
    open("C:\\Users\\test\\Pictures\\combine\\stack1.tif");
    rename("combinedStack");
    list = getFileList(input);
    for (i = 1; i < list.length; i++){
      open(list[i]);
      title=getTitle();
      run("Combine...", "stack1="+title+" stack2=combinedStack");
      rename("combinedStack");
    }
    

    【讨论】:

    • 谢谢,您对“否”部分表示担忧。我已经有一个批处理宏正在运行。我只是想看看减少处理时间是否可行。
    • 看看批处理模式加速宏:imagejdocu.tudor.lu/…
    • 是的,我有批处理模式(真);否则我的电脑处理器早就炸了。我确实注意到一件事,如果您合并超过 3 张图像,则必须将它们全部打开然后开始合并过程,否则合并将失败。
    • 添加了代码片段。
    猜你喜欢
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多