如何放大20倍(.SVS整张幻灯片)到40倍幻灯片?



我有一个完整的幻灯片。SVS格式),以20倍的速度扫描。对于我的问题,我想把幻灯片和幻灯片元数据一起放大到40倍。我通过openslide, NumPy, cv2, and vips命令的组合进行了尝试。对于较小尺寸的幻灯片,我可以做到这一点,但对于较大尺寸的幻灯片,我不能做到这一点。是否有一种直接的方法可以实现这一点?

我遵循了以下步骤

  1. 打开幻灯片和NumPy读取幻灯片。
  2. cv2创建png升级后的。png图像。
  3. vips vips2tiff命令转换。png为。svs文件。

我只使用libvipsresize。例如:

$ vipsheader CMU-1.svs 
CMU-1.svs: 46000x32914 uchar, 4 bands, srgb, openslideload
$ /usr/bin/time -f %M:%e vips resize CMU-1.svs x.tif[compression=jpeg,tile,pyramid] 2
673804:80.56
$ vipsheader x.tif
x.tif: 92000x65828 uchar, 3 bands, srgb, tiffload

80和680mb的内存来制作x.tif,一个平铺的,金字塔形的,jpeg压缩的TIFF。libvips不能写SVS文件,但这将非常接近。默认情况下,它将使用双三次插值器进行放大。

在Python中使用pyvips:

import pyvips
x = pyvips.Image.new_from_file("CMU-1.svs")
x = x.resize(2)
x.write_to_file("x.tif", compression="jpeg", tile=True, pyramid=True)

最新更新