使用 Python。如何将 4 维数组 (21,32,1024,1024) 保存为 tif 图像。生物医学
Using Python. How to save a 4 dimension array (21,32,1024,1024) as a tif image. biomedicine
我想将一堆阵列保存在一个 tiff 文件中,这样显微镜软件就可以在通道和 z 平面中将其读取为图像。所以这是一个 4 维数组:(21,32,1024,1024)。但是我没有找到方法。
例如使用:io.imsave(os.path.join(outpath), stack2)
,这被保存为一堆单独的图像,而不是代表 21 个 z 平面的 32 个通道的组。
你知道有什么方法可以实现吗?
由于 TIFF 规范不处理 multi-channel Z 堆栈,额外的元数据需要与图像数据一起保存。在 bio-imaging 的 TIFF 中保存 ZCYX 图像有两种常见的元数据格式:OME-TIFF and ImageJ hyperstacks. OME-TIFF is supported by more software. Tifffile 可以读取和写入两种格式:
import numpy
from tifffile import imwrite
image = numpy.zeros((21, 32, 1024, 1024), dtype='uint16')
# write OME-TIFF
imwrite('zcyx.ome.tif', image)
# write ImageJ hyperstack
imwrite('zcyx.tif', image, imagej=True)
我想将一堆阵列保存在一个 tiff 文件中,这样显微镜软件就可以在通道和 z 平面中将其读取为图像。所以这是一个 4 维数组:(21,32,1024,1024)。但是我没有找到方法。
例如使用:io.imsave(os.path.join(outpath), stack2)
,这被保存为一堆单独的图像,而不是代表 21 个 z 平面的 32 个通道的组。
你知道有什么方法可以实现吗?
由于 TIFF 规范不处理 multi-channel Z 堆栈,额外的元数据需要与图像数据一起保存。在 bio-imaging 的 TIFF 中保存 ZCYX 图像有两种常见的元数据格式:OME-TIFF and ImageJ hyperstacks. OME-TIFF is supported by more software. Tifffile 可以读取和写入两种格式:
import numpy
from tifffile import imwrite
image = numpy.zeros((21, 32, 1024, 1024), dtype='uint16')
# write OME-TIFF
imwrite('zcyx.ome.tif', image)
# write ImageJ hyperstack
imwrite('zcyx.tif', image, imagej=True)