2016-11-16 161 views
1

我有两个tiff堆栈,其延时数据对应于显微镜实验中获取的不同通道。我想将它们合并成一个有两个通道的单个堆栈。两个堆栈都是16位灰度。将两个单通道TIFF堆栈结合到单个多通道堆栈

当我使用:

convert stack1.tiff stack2.tiff stack_merged.tiff 

我得到一个单一的,而是连结文件有两个堆栈此起彼伏。

链接到file 1file 2

+0

不知道你的任期* “堆栈” *?一个“堆栈”是否在不同时间保存红色通道的多个图像,而另一个“堆栈”保存在同一时间,例如绿色通道?你能提供样品吗? –

+0

这是否给你你想要的第一个图像? 'convert stack1.tiff [0] stack2.tiff [0] -channel RG -combine result.tif' –

+0

@MarkSetchell是的,堆栈包含在不同时间点在一个颜色通道中记录的多个图像。我编辑了问题以包含示例文件。建议的代码产生一个时间点的3个通道,这不是我所追求的。 – mattek

回答

1

我想你需要的东西是这样的:

#!/bin/bash 

# Get index of last frame in TIFF image 
last=$(convert stack1.tif -print "%[fx:n-1]" null:) 

# Combine all frames 
for i in `seq 0 $last`; do 
    convert stack1.tif[$i] stack2.tif[$i] -combine miff:- 
done | convert miff:- -compress lzw result.tif 
+1

几乎在那里,除了它创建RGB通道。有什么办法来限制转换为2个通道?转换通道RG ...仍然产生全部3个通道,最后一个通道为空。 – mattek

+0

我已经改进了我的原始答案一点 - 在堆栈和压缩输出文件中的图像数量方面更加灵活,但我仍然试图弄清楚如何执行双通道图像... –

+1

不确定它是否是可能... http://www.wizards-toolkit.org/discourse-server/viewtopic.php?t=16843#p62610 –