我有一个维数为(5000,5000,12)的数组,表示X,Y和颜色。它已经是dtype=uint16了。
我想从这个数组创建一个tiff堆栈,这样我就可以将它加载到ImageJ中。到目前为止我的方法是:
skimage.io.imsave(
'Top4cores.tif', full_small_image,
bigtiff=True, imagej=True, resolution=(1, 1),
metadata={'spacing': 1, 'unit': 'um', 'axes': 'XYC'},photometric='minisblack')不幸的是,这会创建一个带有以下内容的图像:
SizeC = 5000
SizeT = 1
SizeX = 18
SizeY = 5000
SizeZ = 1如何确保我的图像具有正确的坐标?我是否必须导出单个图像,然后将其堆叠起来?
发布于 2021-10-26 15:59:29
skimage.io.imsave在幕后使用tifffile。最近的版本提高了builtins.ValueError: ImageJ hyperstack axes must be in TZCYXS order。要修复此错误,请更新tifffile,反转数组的维数,并使用axes='CYX'
tifffile.imwrite(
'Top4cores.tif',
full_small_image.transpose(),
imagej=True,
resolution=(1, 1),
photometric='minisblack',
metadata={'spacing': 1, 'unit': 'um', 'axes': 'CYX'}
)https://stackoverflow.com/questions/69722338
复制相似问题