我不确定'hyperstack to stack'函数是否是您想要的。超stack是简单的多维图像,可以是4D或5D(宽度、高度、切片、通道(例如,3个用于RGB)和时间帧)。在ImageJ中,每个维度都有一个滑块。在
堆栈只是以某种方式相关的堆叠二维图像,而您只有一个滑块,在最简单的情况下,它表示三维数据集中的z切片。在
'hyperstack to stack'函数将在hyperstack中堆叠所有维度。因此,如果你有一个3个通道,4个切片和5个时间帧(3个滑块)的hyperstack,你将得到一堆3x4x5 = 60图像(一个滑块)。基本上和你上面提到的在每个通道上滑动通过焦平面是一样的。您可以使用'stack to hyperstack'进行另一种方法,通过定义堆栈中的哪些切片表示哪个维度来生成一个超堆栈。在我上面提到的示例文件中,只需选择orderxyzct,3个通道和7个时间点。在
因此,如果你的tiff文件有2个滑块,它似乎是一个高,宽,30切片和3个通道的4D超stack。'hyperstack to stack'将所有维度堆叠在一起,因此您将得到3x30=90 slices。在
然而,根据skimage tiff阅读器,你的tiff文件似乎是某种5D超stack。宽度、高度(1024x1024)、30个z切片、3个通道(RGB)和另一个包含3个条目的维度(例如时间帧)。在
为了找出问题所在,我建议将维度与skimage中得到的数组的3个条目进行比较。找出其中一个代表RGB通道,另一个代表什么。例如,可以使用pyqtgraph的image函数:import pyqtgraph as pg