如何解决使用Python如何将4维数组21,32,1024,1024保存为tif图像生物医学
我想在tiff文件中保存一堆数组,以便显微镜软件可以在通道和z平面中将其读取为图像。因此,这是一个4维数组:(21,32,1024,1024)。但是我找不到办法。
例如,使用io.imsave(os.path.join(outpath),stack2)
,此图像将保存为一堆单独的图像,但不会保存在代表21个z平面的32个通道的集合中。
您知道实现这一目标的任何方法吗?
解决方法
由于TIFF规范不处理多通道Z堆栈,因此需要将其他元数据与图像数据一起保存。有两种常见的元数据格式:OME-TIFF和ImageJ hyperstacks用于在TIFF中保存ZCYX图像以进行生物成像。 OME-TIFF得到更多软件的支持。 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。